Makros |
Top Previous Next |
Skripte > Tokendefinitionen > Reguläre Ausdrücke > Makros
Die Namen bereits definierter Token können als Makro zur vereinfachten Definition weiterer Token verwendet werden. Hierzu wird der Name in die geschweiften Klammern '{' und '}' eingeschlossen und dieser Ausdruck an der entsprechenen Stelle der neuen Definition eingesetzt. Diesen Ausdruck ersetzt der TextTransformer dann beim Parsen der neuen Definition durch den Definitionstext des ersten Tokens.
Beispiel:
SPACES = [ \t]*
DECLARATOR = (((\w+::)*\w+)::)?(\w+) \ //Scope(s) und Name {SPACES} \ // optionale Leerzeichen \([^)]*\) // Parameter
Vom TextTransformer werden die Zeilen der Tokendefinition intern zu einer einzigen Zeile zusammengezogen. Das ergibt dann:
(\w+::)?(\w+)::(\w+)[ \t]*\([^)]*\)
Die Möglichkeit über den Tokennamen auf andere Tokendefinitionen zu rekurrieren, erlaubt es z.B. eine spezielle Zeichenklasse zu definieren, die dann in verschiedenen Tokendefinitionen verwendet wird.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |