Circular look-ahead

Top  Previous  Next

Grammar tests > Circular look-ahead

 

A look-ahead cannot be executed, if it is circular

 

E.g. the following look-ahead would be obviously circular:

 

expression ::=

IF( expression() )

... 

 

In the look-ahead expression is tested again and in this test once more etc..

 

However, the circularity also can be hidden like in the following productions:

 

expression ::=

IF( factor() )

... 

 

factor ::=

IF( expression() )

... 

 

TETRA tries to detect such circularities and creates according error messages.

As an additional security procedure the stack is limited for the look-ahead productions.



This page belongs to the TextTransformer Documentation

Home  Content  German