Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
11-1151654189
oleg_l_k
2006-06-30 11:56
2007.03.25
Дата создания файла


2-1172756210
vegarulez
2007-03-01 16:36
2007.03.25
Подскажите как правильно раскидать результат запроса.


15-1172829007
hero
2007-03-02 12:50
2007.03.25
Народ объясните что такое нейросеть


3-1167369555
Roma L
2006-12-29 08:19
2007.03.25
Каскадное удаление


2-1172735792
Стас
2007-03-01 10:56
2007.03.25
EControlC





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский