ANTLR JavaScript-Ziel

9

Ich habe ANTLR verwendet, um einen Parser + Baumgrammatik für eine Markup-Sprache mit Java-Ziel zu generieren, die gut funktioniert. Jetzt versuche ich das Ziel in JavaScript zu bekommen, um es in meinem Webbrowser zu verwenden.

Ich konnte jedoch keine gute Dokumentation darüber finden, wie ich das machen könnte. Ich verwende Eclipse mit ANTLR IDE, und wenn ich die Sprache als JavaScript spezifiziere, erhalte ich die folgenden Fehler.

Mehrere Markierungen in dieser Zeile

  • (10): interner Fehler: Gruppe JavaScript erfüllt nicht die Schnittstelle ANTLRCore: nicht übereinstimmende Argumente in diesen Vorlagen [treeParser (Grammatik, Name, Bereiche, Token, TokenNames, globalAction, Regeln, numRules, Bitsets, labelType, ASTLabelType , superClass, Mitglieder, filterMode)]

  • (10): interner Fehler: java.util.NoSuchElementException: kein solches Attribut: filterMode im Vorlagenkontext [treeParser]

Wenn mir jemand dabei helfen könnte oder auf ein Material verweisen könnte, das ich mit ANTLR über das JavaScript-Ziel lesen könnte, wäre es großartig.

Danke

    
Gunner4Life 29.03.2010, 18:49
quelle

4 Antworten

3

Es gibt ein neues JS Lang-Ziel für ANTLR4, das vor fast 3 Monaten auf GitHub veröffentlicht wurde:

antlr / antlr4-javascript

Es ist noch nicht in eine offizielle Version integriert, aber Sie können es wahrscheinlich einfach in die neueste ANTLR4 Codebasis werfen und ANTLR selbst kompilieren.

    
jhyry 09.09.2014 05:27
quelle
0

Sie sollten die neueste Version (3.3) verwenden, in früheren Versionen war das JavaScript-Ziel nicht richtig integriert. Es gibt immer noch einige Fehler, aber Sie können ein funktionierendes Beispiel mit einigen Anleitungen und Links sehen Ссылка

    
Sonia 10.03.2011 12:40
quelle
0

Es scheint so, als ob das JavaScript-Ziel in der 3.4-Distribution erneut unterbrochen ist. 3.3 funktioniert aber gut für mich.

    
NickTee 13.09.2011 01:49
quelle
0

Ich habe versucht, dies zum Laufen zu bringen, und habe es gerade erst geschafft, .js-Dateien erfolgreich zu erstellen, nachdem ich Folgendes gelesen habe:

Ссылка

Von der Post:

So beginnen Sie mit ANTLR und dem JavaScript-Backend:

  1. Herunterladen ANTLRWorks 1.2.2: & lt; Ссылка & gt ;. Das JavaScript-Ziel funktioniert nur, wenn die IDE den Lexer- und Parser-Code generiert (siehe & lt; Ссылка & gt;). Wenn Sie versuchen, ANTLR v3.1 über die Befehlszeile auszuführen, wird der Fehler angezeigt Meldung "error (10): interner Fehler: Gruppe JavaScript erfüllt nicht Schnittstelle ANTLRCore ".
  2. Laden Sie die JS-Laufzeitverteilung herunter: Ссылка
  

Ab diesem Zeitpunkt können Sie mit ANTLRWorks 1.2.2 den Lexer und Parser erzeugen   Code durch Auswahl von "Code generieren" im Menü "Generieren". ANTLRWorks wird   Legen Sie die generierten Dateien in das Verzeichnis output in dem Ordner, in dem   Die Grammatikdatei befindet sich.

Beachten Sie, dass, wenn ein Fehler im Generierungsprozess auftritt, aus irgendeinem Grund Die Aktion "Code generieren" funktioniert nicht mehr. Schließen Sie einfach die Grammatik und Öffnen Sie es erneut über das Menü "Letzte öffnen".

    
beyond-code 01.08.2013 11:11
quelle

Tags und Links