Magnus Therning schrieb:
Is there such a beast out there?

If this were a list on some OO language I'd ask for something that created an AST and then offered an API based around a visitor pattern.

The pre-processor (platform specific most likely, but could be cpphs of course) would be run prior to the tool I'm considering writing. After that I only need access to declarations of C functions and definitions of types (structs, enums, other typedefs).

I had a quick look at the code in c2hs yesterday, but found it a little hard to make heads or tails of it without some guidance, so I couldn't tell whether it would be suitable. Would it?
Hi Markus,
the C parser in c2hs is able to parse preprocessed C and build an AST for you. As c2hs also needs to extract function declarations and type definitions, there is also code to do that.

Actually I applied for soc project to prepare a more general library from c2hs' code base, which would also provide what you are asking for.

Right now, you can download the source code and have a look at c2hs/c/tests/CCWrapper.hs on how to invoke to parser, at c2hs/c/CAST.hs for the syntax tree datatypes, c2hs/c/CTrav.hs for syntax tree traversal and in gen/GenBind.hs to see how c2hs uses this functionality.

best regards, benedikt

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to