07.12.2012 Aufrufe

Informatik Seminar 2003 - Parsen

Informatik Seminar 2003 - Parsen

Informatik Seminar 2003 - Parsen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Grundlagen<br />

Funktionale Parser in Haskell<br />

Ein Parser für arithmetische Ausdrücke<br />

<strong>Parsen</strong> mit Parsec<br />

Die Idee<br />

Das Werkzeug<br />

Die Hilfsfunktion<br />

Der Parser<br />

Hilfsfunktionen<br />

Umwandeln einer Ziffernliste in den Datentyp Expr<br />

> charListToExpr :: [Char] -> Expr<br />

> charListToExpr [] = Lit 0<br />

> charListToExpr (c:xs) = Lit ( natural (c:xs) )<br />

> litParse :: Parse Char Expr<br />

> litParse<br />

> = (<br />

> option (symbol ’-’) many1 (spot isDigit)<br />

> ) where join = uncurry (++)<br />

? litParse "12"<br />

[(Lit 12,""),(Lit 1,"2")]<br />

? litParse "-12"<br />

[(Lit (-12),""),(Lit (-1),"2")]<br />

Jens Kulenkamp <strong>Informatik</strong> <strong>Seminar</strong> <strong>2003</strong> - <strong>Parsen</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!