Re[14]: [Nitra] Парсинг языков базирующихся на отсупах
От: Evgeny.Panasyuk Россия  
Дата: 02.10.14 20:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

EP>>Или ты имеешь в виду что у парсера больше информации чем у итератора, и из-за этого ему требуется меньше проверок?

WH>Если между парсером и текстом будет стоять итератор то обращение к таблице будет на каждый символ.
WH>Ибо парсер работает с символами.
WH>А если записать данные непосредственно в таблицу мемоизации парсера, то обращения к ней будут только в тех местах, где есть вызов этих правил.

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

WH>Как фильтр точно не вариант. Ибо тормоза.

WH>Отдельным проходом можно. Но тут тоже не всё хорошо.

Без существенной модификации парсера — тут либо то, либо то.
Причём отдельный проход — это ведь тоже тормоза. Правда если весь файл помещается в кэш (и не вымывается из него) — то от второго прохода не так много тормозов.

Кстати, если проход отдельный, и не хочется залезать в charset, то можно просто расширить кодировку — это избавит от необходимости смотреть в таблицу при парсинге.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.