linux-l: Wie schreibt man Parser?

Wolfgang Metze metze at trionet.de
Do Nov 20 21:18:34 CET 1997


Oliver Bandel schrieb:

> Hi!
>
> Steht eigentlich schon alles im Betreff.
>

Parser schreibt man: P A R S E R

Aber das war wohl doch nicht Deine Frage oder?

Spaß beiseite.

Parser schreibt man am Besten mit der Hand. Compiler beispielsweise
verbraten
70% ihre Zeit in einem Parser. Aus diesem Grund werden diese Teile meist

von Hand implementiert, weil Generatoren keinen so effizienten Code
erzeugen.
Da die Antowrt Deiner Frage etwas komplex ist, frage ich erst einmal
zurück,
was Du den parsieren willst. Liegt dem Ganzen eine Grammatik zugrunde?
Wenn ja, ist
es eine LL(1)-Grammatik? Wenn ja, ist alles ziemlich einfach, wenn nein,
solltest Du
daraus eine LL(1)-Grammatik machen.


> Irgendwelche schlauen Hinweise, oder Praxistips?
>

Ja, ich habe schon einige Parser geschrieben. Aber wie gesagt, ein
bißchen konkreter solltest Duwerden.


> Danke,
>    tschüß,
>        Oliver
>
> P.S.: Kann man diesen seltsamen yacc oder lex dazu benutzen?
>       Und wenn ja, wie?


Habe ich seinerzeit auch mal benutzt, aber so ein Teil zu benutzen,
erfordert ziemlich viel
Literaturstudium. Entweder ist es wirklich so kompliziert, oder ich war
nur zu faul. Es gibt übrigens
ein MS-DOS-Teil, was eine ggb. Grammatik auf LL(1) überprüft und
gleichzeitig die Direktormengen
produkziert. Vielleicht fällt mir noch der Name ein.

Gruß

Wolfgang






Mehr Informationen über die Mailingliste linux-l