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