Komplexe Vorausschau

Top  Previous  Next

Beispiele > Java > Komplexe Vorausschau

 

In der BlockStatement-Produktion wird die gleiche Produktion zur Vorausschau aufgerufen, die im Erfolgsfall ausgeführt werden soll:

 

IF( LocalVariableDeclaration() )

LocalVariableDeclaration ";"

ELSE

(

   ClassOrInterfaceDeclaration

| Statement

)

END

 

Hier ist Vorsicht geboten: je nachdem, ob in den Projekt-Optionen das Testen aller literaler Token aktiviert ist oder nicht, kann der Aufruf von LocalVariableDeclaration zur Vorausschau verschiedene Ergebnisse liefern. Folgt beispielsweise das Token return als eine der Alternativen von Statement, so wird es als Bezeichner ident erkannt, wenn nicht alle literalen Token getestet werden, sondern nur die Anfängermenge von LocalVariableDeclaration. Damit wiederum würde "return true;" als eine lokale Variablendefinition erkannt werden, was sicherlich verkehrt ist.

 

Anmerkung:

Beim Testen, ob LocalVariableDeclaration auf den aktuellen Text passt können indirekt weitere Vorausschau-Parser aufgerufen werden.



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English