Hallo! Menschenskinder, die Smilies sind witzig, aber auch ein bissl albern
Nein, das wollt ich eigentlich nicht loswerden... also ich hab eine etwas spezifische und vielleicht auch exotische Frage und hoffe auf Anregungen von Euch - am besten von denjenigen, die sprachbewandert sind - firm in Object Pascal und vielleicht auch C++.
Zur Zeit opfere ich meine kostbare Freizeit (also wenn ich nicht studiere
) unter anderem der Programmierung eines Object Pascal Compilers und eben darum soll es hier auch gehen.
Ich habe Tonnen an Infomaterial aus dem Netz heruntergeladen und studiert, habe mir viel über Compilerbau angelesen und auch aufgrund meiner zaghaften Schritte in Sachen Assembler- und Compilerprogrammierung, die ich seit knapp sieben Jahren gegangen bin, auch schon ein gewisses Verständnis für die Technik und die Grundlagen mir angeeignet. Ich bin allerdings weder Informatiker noch Mathematiker, eher so der sprachbegabte Philologe (hust...), weshalb ich mir auch das hochheilige Recht einräume, bei diesem ambitionierten Vorhaben haushoch zu scheitern
Nun ja, für den Interessierten ein paar technische Details, wie bei mir der Stand der Dinge ist:
Es stehen zur Zeit:
1. Tokenizing (bzw. Scanning)
2. Parsing:
noch nicht fertig - Identifier Table schon angelegt, grobe Regelstrukturen vorhanden
3. Fehlerausgabe
Wirkt alles noch nicht so viel, aber da steckt schon ne ganze Menge Knoffhoff drin (man stelle sich jetzt einen Tusch der Band vor).
Mein derzeitiges Problem dreht sich um die
system.pas.
Ich will nämlich prinzipiell alle Grundfunktionen innerhalb der Object Pascal Sprache darin implementieren, ohne irgendwie notbehelfsmäßig im Stile von Turbo Pascal herummauscheln zu müssen.
In gewissen Fällen erfordert dies allerdings eine
Syntaxerweiterung, da sowohl Standard, Extended als auch Object Pascal für diese keine "sprachliche" Lösungen vorsehen.
Wie würdet ihr zum Beispiel den Typ String (ShortString) deklarieren?
Was das angeht, stünde ich auf dem Schlauch, aber vielleicht ist ja in Delphi schon was implementiert, wovon ich nichts weiß. Ich besitze nämlich kein Delphi (bin blank und pleite... so ist das Studentenleben), sondern benutze Virtual Pascal. Also für Hinweise wär ich dankbar.
Welche Erweiterungen / Verbesserungen kämen Euch noch in den Sinn - ohne dabei die Schönheit der Pascal-Sprache aufzubrechen? Ich wär für Vorschläge offen.
Ich liebäugele zum Beispiel, ein paar Kleinigkeiten aus C zu leihen. Zum Beispiel -= += oder auch ++ --
So, ich wär dann gespannt auf Eure Antworten und verzeiht mir, daß ich hier soviel geschrieben hab...