Rekursiver Abstieg

Id: recdesc.tex,v 1.3 2005/11/17 08:14:31 waldmann Exp

Einfachste Methode, einen Parser von Hand zu schreiben:

zu jeder Variablen A eine Prozedur, die ein Wort aus L(G, A) liest (d. h. den entsprechenden Teil der Eingabe verbraucht) und den Syntaxbaum zurückgibt

parse_Anweisung =   case lookahead () of
      "while" -> parse_Ausdruck ; parse_Block
      "if"    -> parse_Ausdruck ; parse_Block
      default -> parse_Zuweisung
parse_Zuweisung = n <- parse_Name ; parse "="
      x <- parse_Ausdruck ; parse ";"
parse_Block = parse "{" ; parse_Folge ; parse "}"
parse_Folge = leer
        oder  parse_Anweisung ; parse_Folge



Johannes Waldmann 2006-02-02