# Copyright 2006 Google, Inc. All Rights Reserved. # Licensed to PSF under a Contributor Agreement. """Export the Python grammar and symbols.""" # Python imports import os # Local imports from .pgen2 import token from .pgen2 import driver from . import pytree # The grammar file _GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "Grammar.txt") _PATTERN_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "PatternGrammar.txt") class Symbols(object): def __init__(self, grammar): """Initializer. Creates an attribute for each grammar symbol (nonterminal), whose value is the symbol's type (an int >= 256). """ for name, symbol in grammar.symbol2number.items(): setattr(self, name, symbol) python_grammar = driver.load_packaged_grammar("lib2to3", _GRAMMAR_FILE) python_symbols = Symbols(python_grammar) python_grammar_no_print_statement = python_grammar.copy() del python_grammar_no_print_statement.keywords["print"] python_grammar_no_print_and_exec_statement = python_grammar_no_print_statement.copy() del python_grammar_no_print_and_exec_statement.keywords["exec"] pattern_grammar = driver.load_packaged_grammar("lib2to3", _PATTERN_GRAMMAR_FILE) pattern_symbols = Symbols(pattern_grammar)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
fixes | Folder | 0755 |
|
|
pgen2 | Folder | 0755 |
|
|
Grammar.txt | File | 8.47 KB | 0644 |
|
Grammar3.8.12.final.0.pickle | File | 14.95 KB | 0644 |
|
PatternGrammar.txt | File | 793 B | 0644 |
|
PatternGrammar3.8.12.final.0.pickle | File | 1.2 KB | 0644 |
|
__init__.py | File | 7 B | 0644 |
|
__main__.py | File | 67 B | 0644 |
|
btm_matcher.py | File | 6.47 KB | 0644 |
|
btm_utils.py | File | 9.73 KB | 0644 |
|
fixer_base.py | File | 6.53 KB | 0644 |
|
fixer_util.py | File | 14.85 KB | 0644 |
|
main.py | File | 11.38 KB | 0644 |
|
patcomp.py | File | 6.89 KB | 0644 |
|
pygram.py | File | 1.27 KB | 0644 |
|
pytree.py | File | 27.3 KB | 0644 |
|
refactor.py | File | 26.76 KB | 0644 |
|