Autor Beitrag
Fpstefan
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 11.08.12 02:57 
Hallo.
Mit Delphi XE2 habe ich einen Interpreter für Function-level Programme zusammengestellt.
Wer an die Ursprünge von John Backus zu diesen Thema interessiert ist :arrow: dl.dropbox.com/u/170...ingaward_lecture.pdf
Die Idee habe ich etwas abgewandelt, es gibt Operatoren und Funktionen und es gibt die Definition von neuen Funktionen
/ Operatoren. Die Operatoren haben immer die Infixnotation.
Beispiele:

f + g (Addition)
f * g (Multiplikation)
f , g (cons-Verkettung)
f o g (Funktionsverkettung)
x & (Konstante)
name == term (Definition)

In dem Bild habe ich noch weitere Beispiele:
user defined image

Eine zip-Datei liegt als Download vor :lupe: zip-Download (zip, 3.69 MB) und eine setup-Datei :welcome: setup-Download (exe, 3.83 MB)

Und ein wichtiges Prinzip ist die Regel recht-vor-links auch rechts-Assoziation genannt.

UPDATE: Ich habe einen Öffnen-Dialog eingebaut, um Skripte hinzuzuladen, und ein Werbebanner.

Gruß Stefan
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Fpstefan am Sa 26.01.13 22:26, insgesamt 2-mal bearbeitet
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 11.08.12 12:46 
Hallo,
user profile iconFpstefan hat folgendes geschrieben Zum zitierten Posting springen:
Mit Delphi XE2 habe ich einen Interpreter für Function-level Programme zusammengestellt.

obwohl ich keine Ahnung davon habe, was ein Interpreter für Function-level Programme ist, bin ich immer offen für alles mir Unbekannte. Schließlich will man ja auch etwas lernen. Nach de.wikipedia.org/wik...l_Programming_System usw. ahne ich ungefähr, worum es geht. :nixweiss:

Seit mehr als 2 Stunden versuche ich nun, Deinem Programm irgendetwas zu entlocken. Ich schaffe es nicht.
Kannst Du bitte erklären, wie ich Deine mitgelieferten Beispieldateien (*.fp) in Dein Programm hineinbekomme und wie ich dann die geladene Datei abarbeite. Bis ich durch Zufall mitbekam, dass ein rechter Mausklick auf das Logo ein Menü anzeigt, hat es auch schon etwas gedauert. Dort gibt es aber keine Möglichkeit eine Beispieldatei zu öffnen.
Mein "erfolgreichster" Versuch ohne ständige Exception-Meldungen war bisher
ausblenden Quelltext
1:
2:
file::'primzahlen'
(file :: 'primzahlen')

Schon
ausblenden Quelltext
1:
2:
input : file
(exception :: 'STOP')

brachte wieder eine Fehlermeldung. Ich stelle mich einfach zu blöd an. :(
Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Fpstefan Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 11.08.12 15:13 
Hallo Mathematiker,

Zitat:
Kannst Du bitte erklären, wie ich Deine mitgelieferten Beispieldateien (*.fp) in Dein Programm hineinbekomme und wie ich dann die geladene Datei abarbeite.


Zugegeben ich war ein bischen faul was Dokumentation betrifft.
Die *.fp Dateien sind Skripte im .txt oder .rtf Format, die werden in Windows per Drag-and-Drop auf die Auswerter-Datei (FPrlite.exe) gezogen; dann arbeiten die sich schon ab und geben das Ergebnis als Grafik oder Text aus.
Das Textfeld kann man wie eine Console verwenden und zB folgenden Text eingeben:

last == (nilp o tail) -> 1 ; last o tail

und dann <Return-Taste> übernimmt den Text. Um "last" auszuprobieren kann man eingeben:

last : (list :: aa bb cc dd ee)

und dann <Return-Taste> wertet den Text aus.
Mit einem Mausklick auf das Banner mit dem Logo, kann man zB Dump auswählen, dann werden alle Definitionen
angezeigt und "last == ..." zB auch.

(f o g) : x entspricht f(g(x)) das ist das besondere am Function-level Programming.

Gruß Stefan
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 11.08.12 22:01 
user profile iconFpstefan hat folgendes geschrieben Zum zitierten Posting springen:
Die *.fp Dateien sind Skripte im .txt oder .rtf Format, die werden in Windows per Drag-and-Drop auf die Auswerter-Datei (FPrlite.exe) gezogen; dann arbeiten die sich schon ab und geben das Ergebnis als Grafik oder Text aus.

Ich habe unter Vista und Windows 7 zum einen aus dem Windows Explorer zum anderen aus dem Windows-Commander versucht eine *.fp-Datei per Drag-und-Drop auf pfrlite zu ziehen. Es geht nicht. Das Programm nimmt die Datei nicht an.
Dann habe ich eine *.fp-Datei in *.txt umbenannt; mit dem gleichen Ergebnis.
Dann habe ich versucht, den Inhalt einer *.fp-Datei mit Kopieren und Einfügen in das Programm zu bekommen. Geht leider auch nicht.
Tut mir leid, dass ich nichts Erfreulicheres sagen kann.
Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Fpstefan Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 11.08.12 23:33 
Hallo Mathematiker,

Zitat:
Ich habe unter Vista und Windows 7 zum einen aus dem Windows Explorer zum anderen aus dem Windows-Commander versucht eine *.fp-Datei per Drag-und-Drop auf pfrlite zu ziehen. Es geht nicht. Das Programm nimmt die Datei nicht an.


Das hört sich ja nicht gut an. Da ich WindowsXP verwende ist mir das noch nicht aufgefallen.
Ich werde dem Problem nachgehen. Danke für diesen wichtigen Hinweis.

Gruß Stefan
Fpstefan Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 26.01.13 22:50 
Hallo,

da es wohl Probleme mit dem Laden von Skripten unter Windows7 und Vista gab,
habe ich ein Öffnen-Dialog in das Programm eingearbeitet. (Klick auf das Banner
mit dem Logo, dann im Popupmenü)
Dann kann man Skripte in das laufende Programm hinzuladen.
Ich hoffe, dass der Dialog keine Probleme unter Windows7 und Vista hat.
Wenn das Programm eine Grafik anzeigt kann man mit ESC wieder in das Console-Feld.
Ich wollte auch ein bisschen Werbung machen und habe ein Werbebanner mit eingebaut.

Gruß Stefan