Вверх ↑
Разработчик
Ответов: 4697
Рейтинг: 426
#1: 2014-06-17 20:29:57 ЛС | профиль | цитата
Galkov писал(а):
Ну типа: результатом работы LevelXXX является либо КОД (уже записанный в TProgram), либо вычисленная КОНСТАНТА.

Идея ясна. Я думал немного иначе: оптимизировать все по максимуму. Подход, который ты предложил, например, не сможет оптимизировать выражение 2*(3+%1+4) в 14+2*%1 (поэтому то я сначала в сторону дерева и думал - там-то можно в процессе обработки дерева смотреть аргументы по левой ветви и по правой, а также переставлять местами операции одного приоритета, чтобы в примере выше компилятор мог упростить 3+%1+4 до 7+%1, ну а потом и далее).
Ну а так, можно и без дерева, да, это можно сделать, не сложно вроде бы.
карма: 10
0