| #------------------------------------------------------------------------------- |
| # pycparser: using_gcc_E_libc.py |
| # |
| # Similar to the using_cpp_libc.py example, but uses 'gcc -E' instead |
| # of 'cpp'. The same can be achieved with Clang instead of gcc. If you have |
| # Clang installed, simply replace 'gcc' with 'clang' here. |
| # |
| # Eli Bendersky [https://eli.thegreenplace.net/] |
| # License: BSD |
| #------------------------------------------------------------------------------- |
| import sys |
| |
| # This is not required if you've installed pycparser into |
| # your site-packages/ with setup.py |
| # |
| sys.path.extend(['.', '..']) |
| |
| from pycparser import parse_file |
| |
| |
| if __name__ == "__main__": |
| if len(sys.argv) > 1: |
| filename = sys.argv[1] |
| else: |
| filename = 'examples/c_files/year.c' |
| |
| ast = parse_file(filename, use_cpp=True, |
| cpp_path='gcc', |
| cpp_args=['-E', r'-Iutils/fake_libc_include']) |
| ast.show() |