Create evaluator for product (both multiplying and dividing)

This commit is contained in:
Bartłomiej Pluta
2019-07-12 20:45:23 +02:00
parent 13a6dedba6
commit 1094c071fb
3 changed files with 37 additions and 4 deletions

View File

@@ -1,11 +1,10 @@
from smnp.ast.node.factor import FactorParser
from smnp.ast.node.operator import BinaryOperator
from smnp.ast.node.valuable import Valuable
from smnp.ast.parser import Parser
from smnp.token.type import TokenType
class Term(Valuable):
class Product(BinaryOperator):
pass
@@ -14,5 +13,5 @@ def TermParser(input):
FactorParser,
[TokenType.ASTERISK, TokenType.SLASH],
FactorParser,
lambda left, op, right: Term.withValue(BinaryOperator.withValues(left, op, right))
lambda left, op, right: Product.withValues(left, op, right)
)(input)