Re[21]: Опциональные типы
От: vdimas Россия  
Дата: 11.03.17 12:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

Потратил время на просмотр GLR-темы.

Accent
http://accent.compilertools.net/Accent.html

Описание алгоритма парсинга:
http://accent.compilertools.net/Entire.html
Они там распараллеливают не LR(0), а LR(k).

Elkhound
http://scottmcpeak.com/elkhound/

We present a hybrid algorithm that chooses between GLR and ordinary LR on a token-by-token basis, thus achieving competitive performance for determinstic input fragments.

На однозначных цепочках они получили скорость LALR(1), который, в свою очередь, работает со скоростью LL(1)/LR(0). А более быстрых алгоритмов парсинга не существует. Не реализаций (руки могут быть и кривыми), а именно алгоритмов.

ЧТД. Собсно, у меня были именно такие же наблюдения и я тебе об этом же и говорил — сначала я оптимизировал свою кухню для максимума быстродействия при единственном варианте (на однозначных цепочках). Потом погонял на конкретных своих данных и соптимизировал структуры данных для случая 2-х одновременно прогоняемых вариантов. В твоей предметной области можно остановиться на "вылизывании" случая одной цепочки.

В общем, я ХЗ что ты там читал про GLR и когда.
Не вижу я никакого "ужаса", который ты приписываешь GLR.

==========
Поискал еще упоминания — многие конторы уже успешно сдохли, например много упоминаний VisualParse++, но скачать неоткуда.
Т.е. такое ощущение, что парсерописательское направление не особо востребовано.

Из живых и активно поддерживаемых на сегодня остались только бесплатные, типа ANTRL, GoldParsingSystem, Coco/R и т.д.
Все платные давно умерли.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.