История изменений
Исправление Begemoth, (текущая версия) :
В питоне можно перегружать операторы, так что «парсинг» арифметики можно за счёт него реализовать. Что-то в духе:
class Product:
def __init__(self, x1, x2):
self.x1 = x1
self.x2 = x2
def __repr__(self):
return '#(Product of %s and %s)' % (self.x1, self.x2)
class Variable(object):
def __init__(self, name):
self.name = name
def __rmul__(self, x):
return Product(self, x)
def __repr__(self):
return '#(Variable %s)' % self.name
>>> f8 = Variable('f8')
>>> 2 * f8
#(Product of #(Variable f8) and 2)
Исходная версия Begemoth, :
В питоне можно перегружать операторы, так что «парсинг» арифметики можно за счёт него реализовать.