ANTLR (言語認識用のもう 1 つのツール) は、構造化テキストまたはバイナリ ファイルの読み取り、処理、実行、または翻訳を行うための強力なパーサー ジェネレーターです。言語、ツール、フレームワークを構築するために広く使用されています。 ANTLR は文法から、解析ツリーを構築できるパーサーを生成し、また、関心のあるフレーズの認識に簡単に応答できるようにするリスナー インターフェイス (またはビジター) も生成します。
開発ブランチのビルドステータス
(githubアクション)
ANTLR 4 は 10 のターゲット言語 (Cpp、CSharp、Dart、Java、JavaScript、PHP、Python3、Swift、TypeScript、Go) をサポートしており、これらのターゲット間で一貫性を確保することは、ユニークで非常に価値のある機能です。この機能を適切にサポートするために、ANTLR の各リリースは、ツールと 10 個のランタイムの完全なリリースであり、すべて同じバージョンになっています。そのため、ANTLR のバージョン管理は semver セマンティクスに厳密に従っていません。
CI で semver ベリファイアを使用する場合は、マイナーな変更をメジャーな変更として扱うなど、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 で購入するか、出版社のサイトで電子版を購入できます。
Book のソース コードが役立つことがわかります。
このリポジトリはアクションのない文法のコレクションであり、ルート ディレクトリ名は文法によって解析された言語のすべて小文字の名前です。たとえば、java、cpp、csharp、c など...