Zirkularitätstest

Top  Previous  Next

Grammatiktests > Zirkularitätstest

 

Kein Nonterminal darf direkt oder indirekt von sich selbst abgeleitet sein. Die folgende Produktion wäre ein Beispiel für eine Regel, die dieses Prinzip verletzt:

 

Circular1 ::= Circular2 | "T"

Circular2 ::= Circular1 | "T"

 

 

Das Parsen dieser Regeln ergibt die Fehlermeldungen:

 

Zirkuläre Ableitung: "Circular1" . "Circular2"

Zirkuläre Ableitung: "Circular2" . "Circular1"

 

 

Anmerkung:

 

Folgende Regeln ergeben hingegen die Fehlermeldungen, dass sie nicht terminalisierbar seien.

 

Circular1 ::= Circular2

Circular2 ::= Circular1

 

Der Terminalisierbarkeitstest wird vor dem auf Zirkularität ausgeführt und beim Auffinden einer Zirkularität wird die weitere Analyse abgebrochen.

 

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English