diff --git a/parso/parser.py b/parso/parser.py index 80ea7b2..6b906d2 100644 --- a/parso/parser.py +++ b/parso/parser.py @@ -44,10 +44,9 @@ class BaseParser(object): self._error_recovery = error_recovery def parse(self, tokens): - start_number = self._pgen_grammar.nonterminal2number[self._start_nonterminal] self.pgen_parser = PgenParser( self._pgen_grammar, self.convert_node, self.convert_leaf, - self.error_recovery, start_number + self.error_recovery, self._start_nonterminal ) node = self.pgen_parser.parse(tokens) diff --git a/parso/pgen2/grammar.py b/parso/pgen2/grammar.py index 63a214b..b6e076e 100644 --- a/parso/pgen2/grammar.py +++ b/parso/pgen2/grammar.py @@ -211,7 +211,3 @@ class Grammar(object): (nonterminal, terminal, nonterminal_or_string, inverse[terminal])) inverse[terminal] = nonterminal_or_string self._first_terminals[nonterminal] = totalset - - @property - def start(self): - return self.nonterminal2number[self.start_nonterminal] diff --git a/parso/pgen2/parse.py b/parso/pgen2/parse.py index 952c43e..f3d8c88 100644 --- a/parso/pgen2/parse.py +++ b/parso/pgen2/parse.py @@ -114,7 +114,8 @@ class PgenParser(object): """ - def __init__(self, grammar, convert_node, convert_leaf, error_recovery, start): + def __init__(self, grammar, convert_node, convert_leaf, error_recovery, + start_nonterminal): """Constructor. The grammar argument is a grammar.Grammar instance; see the @@ -144,7 +145,6 @@ class PgenParser(object): self.convert_node = convert_node self.convert_leaf = convert_leaf - start_nonterminal = grammar.number2nonterminal[start] self.stack = Stack([StackNode(grammar._nonterminal_to_dfas[start_nonterminal][0])]) self.rootnode = None self.error_recovery = error_recovery