Trädvy Permalänk
Medlem
Plats
Södertälje
Registrerad
Jan 2002

C-kodsparsning

Vad rekommenderar ni för bibliotek för att analysera innehåll i C-kod?

Lite då och då får jag som arbetsuppgift att t.ex. plocka ut alla globala variabler, struct-definitioner eller alla enum-definitioner ur ett gäng C/H-filer. Efter att ha gjort ett par specialiserade parsers så känns det som om man borde ta steget till att använda något riktigt bibliotek för det.

De krav jag har är:
- Ska kunna användas från C/C++ och/eller .NET
- Rätt snabb, kommer att användas rätt många gånger per dag mot i värsta fall ett par hundra källkodsfiler
- Ska vara ett bibliotek som fortfarande underhålls (eller är så pass "stabilt" att det inte behöver uppdateras)

Så... Vad känner ni till för något?

(jag har upptäckt att googla efter nyckelordet "C" är rätt trist )

"I must digest this information"

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2004

Borde du inte kunna använda de parsers som finns i GCC?
Annars äre väl bison/flex osv som gäller för att göra liknande parsers?

Trädvy Permalänk
Medlem
Plats
-
Registrerad
Aug 2005

Jag har hört Clang nämnas positivt flera ggr, men har inte använt det själv. AntLr jag har testat lite smått bara, men det verkar vara väldigt lättanvänt och de har en färdig grammatik för C++ skriven av Sun. Finns två projekt som heter Elsa och Pork också men de vet jag inget om alls.

Bison och Gcc skulle jag hålla mig borta från om jag var du.. speciellt Gcc.

http://clang.llvm.org/
http://antlr.org
http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/
https://developer.mozilla.org/En/Pork

Alla män är dödliga. Sokrates var dödlig. Alltså är alla män Sokrates.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Maj 2004
Trädvy Permalänk
Medlem
Plats
Södertälje
Registrerad
Jan 2002

Tack för hjälpen, nu har jag något att labba med

"I must digest this information"