You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
#-----------------------------------------------------------------
 | 
						|
# 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 importlib
 | 
						|
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
 | 
						|
#
 | 
						|
importlib.invalidate_caches()
 | 
						|
 | 
						|
import lextab
 | 
						|
import yacctab
 | 
						|
import c_ast
 |