Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 12

Спасибо за пример

Молодец, продолжай давать ссылки в публичном пространстве и убивать их.

Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4.

Сильное заявление. Хотелось бы и аргументы узнать.

Кстати, да. Для такого DSL, как тут описан, вполне возможно что-то типа Parsec было бы сильно проще. Реализаций уже дофига на любой вкус. А ANTLR именно что из пушки по воробьям.

Из статьи:

Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.

Это ведь туториал, в планах есть продолжение статьи с тем что мы сделали для себя

для нас оказалась лучшей:

  • одна из самых популярных (>11K звезд на гитхабе)

  • живая (последние обновления <недели назад)

  • делит грамматику и код, что очень удобно, т.к. мы можем по одной грамматике сгенерить парсеры под разные ЯП - для нас важно

Ну, так для размышления — предок ANTLR появился году этак в 1990, а ANTLR4 — девять лет назад. А первая статья на Хабре про него была кажется году этак в 2012 (не удивительно, потому что уже ANTLR3 был более чем рабочим и широко применялся). Вообще всегда странно, когда пишут сотый туториал по давно пережеванной теме, по которой вышло несколько книг как минимум, и при этом во вводном тесте пока что нет ни слова, чем же этот продукт оказался лучше других (и тут напрашивается указание на другие продукты, с которыми сравнивали), и что нового будет в этом туториале.

Ну т.е. я не хочу сказать, что еще один туториал писать не нужно — но все же желательно бы сразу рассказать, чем же он будет лучше других.

>последние обновления <недели назад
Последние три релиза — багфиксы, что как-бы намекает скорее на на активное развитие, а на наличие багов :) Во всяком случае, я бы еще смотрел на набор issues, как долго они исправляются, какова их серьезность и влияние на меня.

Вот да, если вам нужно парсеры на разных языках — то вариант а-ля parsec очевидно отпадает, потому что там код==грамматика.

@timurnav спасибо за статью. Понимаю, что прошло уже много времени, но подскажите, а UI с подсветкой синтаксиса вы не делали на основе "ANTLR"?

Тимур, спасибо большое за статью! Сэкономил массу времени, благодаря ей.

Рад, что мой труд остался не бесполезен

Зарегистрируйтесь на Хабре, чтобы оставить комментарий