Ich möchte einen Übersetzer zwischen zwei Sprachen schreiben, und nach einigem Lesen im Internet habe ich mich entschieden, mit ANTLR zu gehen. Ich musste es von Grund auf lernen, aber abgesehen von einigen Problemen mit der Beseitigung der linken Rekursion lief alles gut bis jetzt.ANTLR vs. Happy vs andere Parser-Generatoren
Allerdings sagte mir heute ein Typ, ich solle Happy, einen Haskell-basierten Parser-Generator, ausprobieren. Ich habe kein Haskell-Wissen, also könnte ich einen Ratschlag verwenden, wenn Happy tatsächlich besser ist als ANTLR und ob es sich lohnt, es zu lernen.
Konkret geht es mir darum, dass mein Übersetzer die Makrosubstitution unterstützen muss, von der ich in ANTLR noch keine Ahnung habe. Vielleicht in Happy ist das einfacher zu tun?
Oder wenn andere Parser-Generatoren noch besser sind, würde ich mich freuen, von ihnen zu hören.
Wenn Sie in der Lage sind zu sagen, ist die nützlichste Information, die Sie jetzt zur Verfügung stellen können Antwort auf "Was sind die Ausgangs- und Zielsprachen?" –
@ 280Z28 Sie sind in Haus Sprachen erstellt. Sie sind Java ähnlich, mit dem Unterschied, dass eine Klasse Makrodefinitionen enthalten kann und innerhalb der Methoden die Makros erweitert werden müssen. – Gabriel
Inzwischen habe ich herausgefunden, dass mein Problem einfacher ist, als ich ursprünglich dachte. Ich schaffte es mit ANTLR, im Lexer, also brauche ich jetzt nicht dringend Happy oder einen anderen Generator zu lernen. – Gabriel