Working on #48 : Added BaseExprParser and BaseNodeParser.py
This commit is contained in:
@@ -42,7 +42,7 @@ class ParserInput:
|
||||
self.yield_oef = yield_oef
|
||||
|
||||
self.start = start or 0
|
||||
if end:
|
||||
if end is not None:
|
||||
self.original_end = end # forced index of the last token
|
||||
self.end = self.original_end # index of the last token => len(tokens) - 1 if full tokens
|
||||
else:
|
||||
@@ -115,6 +115,7 @@ class ParserInput:
|
||||
self.pos += 1
|
||||
|
||||
if self.pos > self.end:
|
||||
self.token = self.tokens[-1]
|
||||
return False
|
||||
|
||||
self.token = self.tokens[self.pos]
|
||||
@@ -128,7 +129,11 @@ class ParserInput:
|
||||
return False
|
||||
self.token = self.tokens[self.pos]
|
||||
|
||||
return self.pos <= self.end
|
||||
if self.pos <= self.end:
|
||||
return True
|
||||
else:
|
||||
self.token = self.tokens[-1]
|
||||
return False
|
||||
|
||||
def the_token_after(self, skip_whitespace=True):
|
||||
"""
|
||||
@@ -137,13 +142,13 @@ class ParserInput:
|
||||
"""
|
||||
my_pos = self.pos + 1
|
||||
if my_pos > self.end:
|
||||
return Token(TokenKind.EOF, "", -1, -1, -1)
|
||||
return self.tokens[-1]
|
||||
|
||||
if skip_whitespace:
|
||||
while self.tokens[my_pos].type in (TokenKind.WHITESPACE, TokenKind.NEWLINE):
|
||||
my_pos += 1
|
||||
if my_pos > self.end:
|
||||
return Token(TokenKind.EOF, "", -1, -1, -1)
|
||||
return self.tokens[-1]
|
||||
|
||||
return self.tokens[my_pos]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user