Files
smnp-py/smnp/ast/parsers/asterisk.py
2019-07-05 17:00:43 +02:00

18 lines
539 B
Python

from smnp.ast.node.asterisk import AsteriskNode
from smnp.ast.parsers.statement import parseStatement
from smnp.token.type import TokenType
# asterisk -> expr '*' stmt
def parseAsterisk(expr, input, parent):
if input.hasMore() and input.isCurrent(TokenType.ASTERISK):
token = input.current()
input.ahead()
stmt = parseStatement(input, parent)
asterisk = AsteriskNode(expr, stmt, parent, token.pos)
expr.parent = asterisk
stmt.parent = asterisk
return asterisk
return None