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

18 lines
455 B
Python

from smnp.ast.node.integer import IntegerLiteralNode
from smnp.ast.parsers.integer import parseInteger
from smnp.token.type import TokenType
# minus -> '-' int
def parseMinus(input, parent):
if input.isCurrent(TokenType.MINUS):
token = input.current()
input.ahead()
if input.hasCurrent():
expr = parseInteger(input, parent)
return IntegerLiteralNode(-expr.value, parent, token.pos)
return None