Create evaluator for power operator

This commit is contained in:
Bartłomiej Pluta
2019-07-12 19:54:29 +02:00
parent 35eb38076f
commit 65fccda989
4 changed files with 27 additions and 7 deletions

View File

@@ -3,16 +3,14 @@ from smnp.ast.node.model import Node
from smnp.ast.node.none import NoneNode
from smnp.ast.node.operator import BinaryOperator, Operator, UnaryOperator
from smnp.ast.node.unit import UnitParser
from smnp.ast.node.valuable import Valuable
from smnp.ast.parser import Parser
from smnp.token.type import TokenType
class Factor(Valuable):
class NotOperator(UnaryOperator):
pass
class NotOperator(UnaryOperator):
class Power(BinaryOperator):
pass
@@ -66,7 +64,7 @@ def FactorParser(input):
factorOperands,
[TokenType.DOUBLE_ASTERISK],
factorOperands,
lambda left, op, right: Factor.withValue(BinaryOperator.withValues(left, op, right)),
lambda left, op, right: Power.withValues(left, op, right),
name="power operator"
)