Comments 11
Пример использования https://github.com/future2r/chess
Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4.
Сильное заявление. Хотелось бы и аргументы узнать.
На Idris есть https://github.com/ziman/lightyear , аналог Parsec (взято отсюда https://habr.com/ru/post/492460/comments/#comment_21395472 )
Не спорю с вами, конечно
Из статьи:
Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.
Это ведь туториал, в планах есть продолжение статьи с тем что мы сделали для себя
для нас оказалась лучшей:
одна из самых популярных (>11K звезд на гитхабе)
живая (последние обновления <недели назад)
делит грамматику и код, что очень удобно, т.к. мы можем по одной грамматике сгенерить парсеры под разные ЯП - для нас важно
Ну т.е. я не хочу сказать, что еще один туториал писать не нужно — но все же желательно бы сразу рассказать, чем же он будет лучше других.
>последние обновления <недели назад
Последние три релиза — багфиксы, что как-бы намекает скорее на на активное развитие, а на наличие багов :) Во всяком случае, я бы еще смотрел на набор issues, как долго они исправляются, какова их серьезность и влияние на меня.
Вот да, если вам нужно парсеры на разных языках — то вариант а-ля parsec очевидно отпадает, потому что там код==грамматика.
@timurnav спасибо за статью. Понимаю, что прошло уже много времени, но подскажите, а UI с подсветкой синтаксиса вы не делали на основе "ANTLR"?
Тимур, спасибо большое за статью! Сэкономил массу времени, благодаря ей.
Разбираемся с библиотекой лексического анализа ANTLR4