Compilerbauhome Compilerbau: Syntax-Analyse Prof. Dr. Uwe Schmidt FH Wedel

Syntax-Analyse

weiter

weiter

Parsen

Aufgabe
Token-Strom transformieren in einen Syntaxbaum
weiter
Spezifikation
Kontextfreie Grammatik
weiter
Verarbeitung
mit Kellerautomaten
LL-Analyse, top down, rekursiver Abstieg
LR-Analyse, bottom up
weiter
Generatoren
Eingabe
kontextfreie LL- oder LR-Grammatik
weiter
Ausgabe
Transformationsprogramm: Token-Folge in Programmbaum
 
parse :: [Token] -> ProgramTree
weiter
Beispiel
ClassDefinition ::= ClassSy Identifier
                    ExtendsClause
                    LeftBrace ClassBody RightBrace
 
ExtendsClause   ::= [ ExtendsSy Identifier ]
                    [ ImplementsSy IdentifierList ]
 
ClassBody       ::= ...
weiter
merke
Parser entwickelt man nicht per Hand
merke
Ausnahme: Einfache Parser mit rekursivem Abstieg (recursive descent)
merke
Generatoren: yacc, bison, CUP, JavaCC, happy, ...
weiter
yacc, bison, CUP, happy
bottom up Parser
LALR(1) Parser
weiter

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel