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

@@ -1,4 +1,4 @@
from smnp.ast.node.factor import NotOperator
from smnp.ast.node.factor import NotOperator, Power
from smnp.ast.node.identifier import FunctionCall
from smnp.ast.node.unit import MinusOperator, Access
from smnp.error.runtime import RuntimeException
@@ -14,11 +14,13 @@ def expressionEvaluator(doAssert=False):
from smnp.runtime.evaluators.atom import AtomEvaluator
from smnp.runtime.evaluators.access import AccessEvaluator
from smnp.runtime.evaluators.negation import NotEvaluator
from smnp.runtime.evaluators.power import PowerEvaluator
result = Evaluator.oneOf(
Evaluator.forNodes(FunctionCallEvaluator.evaluate, FunctionCall),
Evaluator.forNodes(MinusEvaluator.evaluate, MinusOperator),
Evaluator.forNodes(AccessEvaluator.evaluate, Access),
Evaluator.forNodes(NotEvaluator.evaluate, NotOperator),
Evaluator.forNodes(PowerEvaluator.evaluate, Power),
AtomEvaluator.evaluate
)(node, environment)