Beruflich Dokumente
Kultur Dokumente
Gliederung
1. Einleitung 2. Allgemeine Informationen und Geschichte der kontextfreien Grammatiken 3. Definition der kontextfreien Grammatiken 4. Praktische Anwendung 5. Anwendung der kontextfreien Grammatiken in den Programmiersprachen 6. Anwendung der kontextfreien Grammatiken im Compilerbau 7. Literaturverzeichnis
Regeln
Sprachen
rekursiv aufzhlbar
Entscheidbarkeit -
Regeln
Sprachen
kontextsensitiv
Entscheidbarkeit Wortproblem
Regeln
Sprachen
kontextfrei
Regeln
Sprachen
regulr
Beispiel
Sei G = (N,T,P,S) eine kontextfreie Grammatik mit: T = {x,y,z} N = {S,A,B} P enthlt 4 Produktionen bzw. Produktionsregeln: SA A xAy A xBy Bz
Zur Beschreibung von Programmiersprachen im Compilerbau Extensible Markup Language (XML) und Dokumenttypdefinitionen (DTD)
Bei Programmiersprachen verwendet man das Nichtterminalzeichen <Program> als Startsymbol Automatische Erzeugung eines Algorithmus (sog. Parser) zur Lsung eines Wortproblems in kurzer Zeit (oft aus einer erweiterten Backus-Naur-Form /EBNF/) Backus-Naur/EBNF/ Die Syntax einer Programmiersprache wird durch eine kontextfreie Grammatik definiert, der man Zusatzbedingungen hinzufgt Die Eindeutigkeit der EBNF einer Programmiersprache muss getrennt nachgewiesen werden (diese Eigenschaft ist unentscheidbar)
Beispiel
Die folgenden Zeilen enthalten einige Produktionen einer kontextfreien Grammatik G zur Beschreibung einer kleinen Programmiersprache in der sog. Backus-Naur-Form: Backus-Naur<Anweisungsfolge> ::= <Anweisung> ; <Anweisungsfolge> | <Anweisung> <Anweisung> ::= <Zuweisung> | <While-Anweisung> | ... <While<Zuweisung> ::= <Bezeichner> := <arithmetischer Ausdruck> <While-Anweisung> ::= Whilewhile <logischer Ausdruck> do <Anweisungsfolge> od
Die wesentlichen Teile der Syntax von Programmiersprachen werden meist mit kontextfreien Grammatiken beschrieben Die nicht-kontextfreien Anteile der Syntax werden in der nichtanschlieenden semantischen Analyse berprft Die semantische Analyse erfolgt mit Hilfe kontextsensitiver Grammatiken
Literaturverzeichnis
http://de.wikipedia.org/wiki/Kontextfreie_Grammatik, 02.05.2011 http://www.informatik.uni-bremen.de/theorie/teach/lehre /thi1/ http://www.informatik.uniWS1011/Folien/ KFGbeamer.pdf, 04.05.2011 http://www.fmi.uni-stuttgart.de/fk/mitarbeiter/claus/ http://www.fmi.uniInformatik_I-II_Kap_0-14_0Informatik_I-II_Kap_0-14_0-2256_2x2.pdf, 05.05.2011 http://www.ips.cs.tu-bs.de/struck/progfor08/einfuehrung.pdf, http://www.ips.cs.tu05.05.2011 http://lehre.hki.uni-koeln.de/seminare/ http://lehre.hki.unibasisinformationstechnologie- theoretische-informatik-i/praktischebasisinformationstechnologie-i/ theoretische-informatik-i/praktischeanwendung-von-grammatiken-fueranwendung-von-grammatiken-fuer-c, 05.05.2011 http://www.wi.uni-muenster.de/pi/lehre/ss09/ SeminarCompilerbau/ http://www.wi.uniSeminarCompilerbau/ abgaben/Adrian-Heinemann---Syntaxanalyse-LR1-LALR---2.pdf, abgaben/Adrian-Heinemann---Syntaxanalyse-LR1-LALR---2.pdf, 06.05.2011
LOGO