ANTLR (Другой инструмент для распознавания языка) — мощный генератор синтаксического анализатора для чтения, обработки, выполнения или перевода структурированного текста или двоичных файлов. Он широко используется для создания языков, инструментов и фреймворков. Из грамматики ANTLR генерирует синтаксический анализатор, который может строить деревья синтаксического анализа, а также генерирует интерфейс слушателя (или посетителя), который позволяет легко реагировать на распознавание интересующих фраз.
Статус сборки ветки разработки
(действия github)
ANTLR 4 поддерживает 10 целевых языков (Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go), и обеспечение согласованности между этими целевыми объектами является уникальной и очень ценной функцией. Чтобы обеспечить правильную поддержку этой функции, каждый выпуск ANTLR представляет собой полную версию инструмента и 10 сред выполнения одной и той же версии. Таким образом, управление версиями ANTLR не строго следует семантике semver:
Если вы используете верификатор semver в своем CI, вы, вероятно, захотите применить специальные правила для ANTLR, например рассматривать незначительные изменения как серьезные изменения.
Веткой по умолчанию для этого репозитория является master
, которая является последней стабильной версией и имеет теги для различных выпусков; например, см. тег выпуска 4.9.3. Разработка dev
— это место, где разработка происходит между выпусками, и все запросы на включение должны быть получены из этой ветки. Ветка dev
объединяется обратно в master
для вырезания релиза, а состояние релиза помечается тегом (например, 4.10-rc1
или 4.10
). Визуально наш процесс выглядит примерно так:
Цель Go теперь имеет собственный специальный репозиторий:
$ go get github.com/antlr4-go/antlr
Примечание. Специальный репозиторий Go предназначен только для go get
и import
. Разработка среды выполнения Go по-прежнему выполняется в основном репозитории antlr/antlr4
.
Следующие страницы также могут оказаться вам полезными, особенно если вы хотите разобраться с различными целевыми языками.
Программисты постоянно сталкиваются с проблемами синтаксического анализа. Будь то формат данных, такой как JSON, сетевой протокол, такой как SMTP, файл конфигурации сервера для Apache, файл PostScript/PDF или простой язык макросов электронных таблиц — ANTLR v4 и эта книга прояснят этот процесс. ANTLR v4 был переписан с нуля, чтобы упростить создание парсеров и языковых приложений, созданных на его основе. В этом полностью переписанном новом издании бестселлера «Полный справочник по ANTLR» показано, как воспользоваться преимуществами этих новых функций.
Вы можете купить книгу The Definitive ANTLR 4 Reference на Amazon или электронную версию на сайте издателя.
Вы найдете исходный код книги полезным.
Этот репозиторий представляет собой коллекцию грамматик без действий, где имя корневого каталога представляет собой имя языка, написанное строчными буквами, анализируемого грамматикой. Например, java, cpp, csharp, c и т. д.