How to parse a C header file?

后端 未结 4 588
说谎
说谎 2020-12-08 00:59

Does anyone know a spiffy way to use C header files in Python? For example I have a C program that includes a global variable:

typedef struct ImageInfo
{
            


        
相关标签:
4条回答
  • 2020-12-08 01:43

    For the same purpose I'm considering pyclibrary, it is not a complete C parser but it is aimed at parsing C header files, so it is much easier to use than pycparser or some gccxml-based parser: although weakly documented, just try CParser.py testHeader.h and you'll see how it works.

    Depends on pyparsing and, as far as I understand, it is pure python.

    0 讨论(0)
  • 2020-12-08 01:50

    Have a look at this C++ header parser written in Python. You can also write your own parser using any of these tools:

    • pyparsing
    • ply
    • lepl

      and a lot more ...

    0 讨论(0)
  • 2020-12-08 01:53

    This was mentioned on SO yesterday; I haven't had a chance to check it out more thoroughly yet, but I'm meaning to. The pycparser, a "C parser and AST generator written in Python".

    https://github.com/eliben/pycparser

    0 讨论(0)
  • 2020-12-08 01:58

    Take a look at pygccxml. I use it to build in-memory graphs of my C / C++ source code that I can use as the basis for many code generation tasks.

    PS: When I first started out with Python based code-generation I actually tried to write a parser myself: save yourself the pain and don't even go there! (looks like your are clued up already though...) pygccxml is everything you want and more :)

    0 讨论(0)
提交回复
热议问题