Store the precedence list so it can be used by others
This commit is contained in:
parent
1ecbe672bc
commit
fa7514dc21
1 changed files with 5 additions and 0 deletions
|
|
@ -2978,6 +2978,7 @@ class Grammar:
|
|||
_nonterminals: dict[str, NonTerminal]
|
||||
_trivia: list[Terminal]
|
||||
_precedence: dict[str, typing.Tuple[Assoc, int]]
|
||||
_preclist: PrecedenceList
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
|
|
@ -2994,6 +2995,7 @@ class Grammar:
|
|||
if precedence is None:
|
||||
precedence = []
|
||||
assert precedence is not None
|
||||
self._preclist = precedence
|
||||
|
||||
if trivia is None:
|
||||
trivia = []
|
||||
|
|
@ -3027,6 +3029,9 @@ class Grammar:
|
|||
def get_precedence(self, name: str) -> None | tuple[Assoc, int]:
|
||||
return self._precedence.get(name)
|
||||
|
||||
def precedence(self) -> PrecedenceList:
|
||||
return self._preclist
|
||||
|
||||
def desugar(self) -> typing.Tuple[list[typing.Tuple[str, list[str]]], set[str]]:
|
||||
"""Convert the rules into a flat list of productions.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue