Aufgaben Logische Programmierung
Aufgaben Logische Programmierung
Aufgaben Logische Programmierung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Die folgende Aufgabe befasst sich mit dem Problem der Syntaxanalyse (englisch: parsing). Dabei<br />
geht es darum, Sätze in einer natürlichen Sprache (z.B. in Deutsch oder Englisch) oder Ausdrücke<br />
in einer formalen Sprache (z.B. in einer Programmiersprache geschriebene Programme)<br />
zu analysieren, d.h. in ihre Bestandteile zu zerlegen. Hierzu hat der Sprachwissenschaftler und<br />
Informatiker Noam Chomsky seine Grammatiken eingeführt. Insbesondere von Interesse sind hier<br />
die sogenannten kontextfreien Chomsky-Grammatiken.<br />
Nehmen wir hierzu als Beispiel (aus dem Buch „Programming in Prolog“ von Clocksin und<br />
Mellish) den Satz<br />
Der Mann isst den Apfel.<br />
Dieser Satz besteht aus zwei Teilen, und zwar aus einer Nominalphrase „der Mann“ und aus<br />
einer Verbalphrase „isst den Apfel“. Ein Satz kann also bestehen aus einer Nominalphase gefolgt<br />
von einer Verbalphrase. Wir schreiben das als Grammatikregel<br />
satz --> nominalphrase, verbalphrase.<br />
Die Nominalphrase „der Mann“ wiederum besteht aus einem Artikel „der“ und einem Nomen<br />
„Mann“ gemäß der Grammatikregel<br />
nominalphrase --> artikel, nomen.<br />
Die Verbalphrase „isst den Apfel“ besteht aus dem Verb „isst“ und der Nominalphrase „den<br />
Apfel“ gemäß der Grammatikregel<br />
verbalphrase --> verb, nominalphrase.<br />
Die Nominalphrase „den Apfel“ besteht aus dem Artikel „den“ und dem Nomen „Apfel“ gemäß<br />
der oben bereits erwähnten Grammatikregel<br />
nominalphrase --> artikel, nomen.<br />
Auch für die Vokabeln verwenden wir Grammatikregeln. Z.B. schreiben wir<br />
nomen --> [apfel].<br />
Die eckigen Klammern dienen der Unterscheidung zwischen grammatikalischen Begriffen wie<br />
satz, nominalphrase, verbalphrase usw. und Vokabeln wie der, mann, apfel usw. Insgesamt<br />
haben wir die folgende kontextfreie Chomsky-Grammatik (Datei mannisstapfel_gr.pl).<br />
satz --> nominalphrase, verbalphrase.<br />
nominalphrase --> artikel, nomen.<br />
verbalphrase --> verb, nominalphrase.<br />
artikel --> [der].<br />
artikel --> [den].<br />
nomen --> [mann].<br />
nomen --> [apfel].<br />
verb --> [isst].<br />
18