Make some parsing work.

This commit is contained in:
Dave Halter
2017-08-24 01:39:17 +02:00
parent 033e880408
commit 3c3e7f5317
2 changed files with 35 additions and 13 deletions

View File

@@ -199,21 +199,24 @@ class PythonGrammar(Grammar):
class PythonFStringGrammar(Grammar):
_token_namespace = fstring.TokenNamespace
def __init__(self):
super(PythonFStringGrammar, self).__init__(
text=fstring.GRAMMAR,
tokenizer=fstring.tokenize
tokenizer=fstring.tokenize,
parser=fstring.Parser
)
def parse(self, code, **kwargs):
return self._parse(code, **kwargs)
def _parse(self, code, error_recovery=True, start_pos=(1, 0)):
tokens = self._tokenizer(lines)
tokens = self._tokenizer(code, start_pos=start_pos)
p = self._parser(
self._pgen_grammar,
error_recovery=error_recovery,
start_symbol=start_symbol
start_symbol=fstring.START_SYMBOL,
)
return p.parse(tokens=tokens)