PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C Parser in C#?


Jesus
2005-10-04, 09:37:32
Hallo,

ich bin auf der Suche nach einem guten Algorithmus für einen kompletten C Parser, am besten in .NET/C#.

Er muss nicht alles können, sollte aber schon if/switch und verschachtelte Anweisungen parsen können usw.

Kennt zufällig jemand sowas? :rolleyes:

mfg,
Jesus

Gast
2005-10-04, 09:50:58
Gibts nicht. 8)

Coda
2005-10-04, 11:44:03
Darf man fragen wozu? Dann kann ich dir vielleicht eher helfen...

Jesus
2005-10-04, 14:01:52
Ich bin grad dabei einen Test Vector Generator für C Files zu schreiben. Dazu muss ich alle Branches und Conditions parsen und alle möglichen Zweige und Variablenbelegungen durchgehen.

Hab schon bischen angefangen (meist mit RegEx und Rekursionen), nur leider wird das ziemlich schnell ziemlich übel umfangreich, wenn man alles abdecken will ( Bitshift Operationen, Strukturen usw.).

Dachte vielleicht gibts sowas in der Art schon irgendwo fertig (oder zumindest fast :) )

Coda
2005-10-04, 19:53:07
Ich würde dir empfehlen wenn du nichts findest dir irgend nen Parser-Generator ala Bison/Lex für C# zu organisieren. BNF-Grammatiken gibt's für C frei im Netz.

Jesus
2005-10-05, 13:04:21
Danke. Langsam erinnere ich mich wieder wieso ich das mal gehasst habe :rolleyes:

Coda
2005-10-05, 13:08:35
Wenn man keinen fertigen Parser bekommt ist das immer noch die beste Lösung ;)

Jesus
2005-10-06, 14:19:34
Hast du zufällig nen Link zu ner fertigen Grammatik? Ich finde da nur uralt zeugs von 1985... (am besten wäre Misra).

Coda
2005-10-06, 15:14:41
Was ist Misra? Such doch mal nach "C BNF" in Google, da finde ich einige Sachen.