парсер

From
Boris Rudakov (2:5054/9.4)
To
Oleg Antoshkiv
Date
2000-03-01T11:33:09Z
Area
RU.ALGORITHMS
Hello Oleg!

29 Feb 00 17:28, Oleg Antoshkiv wrote to Boris Rudakov:

 OA> ▀▄▀▄▀
 OA> ··▀  Hello, Boris!

 OA>  29 Feb 00 в 18:02, Boris Rudakov написал к Oleg Antoshkiv:

 OA>>> программы, а просто описать последовательность действий. В
 OA>>> книжках приводятся примеры на операции '+', '-', '*', '/', тут с
 OA>>> приоритетами все просто, а как быть в случае, если уровней
 OA>>> приоритетов не 2, а например 5 или даже 10 ?

 BR>> Что, увеличить число рекурсивно-вызываемых функций до нужного
 BR>> количества (по одной на каждый уровень приоритета) вантазии не
 BR>> хватает ? Мнда уж :)
 OA>     Ну например в языке C++ около 40 операций, которые делятся на
 OA> примерно 15 уровней приоритетов. Что для каждого уровня писать свою
 OA> функцию ?
Именно так и никак иначе. Если посмотришь препроцессор из GCC (файл cccp.c), то именно это самое и увидишь.

 OA> Я думал можно как-то универсально, для любого количества уровней.
Это и есть универсально. Наличие уровня определяется наличием функции (правила) для его трансляции.

Причем: обрати внимание, что всякие "табличные методы" трансляции абсолютно ничем не отличаются: если таблица сделана руками (извращение:) то добавление нового уровня должно ее серьезно перестроить, а если таблица создается транслятором трансляторов, то ты все-равно должен написать там новое синтаксическое правило (а то и не одно).

 OA>     Олег

Boris Rudakov,               Гляжу в монитор я и думку гадаю -
BBR                          чаго ж я не монстр, чаго ж не летаю ?

--- Be happy: BBR is looking at you !
 * Origin: АлкАголь малыми дозами безвреден в любых количествах (2:5054/9.4)