Re[2]: синтаксический анализатор
От: Аноним  
Дата: 02.08.04 12:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Начну с того, что чаще всего парсеры не пишутся руками, а судя по приведенному коду, это именно тот случай- парсер написан с помощью генератора парсеров. Т.е. создается формальная грамматика языка, по которой затем спец. программа генерит исходник анализатора. Делается так по нескольким причинам:

А>1. Генератор осуществляет проверку грамматики на возможность построения парсера, т.к. не для каждой грамматики можно создать парсер. Если ты будешь все делать руками, то можно допустить ошибку и твой парсер будет анализировать неправильно.
А>2. Парсер работающий на автоматах быстрее.
А>3. Удобство- как ты сам заметил анализировать код парсера- занятие не доля слабонервных, зато если посмотреть на формальную грамматику- все намного понятнее.

А как же заполняется код внутри состояний. Он не похож на машинно генерированный.
И что делают, если надо расширить синтаксис, код-то внутри уже написан?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.