diff options
author | Eli Bendersky <eliben@gmail.com> | 2017-02-05 09:37:29 -0800 |
---|---|---|
committer | Eli Bendersky <eliben@gmail.com> | 2017-02-05 09:37:29 -0800 |
commit | 0f8e2313d6f0ec06806ea05e861d1fc47d3c3016 (patch) | |
tree | a534f503e9a145065a5f8993e429c2cc2b76a64d /utils | |
parent | 1014f56d016f3c237b310374406b58eb2a86fc39 (diff) | |
download | pycparser-0f8e2313d6f0ec06806ea05e861d1fc47d3c3016.tar.gz |
Clean up internal hacking util
Diffstat (limited to 'utils')
-rw-r--r-- | utils/internal/zz_parse.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/utils/internal/zz_parse.py b/utils/internal/zz_parse.py index 9c73978..39978d1 100644 --- a/utils/internal/zz_parse.py +++ b/utils/internal/zz_parse.py @@ -1,23 +1,21 @@ -import sys -sys.path.insert(0, '../..') +from __future__ import print_function -from pycparser import c_parser, c_ast, parse_file +import sys +from pycparser import c_parser, c_generator, c_ast, parse_file if __name__ == "__main__": - #ast = parse_file('zc_pp.c', use_cpp=True, cpp_path="../cpp.exe") parser = c_parser.CParser() - - #code = r'''int ar[30];''' code = r''' - char ***arr3d[40]; + void* ptr = (int[ ]){0}; ''' - #code = r''' - #int foo(int a, int arr[*]); - #''' 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)) |