17 lines
456 B
Python
17 lines
456 B
Python
from smnp.ast.node.factor import FactorParser
|
|
from smnp.ast.node.operator import BinaryOperator
|
|
from smnp.ast.parser import Parser
|
|
from smnp.token.type import TokenType
|
|
|
|
|
|
class Product(BinaryOperator):
|
|
pass
|
|
|
|
|
|
def TermParser(input):
|
|
return Parser.leftAssociativeOperatorParser(
|
|
FactorParser,
|
|
[TokenType.ASTERISK, TokenType.SLASH],
|
|
FactorParser,
|
|
lambda left, op, right: Product.withValues(left, op, right)
|
|
)(input) |