Вниз
Скачать: CL | DM;

Преобразование выражений   Найти похожие ветки 

 
Kerk ©   (2007-02-27 20:36) [0]

Необходимо проводить такие вот преобразования:
НормальнаяЗапись => ОбратнаяПольскаяЗапись => НормальнаяЗапись
Причем важно, чтоб до и после преобразования в ОПЗ нормальные записи были идентичны.

Может кто-то видел готовый алгоритм [ОбратнаяПольскаяЗапись => НормальнаяЗапись]? Нет времени самому все детали прорабатывать.


 
TUser ©   (2007-02-27 20:42) [1]

Реализуешь дерево, там обход, главное право и лево не перепутать, больше никаких деталей нет. За пол-часа - час вроде уложиться можно, имхо. На форуме всяко дольше будет, имхо.


 
Ketmar ©   (2007-02-27 20:45) [2]

15 минут. recursive descent parsing.


 
TUser ©   (2007-02-27 20:48) [3]

> 15 минут

Ты крут. Что будет, когда придут Мастера?


 
Kerk ©   (2007-02-27 20:52) [4]

Да. Действительно просто дерево. Но надо еще как-то порядок операндов хранить будет.


 
TUser ©   (2007-02-27 20:57) [5]

Дерево бинарное, один операнд - правый, другой - левый. Ну и при разборе обратной польской и в Дейкстре не перепутать.


 
Ketmar ©   (2007-02-27 20:57) [6]

не надо. само хранится. потому что дерево. очень похожее на двоичное. строй по правилам, обходи по правилам -- всё получится автоматически. из дерева можно сгенерировать необходимое представление.

или ещё проще: нафиг деревья. сразу преобразовывай в постфикс. никакие деревья для этого не нужны: чито прочитали, то и напечатали. постфикс же в нормальный преобразуется простой стековой машиной.


 
Ketmar ©   (2007-02-27 20:58) [7]

> TUser ©   (27.02.07 20:48) [3]
знаешь, сколько раз я такой код писал? для меня это уже no-brainer work...


 
Kerk ©   (2007-02-27 21:06) [8]

Осталось закодить все это на этом гребанном PL/SQL


 
Ketmar ©   (2007-02-27 21:11) [9]

ой. вот с этого и начинать надо было. %-)) тут время сразу возрастает часов до 8.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
8-1152074992
Аман
2006-07-05 08:49
2007.03.25
Ошибка частой перерисовки Image


1-1170404286
Error404
2007-02-02 11:18
2007.03.25
Проверить заполнение компонентов


15-1172662699
TUser
2007-02-28 14:38
2007.03.25
На что живет сеть ICQ?


15-1172522345
SkySpeed
2007-02-26 23:39
2007.03.25
Как сохранить данные с винчестера на CD-R через MS-DOS?


11-1150453176
TeCC
2006-06-16 14:19
2007.03.25
Торможение при перерисовке контрола




   Наверх