Rekursiver Abstieg

Id: recdesc.tex,v 1.2 2005/01/11 12:37:16 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 2005-01-28