Projektbericht - Zentrum Mensch-Maschine-Systeme - TU Berlin
Projektbericht - Zentrum Mensch-Maschine-Systeme - TU Berlin
Projektbericht - Zentrum Mensch-Maschine-Systeme - TU Berlin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.2 Grammatik<br />
Entwicklung einer Grammatik für die Flugsicherungs-Phraseologie<br />
Eine Grammatik ist ein Regelwerk, nach dem Elemente einer Sprache miteinander zu einer<br />
Aussage kombiniert werden, die syntaktisch korrekt aufgebaut sind. Hierbei ist keine<br />
Unterscheidung von sinnvollen und sinnlosen Texten vonnöten.<br />
Sie soll eine endliche Beschreibung haben, d.h. die Überprüfung, ob ein Text ein syntaktisch<br />
korrektes Programm ist, muss effizient möglich sein ( Compiler soll funktionieren,<br />
syntaktische Konstrukte sollen möglichst einfach wieder auflösbar sein).<br />
Das Ziel einer Grammatik ist es, aus dem Startsymbol durch Anwendung von<br />
Ersetzungsregeln Ketten zu erzeugen, die nur aus terminalen, also nicht weiter ersetzbaren<br />
Symbolen bestehen. Sie lassen sich auch als Termersetzungssysteme auffassen. Die Menge<br />
der syntaktisch korrekten Programme, also die Sprache, wird top-down beschrieben.<br />
Ausgehend von einem Startsymbol S können Regeln angewendet werden, mit denen Texte<br />
erzeugt werden.<br />
Unter Verwendung zahlreicher geschriebener Texte wird ein Modell erzeugt, in dem<br />
wiedergegeben wird, wie oft ein Wort in Verbindung mit anderen Worten auftritt. Die Texte<br />
werden analysiert, um die Auftrittswahrscheinlichkeit zu ermitteln, mit der ein bestimmtes<br />
Wort auf ein anderes folgt, beziehungsweise mit der es am Satzanfang oder Satzende steht.<br />
Sobald man anfängt zu sprechen, analysiert die Software das Gesagte. Es entsteht ein Baum<br />
mit Wahrscheinlichkeiten für alle möglichen Kombinationen der erkannten Phoneme und die<br />
daraus resultierenden Worte.<br />
Ein Beispiel einer Grammatik ist die Chomsky Grammatik. In den 50-er Jahren begann Noam<br />
Chomsky vier Grammatiktypen als mögliche Modelle für Grammatiken natürlicher Sprachen<br />
anzugeben .<br />
Das Kriterium für die Aufteilung ist dabei, wie eine Regel einer Grammatik der<br />
entsprechenden Chomsky-Stufe aussehen darf, was also links und rechts des<br />
Ableitungszeichens stehen darf. Es lässt sich aber auch zeigen, dass mit den verschiedenen<br />
Grammatiken auch tatsächlich verschieden "starke" Sprachen ausgedrückt werden können,<br />
d.h. die Aufteilung nach Grammatikregeln hat sehr wohl auch Auswirkung auf die<br />
Ausdrucksfähigkeit der Sprachen.<br />
Bedeutung der Grammatik für die Compiler<br />
Eine wesentliche Rolle spielen im Compilerbau die kontextfreien Sprachen, deren Syntax<br />
durch kontextfreie Grammatiken beschrieben werden kann. Dies mag bei näherem Hinsehen<br />
verwundern, denn Kontextabhängigkeiten gibt es in den gebräuchlichen<br />
Programmiersprachen genügend viele. Ein Beispiel:<br />
In C gilt das Prinzip ,,declare before use``: Jeder Bezeichner muss vor seiner ersten<br />
Verwendung deklariert werden .Diese Regel ist syntaktischer Natur, geht aber aus keiner<br />
Grammatik für die Sprache hervor. Warum nicht ?<br />
Der Spezifikationsmechanismus der kontextfreien Grammatiken ist dafür nicht mächtig<br />
genug. Nur mit komplizierten kontextabhängigen Regeln ließe sich das ,,declare before use``-<br />
Prinzip spezifizieren. Für kontextabhängige Grammatiken gibt es aber keine praktikablen<br />
Analyseverfahren (zu kompliziert, zu langsam). Daher beschreibt man die Syntax einer<br />
Programmiersprache wie folgt: In einer kontextfreien Grammatik beschreibt man den Großteil<br />
der syntaktischen Anforderungen. Alles, was sich nicht mit kontextfreien Regeln beschreiben<br />
lässt, wird außerhalb der Grammatik, quasi als ,,Nebenabrede`` (meist informal) ergänzt.<br />
Manchmal werden auch Dinge, die sich an für sich kontextfrei beschreiben ließen, aus der<br />
Grammatik herausgenommen, um diese nicht zu komplex zu machen.<br />
22