Permalänk

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 )

Visa signatur

"I must digest this information"

Permalänk
Medlem

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?

Permalänk
Medlem

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

Visa signatur

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

Permalänk
Medlem
Permalänk

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

Visa signatur

"I must digest this information"