1.1 --- a/pyparser/pygram.py Sun Jan 08 21:15:30 2017 +0100
1.2 +++ b/pyparser/pygram.py Sun Jan 08 23:28:19 2017 +0100
1.3 @@ -19,25 +19,19 @@
1.4
1.5
1.6 python_grammar = _get_python_grammar()
1.7 -python_grammar_no_print = python_grammar.shared_copy()
1.8 -python_grammar_no_print.keyword_ids = python_grammar_no_print.keyword_ids.copy()
1.9 -del python_grammar_no_print.keyword_ids["print"]
1.10
1.11 -class _Tokens(object):
1.12 - pass
1.13 +# For token module compatibility, expose name-to-index and index-to-name
1.14 +# mappings.
1.15
1.16 -for tok_name, idx in pytoken.python_tokens.iteritems():
1.17 - setattr(_Tokens, tok_name, idx)
1.18 -tokens = _Tokens()
1.19 +tokens = pytoken.python_tokens
1.20 +tok_name = pytoken.python_opmap
1.21
1.22 -class _Symbols(object):
1.23 - pass
1.24 -rev_lookup = {}
1.25 -for sym_name, idx in python_grammar.symbol_ids.iteritems():
1.26 - setattr(_Symbols, sym_name, idx)
1.27 - rev_lookup[idx] = sym_name
1.28 -syms = _Symbols()
1.29 -syms._rev_lookup = rev_lookup # for debugging
1.30 -syms.sym_name = rev_lookup # for symbol module compatibility
1.31 +# For symbol module compatibility, expose name-to-index and index-to-name
1.32 +# mappings.
1.33
1.34 -del _get_python_grammar, _Tokens, tok_name, sym_name, idx
1.35 +syms = python_grammar.symbol_ids
1.36 +sym_name = {}
1.37 +for name, idx in python_grammar.symbol_ids.iteritems():
1.38 + sym_name[idx] = name
1.39 +
1.40 +del _get_python_grammar, name, idx