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 |