Adding a token in pgen should have the same signature that the tokenizer uses.

This commit is contained in:
Dave Halter
2016-06-14 18:09:31 +02:00
parent 2ce66a9508
commit 6853bd70f4
2 changed files with 3 additions and 3 deletions

View File

@@ -336,7 +336,7 @@ class ParserWithRecovery(Parser):
# print('err', token.tok_name[typ], repr(value), start_pos, len(stack), index)
if self._stack_removal(grammar, stack, arcs, index + 1, value, start_pos):
add_token_callback(typ, value, prefix, start_pos)
add_token_callback(typ, value, start_pos, prefix)
else:
if typ == INDENT:
# For every deleted INDENT we have to delete a DEDENT as well.

View File

@@ -120,7 +120,7 @@ class PgenParser(object):
def parse(self, tokenizer):
for type_, value, start_pos, prefix in tokenizer:
if self.addtoken(type_, value, prefix, start_pos):
if self.addtoken(type_, value, start_pos, prefix):
break
else:
# We never broke out -- EOF is too soon -- Unfinished statement.
@@ -130,7 +130,7 @@ class PgenParser(object):
raise InternalParseError("incomplete input", type_, value, start_pos)
return self.rootnode
def addtoken(self, type_, value, prefix, start_pos):
def addtoken(self, type_, value, start_pos, prefix):
"""Add a token; return True if this is the end of the program."""
ilabel = token_to_ilabel(self.grammar, type_, value)