1 #----------------------------------------------------------------- 2 # pycparser: using_cpp_libc.py 3 # 4 # Shows how to use the provided 'cpp' (on Windows, substitute for 5 # the 'real' cpp if you're on Linux/Unix) and "fake" libc includes 6 # to parse a file that includes standard C headers. 7 # 8 # Eli Bendersky [https://eli.thegreenplace.net/] 9 # License: BSD 10 #----------------------------------------------------------------- 11 import sys 12 13 # This is not required if you've installed pycparser into 14 # your site-packages/ with setup.py 15 # 16 sys.path.extend(['.', '..']) 17 18 from pycparser import parse_file 19 20 21 if __name__ == "__main__": 22 if len(sys.argv) > 1: 23 filename = sys.argv[1] 24 else: 25 filename = 'examples/c_files/year.c' 26 27 ast = parse_file(filename, use_cpp=True, 28 cpp_path='cpp', 29 cpp_args=r'-Iutils/fake_libc_include') 30 ast.show() 31