LINUX.ORG.RU

История изменений

Исправление 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, :

В питоне можно перегружать операторы, так что «парсинг» арифметики можно за счёт него реализовать.