diff options
Diffstat (limited to 'utils/internal/zz_parse.py')
-rw-r--r-- | utils/internal/zz_parse.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/utils/internal/zz_parse.py b/utils/internal/zz_parse.py new file mode 100644 index 0000000..39978d1 --- /dev/null +++ b/utils/internal/zz_parse.py @@ -0,0 +1,21 @@ +from __future__ import print_function + +import sys +from pycparser import c_parser, c_generator, c_ast, parse_file + + +if __name__ == "__main__": + parser = c_parser.CParser() + code = r''' + void* ptr = (int[ ]){0}; + ''' + + print(code) + ast = parser.parse(code) + ast.show(attrnames=True, nodenames=True) + print(ast.ext[0].__slots__) + print(dir(ast.ext[0])) + + print("==== From C generator:") + generator = c_generator.CGenerator() + print(generator.visit(ast)) |