Вниз
Скачать: 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.03 c
2-1172684265
Zloy
2007-02-28 20:37
2007.03.25
Настройка руссификации в базе данных


2-1172850945
pasha star
2007-03-02 18:55
2007.03.25
Переместить форму в право низ..


15-1172505169
Cyrax
2007-02-26 18:52
2007.03.25
partial в C#


1-1170060525
Express
2007-01-29 11:48
2007.03.25
Как динамически создать TStatusBar?


15-1172502918
zona
2007-02-26 18:15
2007.03.25
Помогите сделать своеобразный браузер




   Наверх