S: Wie baue ich einen Parser?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/s_wie_baue_ich_einen_parser_159810/page_1 - zur Vollversion wechseln!


DJ_Cyberdance schrieb am 09.03.2006 um 11:04

Hallo!
Hat von euch schon mal jemand einen Parser gebaut? Ich muß eine Metasprache parsen, die eine Klassenstruktur beschreibt.

Das blöde dran ist das Parsen. Entweder schreibe ich selbst einen Parser (Keine Ahnung, wie das richtig geht? Tausende if-then-else Konstrukte?) oder ich verwende eine oder mehrere dieser Parser-Bibliotheken (Lex, Yacc, ?). Aber auch da hab ich keine Ahnung, wo ich anfangen soll. Gibts da irgendwelche Infoquellen für Anfänger auf dem Gebiet? Google findet zwar massig Infos, aber so ein richtig gut brauchbares Anfänger-Tutorial hab ich nicht gefunden.

Das ganze passiert übrigens in C++.


Spikx schrieb am 09.03.2006 um 11:13

Hm.. bräuchte das eigentlich auch momentan :D


that schrieb am 09.03.2006 um 19:14

http://www.antlr.org/

Ich selbst habs zwar noch nicht verwendet, aber ANTLR ist sehr verbreitet, mächtig und gut dokumentiert.


Ecraft schrieb am 09.03.2006 um 20:22

da muss man natürlich auch ein wenig werbung für die uni linz machen

http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/


Tex schrieb am 09.03.2006 um 21:07

Zitat von Ecraft
da muss man natürlich auch ein wenig werbung für die uni linz machen

http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/

mit dem teil haben wir an der uni (salzburg) auch schon einige dinge gemacht (allerdings in java). funktioniert gut und ist auch relativ einfach verständlich.


samuel schrieb am 12.03.2006 um 08:29

nach was hast du im google gesucht?

ich wuerds mal mit "formale sprachen und compilerbau" versuchen. wir haben im 2. semester verschiedene dinge in dieser richtung implementiert.

was bei jeder analyse wichtig ist, ist zu beginn eine grammatik fuer die sprache festzulegen. somit brauchst du auch ned tausende if-konstrukte ;)


ica schrieb am 12.03.2006 um 12:21

hab mit antlr und java einen parser geschrieben - am anfang steht man ehrlichgesagt ziemlich alleine da und die doku ist auch net gerade das wahre (aber auf jedenfall noch besser als von den anderen parser frameworks). aber mit der zeit funktioniert das ganze eigentlich recht gut und es geht dann recht schnell voran.


SYSMATRIX schrieb am 12.03.2006 um 12:22

wie wärs mit boost::spirit?


DJ_Cyberdance schrieb am 12.03.2006 um 22:51

Im Moment spiel ich mich grad mal mit Lex und Yacc, hab dieses Tutorial gefunden

http://ds9a.nl/lex-yacc/cvs/lex-yacc-howto.html

und arbeite grad danach. Ein passendes Lex-File für meine Syntax hab ich schon, die Grammatikbeschreibung im Yacc versuch ich morgen. So schwer scheint das nicht zu sein, aber Überraschungen kanns immer geben... Danke auf jeden Fall für die Tips, werds mir trotzdem anschauen, vielleicht gehts ja noch einfacher :-)


that schrieb am 13.03.2006 um 09:04

Zitat von SYSMATRIX
wie wärs mit boost::spirit?

Eine beeindruckende Demonstration, was C++ Compiler irgendwann in der Zukunft können werden. ;)


Spikx schrieb am 15.03.2006 um 14:49

Hmm.. noch ein Tutorial, diesmal für Bion++ und Flex++
http://www.oneder.de/content/view/24/28/lang,de/




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026