Direkt zum Inhalt

Lexikon der Mathematik: eindeutige Sprache

kontextfreie Sprache, zu der eine eindeutige Grammatik existiert.

Die meisten modernen Programmiersprachen sind eindeutig. Eine klassische Mehrdeutigkeit tritt im Zusammenhang mit der Syntax bedingter Anweisungen auf:

Das Konstrukt if BEDINGUNG then if BEDINGUNG then ANWEISUNG else ANWEISUNG läßt sich durch die Grammatikregeln r1 = (ANWEISUNG,if BEDINGUNG then ANWEISUNG), r2 = (ANWEISUNG,if BEDINGUNG then ANWEISUNG else ANWEISUNG) einerseits als ANWEISUNG \({\Rightarrow }^{{r}_{1}}\) if BEDINGUNG then ANWEISUNG \({\Rightarrow }_{2}^{r}\) if BEDINGUNG then if BEDINGUNG then ANWEISUNG else ANWEISUNG ableiten (was eine Zugehörigkeit des else zum zweiten if festlegt), und andererseits als ANWEISUNG \({\Rightarrow }^{{r}_{2}}\) if BEDINGUNG then ANWEISUNG else ANWEISUNG \({\Rightarrow }^{{r}_{2}}\) if BEDINGUNG then if BEDINGUNG then ANWEISUNG else ANWEISUNG (was eine Zugehörigkeit des else zum ersten if festlegt).

In Sprachdefinitionen, die unter dieser Mehrdeutigkeit leiden (z. B. PASCAL oder C) wird die Mehrdeutigkeit durch Zusatzfestlegungen aufgelöst, die nicht Bestandteil der Grammatik selbst sind.

Lesermeinung

Wenn Sie inhaltliche Anmerkungen zu diesem Artikel haben, können Sie die Redaktion per E-Mail informieren. Wir lesen Ihre Zuschrift, bitten jedoch um Verständnis, dass wir nicht jede beantworten können.

  • Die Autoren
- Prof. Dr. Guido Walz

Partnervideos