def _parse(source): try: from . import dlex from . import dyacc except ImportError: raise RuntimeError("Parse tables not built, run install script.") module = sys.modules[__name__] lexer = lexfrom(module, dlex) parser = yaccfrom(module, dyacc, lexer) return parser.parse(source, lexer=lexer)
def _parse(source): try: from . import dlex from . import dyacc except ImportError: rebuild() from . import dlex from . import dyacc module = sys.modules[__name__] lexer = lexfrom(module, dlex) parser = yaccfrom(module, dyacc, lexer) return parser.parse(source, lexer=lexer)
def load_parser(debug=False): if debug: from ply import lex, yacc path = os.path.relpath(__file__) dir_path = os.path.dirname(path) lexer = lex.lex(lextab="mlex", outputdir=dir_path, optimize=0) parser = yacc.yacc(tabmodule='myacc',outputdir=dir_path, write_tables=0, debug=0, optimize=0) return partial(debug_parse, lexer=lexer, parser=parser) else: module = sys.modules[__name__] lexer = lexfrom(module, mlex) parser = yaccfrom(module, myacc, lexer) # curry the lexer into the parser return partial(parser.parse, lexer=lexer)
def load_parser(debug=False): if debug: from ply import lex, yacc # Must be abspath instead of relpath because # of Windows multi-rooted filesystem. path = os.path.abspath(__file__) dir_path = os.path.dirname(path) lexer = lex.lex(lextab="dlex", outputdir=dir_path, optimize=1) parser = yacc.yacc(tabmodule='dyacc',outputdir=dir_path, write_tables=1, debug=0, optimize=1) return partial(debug_parse, lexer=lexer, parser=parser) else: module = sys.modules[__name__] lexer = lexfrom(module, dlex) parser = yaccfrom(module, dyacc, lexer) # curry the lexer into the parser return partial(parser.parse, lexer=lexer)
def load_parser(debug=False): if debug: from ply import lex, yacc path = os.path.relpath(__file__) dir_path = os.path.dirname(path) lexer = lex.lex(lextab="alex", outputdir=dir_path, optimize=1) parser = yacc.yacc(tabmodule='ayacc', outputdir=dir_path, write_tables=1, debug=0, optimize=1) return partial(debug_parse, lexer=lexer, parser=parser) else: module = sys.modules[__name__] lexer = lexfrom(module, alex) parser = yaccfrom(module, ayacc, lexer) # curry the lexer into the parser return partial(parser.parse, lexer=lexer)
def load_parser(debug=False): if debug: from ply import lex, yacc # Must be abspath instead of relpath because # of Windows multi-rooted filesystem. path = os.path.abspath(__file__) dir_path = os.path.dirname(path) lexer = lex.lex(lextab="dlex", outputdir=dir_path, optimize=1) parser = yacc.yacc(tabmodule='dyacc', outputdir=dir_path, write_tables=1, debug=0, optimize=1) return partial(debug_parse, lexer=lexer, parser=parser) else: module = sys.modules[__name__] lexer = lexfrom(module, dlex) parser = yaccfrom(module, dyacc, lexer) # curry the lexer into the parser return partial(parser.parse, lexer=lexer)