Execution step by step
|Top Previous Next|
User interface > Debugging and executing > Execution step by step
The execution step by step is useful, to find positions, where errors (bugs) might occur.
You can execute the recognition or action of each node of the syntax tree. The node, that will be executed next is marked in yellow color.
At each step is tested, if the text, which follows the already parsed text, is matched by one of the token of the first set of the actual node. If this is not the case, the parsing has failed and will be stopped with an error message. If a matching token is found, the next node will be marked.
What is the next node depends on the kind of step you make.
Next token (F6)
The rules are executed to the next terminal node. There might be some branches and semantic actions performed until there. The actions are executed if the interpreter is enabled.
Back to the last token (Shift + F6)
You can go back virtually to the previous token by this button. Semantic actions aren't undone. When making progress once more no semantic actions are executed, until the position which was already achieved is exceeded.
Step into (F7)
The child nodes of a production, an option, a repeat or an alternative will be executed one by one. Depending on the position of the actual, yellow marked node, there are following possibilities:
a) If the actual node represents a branch (option, repeat or alternative), the debugger will step into the first child node.
b) If the actual node represents the call of a production, the debugger will jump to the representation of that production.
c) If the actual node represents a terminal symbol, that is a leaf in the tree, the execution will lead to the following node (below), if there is a node. Otherwise, the terminal node is the end of a chain and the step will lead to the node behind the parent of the terminal.
Single step back (Shift + F7)
You virtually can go back one step by this button. Semantic actions aren't undone. When making progress once more no semantic actions are executed, until the position which was already achieved is exceeded.
Step over (F8)
In this mode a whole branch is executed. The result is the same as a Step into, if the current node is a terminal node or represents a semantic action. If the current node represents a whole structure, this is executed in one step.
This page belongs to the TextTransformer Documentation
|Home Content German|