RpCalcExpression - вычислитель арифметического выражения.

Отчёт

"Вычислителей" может быть много. Они должны являться частью RpDataExpression (вычислитель + форматирование).


RpCalcExpression

  1. должен иметь возможность забрать данные из хранилища данных.
  2. "подписаться" на событие изменения бенда.
  3. точно всё знает об объектах вычисляющих выражение.
  4. может предоставить необходимые им данные.


Движок арифмометра предоставляет интрефейс который должен реализовать RpCalcExpression



Разбор математического выражения.

Врезультате разбора выражения мы получаем ряд функций, с одним или несколькими параметрами, выполняемых последовательно.

Результат выполнения одной функции является параметром следующей.

Унарная функция - функция с одним параметром.

Константа - вырожденная функция, имеющая результатом значение константы.

Главная проблема - упорядочить выполнение функций.


Описание функции:

  1. тип функции
  2. указатель на первый параметр (или константу)
  3. указатель на второй параметр (или константу)
  4. ....
  5. указатель на последний параметр (или константу).


Итак, у нас есть:

  1. Константа
  2. Переменная
  3. Функция