mirror of
https://github.com/davidhalter/parso.git
synced 2026-08-12 19:11:34 +08:00
Add a debug function for first tokens
This commit is contained in:
@@ -38,6 +38,21 @@ class Stack(list):
|
|||||||
tos = self[-1]
|
tos = self[-1]
|
||||||
return tos[2][1]
|
return tos[2][1]
|
||||||
|
|
||||||
|
def get_tos_first_tokens(self, grammar):
|
||||||
|
tos = self[-1]
|
||||||
|
inv_tokens = {v: k for k, v in grammar.tokens.items()}
|
||||||
|
inv_keywords = {v: k for k, v in grammar.keywords.items()}
|
||||||
|
dfa, state, nodes = tos
|
||||||
|
|
||||||
|
def check():
|
||||||
|
for first in dfa[1]:
|
||||||
|
try:
|
||||||
|
yield inv_keywords[first]
|
||||||
|
except KeyError:
|
||||||
|
yield tokenize.tok_name[inv_tokens[first]]
|
||||||
|
|
||||||
|
return list(check())
|
||||||
|
|
||||||
|
|
||||||
def token_to_ilabel(grammar, type_, value):
|
def token_to_ilabel(grammar, type_, value):
|
||||||
# Map from token to label
|
# Map from token to label
|
||||||
|
|||||||
Reference in New Issue
Block a user