Placeholder

Top  Previous  Next

Scripts > Token definitions > Placeholder

 

Placeholder tokens get their meaning from the input text. Parts of text - mostly words -, which are recognized by a general regular expression, can be assigned to a placeholder token. If the same part of texts exists at a following position in the text again, the placeholder token now can recognize it.

 

You can assign an arbitrary number of literal expressions to a placeholder token.  If several literals are assigned, they build a sequence of alternatives. Only one of them can match a text at a certain position.

 

Dynamic tokens are only tested, if they are expected as a possible alternative.

 

Independently of the project settings placeholder tokens always are case sensitive and the word boundary option is set.

 

 

A placeholder token is defined by the expression:

 

{DYNAMIC}

 

The expression {DYNAMIC} is a keyword and will not be interpreted as a macro by the TextTransformer.

 

The assignment of a literal expression is done in a semantic action by the command: AddToken.

 

Example:

 

Variables, which are declared in a programming code with a certain type, can be assigned to a placeholder for that type. In the code that follows, the type of the variable is known.

 

ID ::=  \w+

INTEGER ::= {DYNAMIC}

 

"int"

(

ID

{{

AddToken( xState.str(), "INTEGER" ); 

// assigns the found identifier to INTEGER

}}

","

)*

 

";"

 

 

INTEGER

 

If ID recognizes the names : i1, i2 and i3, at a following position i1 or i2 or i3 can be recognized as an INTEGER. INTEGER now has the meaning of a token, which would be defined as: i1|i2|i3

 

Remark: The extension of a placeholder token by an additional literal has no effect on the recognitions of a preceding SKIP symbol. 

 

 



This page belongs to the TextTransformer Documentation

Home  Content  German