Grammatiktests

Top  Previous  Next

 

Ein TETRA-Programm muss bestimmten (für eine sogenannte LL(1)-Analyse erforderlichen) Bedingungen genügen, die im folgenden erklärt werden. Wenn eine der  Bedingungen nicht erfüllt ist, erzeugt TETRA Fehlermeldungen oder Warnhinweise. Im Falle einer Fehlermeldung muss der Fehler behoben werden, bevor das Programm ausgeführt werden oder als Code exportiert werden kann. Im Falle von Warnhinweisen kann das Programm zwar ausgeführt und exportiert werden, es enthält jedoch Mehrdeutigkeiten, die von TETRA aufgelöst werden, indem es automatisch eine der Möglichkeiten auswählt. Generell wählt TETRA bei Mehrdeutigkeiten die bei der Syntaxanalyse zuerst angetroffene Alternative. In seltenen Fällen kann diese Auflösung den Intentionen des Programmautors widersprechen.

 

Im einzelnen muss eine TETRA-Grammatik folgenden Bedingungen genügen:

 

1. Vollständigkeit: Jedes Symbol (Nonterminal) ist durch genau eine Regel definiert und es darf kein Nonterminal geben, das nicht definiert wurde.

 

2. Ableitbarkeit: Jede Regel muss von der Startregel aus erreichbar sein.

 

3. Zirkelfreiheit: Kein Nonterminal darf direkt oder indirekt von sich selbst abgeleitet sein.

 

4. Terminalisierbarkeit: Jedes Nonterminalsymbol muss in Terminalsymbole abgeleitet werden können.

 

5. Eindeutigkeit: Die Grammatik muss LL(1) sein.

 

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English