Информация об изменениях

Сообщение Re[4]: Чего бы почитать про архитектуру компиляторов? от 13.03.2015 23:48

Изменено 15.03.2015 12:47 VladD2

Здравствуйте, AlexRK, Вы писали:

ARK>А какую литературу порекомендуете для более полного ознакомления с современными технологиями? Желательно на русском, если такие издания существуют, конечно.


К сожалению, для полного хвата придется искать отдельные статьи. По парсерам интересны алгоритмы Packrat (упоминается во втором драконе, но не разбирается серьезно, если не ошибаюсь), TDOP Pratta, GLR и GLL представляют теоретический интерес, ALL(*).

Мы в Nitra реализовали алгоритм на основе Packrat-а и TDOP, плюс алгоритм восстановления на основе модифицированного алгоритма Earley. Уверен, что по сумме показателей наш алгоритм на сегодня самый совершенный, хотя, как и все на земле, не идеальный. ALL(*) из ANTLR тоже интересный алгоритм, но он не поддерживает динамической расширяемости и имеет ряд ограничений.

GLR и GLL самые мощные (всеядные) алгоритмы, но из-за своей тормознутости плохо применимы на практике.

Серьезных работы по типизации я вообще не видел. Лучшее что видел — это что-то описывающее типизацию в ML-подобном языке. При этом там было море "матана", т.е. мозгоразрывающих формул и туманных и длинных объяснений.
Re[4]: Чего бы почитать про архитектуру компиляторов?
Здравствуйте, AlexRK, Вы писали:

ARK>А какую литературу порекомендуете для более полного ознакомления с современными технологиями? Желательно на русском, если такие издания существуют, конечно.


К сожалению, для полного охвата придется искать отдельные статьи. По парсерам интересны алгоритмы Packrat (упоминается во втором драконе, но не разбирается серьезно, если не ошибаюсь), TDOP Pratta, GLR и GLL представляют теоретический интерес, ALL(*).

Мы в Nitra реализовали алгоритм на основе Packrat-а и TDOP, плюс алгоритм восстановления на основе модифицированного алгоритма Earley. Уверен, что по сумме показателей наш алгоритм на сегодня самый совершенный, хотя, как и все на земле, не идеальный. ALL(*) из ANTLR тоже интересный алгоритм, но он не поддерживает динамической расширяемости и имеет ряд ограничений.

GLR и GLL самые мощные (всеядные) алгоритмы, но из-за своей тормознутости плохо применимы на практике.

Серьезных работы по типизации я вообще не видел. Лучшее что видел — это что-то описывающее типизацию в ML-подобном языке. При этом там было море "матана", т.е. мозгоразрывающих формул и туманных и длинных объяснений.