Select Git revision
-
Wen Yao Jin authoredWen Yao Jin authored
operators.py 724 B
"""
Operator module contains the Operator class and a list of standard operators.
"""
class Operator:
"""
Operator class is a binary operator with a symbol, a precedence and an evaluation function.
"""
def __init__(self, symbol, precedence, evaluate_function):
self.symbol = symbol
self.precedence = precedence
self.evaluate_function = evaluate_function
def __repr__(self):
return self.symbol
def __call__(self, left, right):
return self.evaluate_function(left, right)
STANDARD_OPERATORS = { '+': Operator('+', 1, lambda a, b: a + b),'-': Operator('-', 1, lambda a, b: a - b),'*': Operator('×', 2, lambda a, b: a * b),'/': Operator('/', 2, lambda a, b: a / b)}