Nachbesserung: '{' und '}' in Strings |
Top Previous Next |
Beispiele > Guard > Nachbesserung: '{' und '}' in Strings
Eine Komplikation ergibt sich, wenn geschweifte Klammern innerhalb eines in Anführungszeichen gesetzten Textes vorkommen, z.B. "{" oder "[{}]". Diese Zeichen würden dann fälschlich als öffnende oder schließende Klammer eines Code-Blocks interpretiert werden. Die Alternativen innerhalb eines Blocks müssen daher um Strings erweitert werden:
STRING "([^"]|\\")*"
Die block-Regel und entsprechend die outer_block Regel sehen dann so aus:
"{" {{ print_at_enter(xState); }} ( block {{ out << xState.lp_copy(); }} | STRING {{ out << xState.copy(); }} | SKIP {{ out << xState.copy(); }} )* "}" {{ print_at_exit(xState); }}
Mit dieser Verbesserung lässt sich auch der Code parsen, den TETRA aus dem guard-Projekt selbst erzeugt.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |