Re: парсер
- From
- Andrey Belyakov ()
- To
- All
- Date
- 2000-03-01T15:32:20Z
- Area
- RU.ALGORITHMS
From: "Andrey Belyakov" <andrejb@care.lv>
Hi, Oleg Antoshkiv !
> >> Ну например в языке C++ около 40 операций, которые
> >> делятся на примерно 15 уровней приоритетов.
> AB> Что-то я насчитал 67...
> Что-то много. Я насчитал максимум 56 (из книжки
> Б.Страуструпа 2-я. ред.)
Перечитай. Операции A&B и &C - разные. Скобки повышения
приоритета и вызова функции - тоже.
> >> Что для каждого уровня писать свою функцию ?
> AB> В рекурсивном спуске - да, почти для каждго и потом
> AB> задаваться вопросом - А где я собственно нахожусь
> AB> (в смысле - какой уровень вложенности) и как отсюда
> AB> выбраться (на случай ошибки)?
> Для этого вроде исключения придумали.
???
Чем они смогут здесь помочь?
> >> Я думал можно как-то универсально, для любого количества
> >> уровней. (это не значит что собрался писать компилятор С++,
> >> это только пример).
> AB> Их написано и немало. Добавишь еще один - good. Считается,
> AB> что хороший программист за свою жизнь пишет хоть один
> AB> транслятор. :)
> С рекурсивным спуском я разобрался, а вот как реализовать в нем
> правоассоциируемость операций ? (например возведение в степень).
Ты же пишешь - разобрался. :) Просто другой порядок вызовов.
Андрей.
--- ifmail v.2.15dev4
* Origin: Demos online service (2:5020/400)