Ich möchte eine domänenspezifische Sprache als erweiterte C++-Sprache entwickeln. Ich benötige hauptsächlich zwei Arten von Konstruktionen:
- Top-Level-Konstrukte für spezialisierte Typen oder Deklarationen
- Code-interne Konstrukte, d.h. Hinzufügen von Primitiven zur Vereinfachung von Funktionsaufrufen oder Idiomen
Die Sprache wird für wissenschaftliche Berechnungen verwendet und soll schließlich in einfaches C++ übersetzt werden. C++ wurde gewählt, da es einen guten Kompromiss zwischen Benutzerfreundlichkeit, Effizienz und Verfügbarkeit einer breiten Palette von Bibliotheken zu bieten scheint.
Ein früherer Versuch mit Flex und Bison scheiterte an der Komplexität der C++-Syntax. Der bestehende Parser kann immer noch bei einigen Konstrukten versagen. Wir wollen also neu anfangen, aber auf einer besseren Grundlage.
Kennen Sie ähnliche Projekte? Und wenn Sie dies versuchen würden, welche Instrumente würden Sie verwenden? Was wären die größten Fallstricke? Hätten Sie Empfehlungen in Bezug auf die Syntax?