parser generator erstellen
-
hi leute, moin matt
folgendes, ich versuch zurzeit ein etwas anspruchsvolles tool zusammenzucoden, es geht darum die .cpp und .h files eines software projekts nach bestimmten variablen zu durchsuchen ( wo definiert, wo aufgerufen etc.). dazu muss ich nen parser erstellen der den C syntax erkennen kann, die sourcen die ich analysieren will sind in C geschrieben. zum entwickeln des tools benutze ich visual c++ (don't blame me, kundenanforderung
).
jetzt meine frage, hat jemand von euch erfahrungen mit parsergeneratoren à la antlr, lex&yacc ? ich such wennmöglich ein tool bei dem ich mittels einer beschreibungssprache eine c++ parserklasse mit zugehörigem headerfile/library erstellen kann.
häng zur zeit eher in der luft, und wäre dankbar für jede hilfe.
merci
misanp.s. hey iman, hab doch gesagt ich stürm deine foren
-
Hi,
dann stürme mal, aber dann besser in "Rund um Programmierung", da passt das besser.
-
Hi!
Kauf dir am besten ein Buch über Compilerbau. Compiler/Scanner/Parser selbst zu proggen ist nämlich gar nicht mal so schwer.www.amazon.de da steht auch in einigen drinne wie man Lex und Yacc benutzt.
Gruss,
code_pilot :p
-
Hi
Ich hab mal nen Parser mit bison gebaut.
Der ist ziehmlich gut dokumentiert und auch für Windows erhältlich.
Auch flex gibt es für Windows(wenn du cygwin hast).Genaueres kann ich dir leider nicht sagen.
Bison generiert den parser code in c. Kannst ja dann die Funktionen in ne Wrapper Klasse bauen.
Für den lexical scanner würde ich dir flex empfehlen. Der Arbeit gut mit bison zusammen.
Bison benutzt ne kontext free grammer für die definition der parse rules.
Bison erstellt dir dann ein Headerfile und ein sourcefileFür weiters musst du dir halt die Dokus anschauen.