12345678910111213141516171819202122232425262728293031323334353637 |
- #-----------------------------------------------------------------
- # pycparser: _build_tables.py
- #
- # A dummy for generating the lexing/parsing tables and and
- # compiling them into .pyc for faster execution in optimized mode.
- # Also generates AST code from the configuration file.
- # Should be called from the pycparser directory.
- #
- # Eli Bendersky [https://eli.thegreenplace.net/]
- # License: BSD
- #-----------------------------------------------------------------
- # Insert '.' and '..' as first entries to the search path for modules.
- # Restricted environments like embeddable python do not include the
- # current working directory on startup.
- import sys
- sys.path[0:0] = ['.', '..']
- # Generate c_ast.py
- from _ast_gen import ASTCodeGenerator
- ast_gen = ASTCodeGenerator('_c_ast.cfg')
- ast_gen.generate(open('c_ast.py', 'w'))
- from pycparser import c_parser
- # Generates the tables
- #
- c_parser.CParser(
- lex_optimize=True,
- yacc_debug=False,
- yacc_optimize=True)
- # Load to compile into .pyc
- #
- import lextab
- import yacctab
- import c_ast
|