Ich habe endlich begonnen, die Komplexität zu verstehen, die hinter dem Erstellen eines Interpreters und eines Compilers steckt. Ich habe mehrere Versionen von TinyBasic, 1964 (Dartmouth) Basic und meine eigenen Erweiterungen für diese Sprachen erstellt, bevor ich zu diesem Punkt komme. Das jüngste Projekt ist eines, das ich Open Source Basic nenne ... weil ich mir keine anderen Merkmale der Sprache vorstellen konnte, die die Leute interessieren würden. In der Lage zu sein, die Quelle der Sprache zu öffnen und zu verstehen, wie einige komplexe Dinge getan werden (wie gescannt, analysiert, interpretiert und kompiliert wird)
Open Source Basic wird zunächst in eine stapelbasierte Sprache interpretiert. Diese stapelbasierte Sprache wird dann sofort interpretiert und ausgeführt oder in eine ausführbare CLR-Datei umgewandelt.
Meine Fragen laufen alle darauf hinaus:
- Was sind die grundlegenden Funktionen / Konstrukte einer Basic-basierten Sprache? Ich habe bereits diese grundlegenden Konstrukte: Zuweisungen, Ausdrücke, Variablen, einige Funktionen (Random, ToUpper, ToLower), Looping (für und während / bis), If (Block und einzeilig) Sonst Entscheidungen, konsolenbasierte Eingabe (Eingabe) ) und Ausgabe (Drucken) und Unterroutinen (noch ohne Parameter).
- Wenn ich mit dem Hinzufügen der Grundkonstrukte zu meiner Sprache fertig bin - wie soll ich mich verzweigen? In welche Domain (s)? Mit anderen Worten, welche Richtung (en) sollte meine Open Source-Basissprache einschlagen, wenn alle generischen Konstrukte funktionieren?
Vielen Dank für Ihre Zeit,
Dominick