Verwendung von @header in ANTLR

8

Ich habe Probleme, die "@header" - oder eine andere @ -Regel in ANTLR zu verwenden. Mit einer sehr einfachen Grammatik, so:

%Vor%

Dies scheint der ANTLR-Dokumentation und verschiedenen anderen Beispielen online zu entsprechen, aber wenn ich versuche, die Ausgabe über ANTLRWorks v1.4 oder ANTLR jar v3.2 zu generieren, erhalte ich den folgenden Fehler:

  

Die Grammatik kann nicht erzeugt werden, weil:

     

error (100): [Pfad] \ test.g: 11: 1 Syntaxfehler: antlr: [Pfad] \ test.g: 11: 1   Unerwartetes Token: Token {

Was ich nicht erschüttern kann. Ich bin in der Lage, den Lexer und Parser erfolgreich zu erstellen, ohne dass der @ header in der Grammatik enthalten ist. Ich habe die neueste Version von Java unter Windows:

  

Java-Version "1.6.0_22"   Java (TM) SE Laufzeitumgebung (Build 1.6.0_22-b04)   Java HotSpot (TM) Client-VM (Build 17.1-b03, gemischter Modus, Freigabe)

Ich nehme an, das ist etwas einfaches und ich bin einfach blind dafür, also bitte bring die offensichtlichen Antworten mit.

    
Moxen 01.11.2010, 01:56
quelle

1 Antwort

9

Der Fehler liegt darin, dass diese Blöcke in einer bestimmten Reihenfolge angezeigt werden müssen.

  1. Optionen
  2. Token
  3. @ header
  4. @Mitglieder

dann deine Regeln

    
Brad Mace 01.11.2010, 02:08
quelle

Tags und Links