summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorEli Bendersky <eliben@gmail.com>2017-02-05 09:37:29 -0800
committerEli Bendersky <eliben@gmail.com>2017-02-05 09:37:29 -0800
commit0f8e2313d6f0ec06806ea05e861d1fc47d3c3016 (patch)
treea534f503e9a145065a5f8993e429c2cc2b76a64d /utils
parent1014f56d016f3c237b310374406b58eb2a86fc39 (diff)
downloadpycparser-0f8e2313d6f0ec06806ea05e861d1fc47d3c3016.tar.gz
Clean up internal hacking util
Diffstat (limited to 'utils')
-rw-r--r--utils/internal/zz_parse.py18
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))