Translator für eigene Programmiersprache - Welche Zwischensprache?
-
Hallo miteinander,
nach vielen verschiedenen Versuchen und Tests bin ich nun dabei, endlich einen Compiler/Translator für meine Programmiersprache zu schreiben. Der Einfachheit halber möchte ich einfach eine Zwischensprache nutzen, die C(++) wäre. Da meine Ausgangssprache P eine ähnliche Syntax und die gleichen Programmierparadigmen aufweist wie z.B. C# ist es offensichtlich nötig OOP umzusetzen. Dafür habe ich sogar für C Klassen und Exceptions implementiert, die sehr einfach und effektiv funktionieren
Leider fehlen einige weitere Bestandteile, die man noch nachimplementieren kann.Hier meine Frage: Sollte ich C oder C++ als Zwischensprache hernehmen und auf welche Probleme könnte ich dabei stoßen beim Übersetzen (da C++ zumal sehr eigen sein kann :P)? Gehe ich irgendwelche Overkills ein, wenn ich mich falsch entscheide?
Ich freue mich Kommentare von euch zu erfahren.
Gruß,
Christian
-
Schau dir mal llvm.org assembly als mögliche "Zwischensprache" an.
-
mir fallen noch c-- (als Zwischensprache) und treelang (als Suchbeginn um GCC als Backend zu nehmen) ein.
-
Also noch als Hinweis: Ich werde boost::spirit benutzen um meinen Code in die noch auszuwählende Intermediate Language zu überführen

-
Christian Ivicevic schrieb:
Also noch als Hinweis: Ich werde boost::spirit benutzen um meinen Code in die noch auszuwählende Intermediate Language zu überführen

Macht ja nix
Ändert auch nix
Spirit ist ein Parser-Framework, kein Code-Generator-Framework.