Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: 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 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
6-1160421483
sinus
2006-10-09 23:18
2007.03.25
ClientSocket


4-1162879871
Николай1984
2006-11-07 09:11
2007.03.25
Обмен данными чарез LPT-LPT, USB-USB, COM-COM


4-1163097625
Shopot
2006-11-09 21:40
2007.03.25
Прием/передача данных по com порту.


15-1172496149
Двоишник
2007-02-26 16:22
2007.03.25
Лицензия


2-1172883049
arturich
2007-03-03 03:50
2007.03.25
Поиск в тексте