Kontextfreie Grammatiken


Nicht alle Anforderungen und Probleme lassen sich mit formalen Sprachen so einfach lösen bzw. beschreiben. Man greift deshalb aus kontextfreie Grammatiken zurück, die eine Erweiterung der regulären Grammatiken darstellen.

Eine kontextfreie Grammatik G = (N, T, S, P) baut sich aus den vier folgenden Bestandteilen auf: Bei den Nichtterminal- und Terminalsymbolen gilt zudem, das kein Zeichen in beiden Alphabeten vorkommen darf: N ∩ T = ∅

Auf der linken Seite einer Produktion darf immer nur ein Nichtterminalsymbol sein. Daraus ergibt sich, dass bei einem Ableitungsschritt nie ein Terminalsymbol ersetzt wird. Wo nämlich ein Terminalsymbol steht, „ist die Ableitung zu Ende“.



Zitat:



Edsger Wybe Dijkstra:

"Als es noch keine Computer gab, gab es auch das Programmieren als Problem nicht. Als es dann ein paar leistungsschwache Computer gab, wurde das Programmieren zu einem kleinen Problem und nun, wo wir leistungsstarke Computer haben, ist auch das Programmieren zu einem riesigen Problem angewachsen. In diesem Sinne hat die elektronische Industrie kein einziges Problem gelöst, sondern nur neue geschaffen." - The Humble Programmer, ACM Turing Lecture 1972