Re[24]: Опциональные типы
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.03.17 05:21
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Там в отличии от LL(k) парсеров предсказание ветвления строится динамически.

WH>Делается это всё исключительно из-за того, что нельзя в общем случае построить предсказатель перехода статически. А во время исполнения у нас всегда конечное множество префиксов из которого всегда можно сделать ДКА.

...

WH>Ничего общего с Эрли оно не имеет. Ибо Эрли вообще не использует предсказание, а тупо парсит все альтернативы одновременно.


Как бы очевидно ложное утверждение. Из того, что есть отличия нельзя вывести отсутствия общего. Это явная логическая ошибка.

Никто не утверждал, что общее у них построение ДКА.

Общее у них динамическая природа. Наличие очень похожих структур данных (записи Эрли и ATN).

И это делает возможным использование идей из АНТЛР4 в Эрли. Добавляем динамический ДКА к Эрли и получаем алгоритм которому не нужно перебирать все возможные варинты.

WH>Главная проблема с восстановлением — это понять какой текст нужно выкинуть и какой терминал придумать. Как тут поможет предсказатель ветвления не понимаю.


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