Tree-Wizard

Top  Previous  Next

User interface > Main menu > Menu: Help > Wizards > Tree-Wizard

 

The tree wizard simplifies the creation of tree nodes for several scripts. In contrast to the parameter wizard, the tree wizard can create code too, which inserts the node parameters into a whole tree. For complete projects this wizard also can insert actions for the creation of nodes for the pure literal tokens and the wizard can pass the nodes as calling parameters to the called productions and tokens.

All this is useful for the generation of parse trees and their evaluation by function tables. For the latter there is an extra wizard. In the help for the function table wizard there are some additional explanations of the background for the work with parse trees.

 

If you choose the option, to create nodes inside of productions, for the example of a single production:

 

A ( ) ::= (_a | "b" ) ( A | B )

 

the result, that is produced, if the option "for all productions and tokens" is chosen,  looks like:

 

A ( node& xn ) ::=

 

{{

node n("A");

xn.addChildLast(n);

}}

(

   _a[n]

  | "b"  {{n.add( "LITERAL", State.str() );}}

)

(

    A[n]

  | B[n]

)

 

The automatic generation of the code - in the example "[n]" - to pass the node to the called productions and tokens  is only possible if the option: "for all productions and tokens"or "complete" is chosen.



This page belongs to the TextTransformer Documentation

Home  Content  German