サーチ…


備考

ANTLR v4は、新しいプログラミング言語を構築し、構造化テキストやバイナリファイルを処理/翻訳するための強力なツールです。 ANTLRは、作成した文法を使用して、構文解析ツリー(または抽象構文ツリー、AST)を構築してトラバースできるパーサを生成します。パーサーは、指定したターゲット言語の出力ファイルで構成されます。 ANTLR v4は、Java、C#、JavaScript、Python2、およびPython3を含むいくつかのターゲットをサポートしています。 C ++のサポートが進められています。 GUI IDEでの作業には、Visual Studio、Intellij、NetBeans、Eclipse用のプラグインがあります。

一般的な情報については、 ANTLRのウェブサイトをご覧ください 。 ANTLRについて真剣に考えるには、Terrence Parr(ANTLRを作成した人)が書いた非常に推薦された本「The Definitive ANTLR 4 Reference」をチェックしてください。


重要なバージョン情報

  • 4.5:01/22/15 - JavaScriptターゲットとアップグレードされたC#ターゲットが追加されました。 4.5リリースノート
  • 4.4:07/16/14 - Python2とPython3をターゲットとして追加しました。 4.4リリースノート
  • 4.3:06/18/14 - 主要なバグ修正。新しいターゲットを追加する準備ができました。 4.3リリースノート
  • 4.2:02/04/14 - パースツリーの選択/照合のための構文が改善されました。 4.2リリースノート
  • 4.1:06/30/13 - 解析のパフォーマンスが向上しました。 ASTをPNGにエクスポートします。 4.1リリースノート
  • 4.0:01/21/13 - 初回リリース。

コマンドライン使用のためのインストール

ANTLRはJava Jarファイルとして配布されています。 ここからダウンロードできます 。 ANTLRはjarファイルとしてコンパイルされるため、必要な場合はJavaランタイム環境が必要ですここでダウンロードできます

ANTLR JARファイルをダウンロードしたら、他のJARファイルと同じ方法でANTLRをコマンドラインから実行できます。

Java -jar antlr-4.5.3-complete.jar

(antlr-4.5.3-complete.jarファイルと同じディレクトリで操作していると仮定します)。

これは次のようなものを出力するはずです:

ANTLR Parser Generator  Version 4.5.3
 -o ___              specify output directory where all output is generated
 -lib ___            specify location of grammars, tokens files
 -atn                generate rule augmented transition network diagrams
 -encoding ___       specify grammar file encoding; e.g., euc-jp
 -message-format ___ specify output style for messages in antlr, gnu, vs2005
 -long-messages      show exception details when available for errors and warnings
 -listener           generate parse tree listener (default)
 -no-listener        don't generate parse tree listener
 -visitor            generate parse tree visitor
 -no-visitor         don't generate parse tree visitor (default)
 -package ___        specify a package/namespace for the generated code
 -depend             generate file dependencies
 -D<option>=value    set/override a grammar-level option
 -Werror             treat warnings as errors
 -XdbgST             launch StringTemplate visualizer on generated code
 -XdbgSTWait         wait for STViz to close before continuing
 -Xforce-atn         use the ATN simulator for all predictions
 -Xlog               dump lots of logging info to antlr-timestamp.log

その他の推奨される設定は次のとおりです。

     1. Add antlr4-complete.jar to CLASSPATH, either: Permanently: 
Using System Properties dialog > Environment variables > Create or append to CLASSPATH variable Temporarily, at command line: SET CLASSPATH=.;C:\Javalib\antlr4-complete.jar;%CLASSPATH% 
     3.Create batch commands for ANTLR Tool, TestRig in dir in PATH
         antlr4.bat: java org.antlr.v4.Tool %*
         grun.bat:   java org.antlr.v4.gui.TestRig %*

セットアップ後、.g4文法ファイルを使用してアプリケーションを構築することができます:

Java -jar antlr-4.5.3-complete.jar yourGrammar.g4

-Dlanguageパラメーターを使用して、他の言語のアプリケーションを構築することもできます。たとえば、C#ファイルを生成するには、次のような処理を行います。

java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp

一般的なプログラミング言語の既成の文法の完全なリストについては、 ここを参照してください。

ビルド自動化ツールを使用したインストール

ANTLR最新バージョンをダウンロードし、それをフォルダに展開します。

Maven、Gradle、または他のビルドツールを使用して、ランタイム(生成された文法が使用するクラス): org.antlr:antlr4-runtimeに依存することもできorg.antlr:antlr4-runtime

自動的に - ビルドプロセスの一部として、Mavenプロジェクトにパーサーを生成するには、 Mavenプラグイン org.antlr:antlr4ます。

EclipseにインストールしてHello Worldをビルドする

(ANTLR 4.5.3、Eclipse Neon、ANTLR 4 IDE 0.3.5、およびJava 1.8でテスト済み)

  1. 最新のANTLRをダウンロードしてください。完全なANTLR Javaバイナリーjarを取得してください。他のJavaライブラリが格納されているフォルダなど、適切な場所に保存します。場所は覚えておいても問題ありません。
  1. EclipseにANTLR IDEをインストールします。

    • Eclipseメニューから、「ヘルプ」をクリックし、「Eclipse Marketplace」を選択します。
    • [検索:]ボックスにantlrと入力し、[移動]をクリックします。
    • ANTLR 4 IDEのインストールをクリックします。
    • [選択した機能の確認]ウィンドウで[完了]をクリックします。
    • セキュリティ警告ウィンドウが表示されたら、[OK]をクリックします。
    • Eclipseを再起動します。
  2. 「インジェクタの作成に失敗しました...」というエラーを回避してください。

    • EclipseでANTLR 4環境設定にアクセスする場合、または環境変数HOMEが設定されていない場合、次のエラーが発生します。com.github.jknack.antlr-4ide.Antlr4 for com.github.jknack.antlr-4ide.Antlr4のインジェクタの作成に失敗しました。 。
    • 環境変数HOMEが設定されていることを確認してください。そうでない場合は、システムに合わせて設定してください。
    • Xtext 2.7.3antlr -nnn-complete.jarと同じ場所にダウンロードしてください
    • Eclipseで、「ヘルプ」をクリックし、「新規ソフトウェアのインストール」を選択します。
    • 「Add ...」をクリックして「リポジトリーの追加」ウィンドウを表示します。
    • たとえば、xtext 2.7.3という名前を入力し、[アーカイブ...]をクリックして、Xtext 2.7.3ファイルに移動して選択し、[OK]をクリックします。
    • 「インストール」ウィンドウで、「すべて選択」ボタンをクリックし、「次へ」を2回クリックし、使用許諾契約書に同意します。 Finishをクリックします。
    • Eclipseを再起動します。
  3. ANTLRがあるEclipse / Javaを教えてください。

    • Eclipseでは、「ウィンドウ」をクリックし、「環境設定」を選択します。
    • 左側のペインで、JavaとBuild Pathを展開し、Classpath Variablesを選択します。
    • 右側のウィンドウで、[新規...]をクリックし、名前を入力して[ファイル...]をクリックし、antlr-nnn-complete.jarの場所を参照します。 「OK」をクリックすると、「クラスパス変数」ウィンドウに戻ります。
    • [OK]をクリックして設定を終了します。
  4. (オプション)ANTLR IDE生成ソースディレクトリを設定します。

    • Eclipseのメインウィンドウで、[ウィンドウ]、[設定]の順にクリックします。
    • 左側のペインでANTLR 4を展開し、「ツール」を選択します。
    • [オプション]で、必要に応じてディレクトリを変更します。たとえば、javaは私のターゲット言語なので、./antlr-javaを使用します。
    • [OK]をクリックして[設定]ウィンドウを閉じます。
  5. ANTLR 4プロジェクトを作成します。

    • Eclipseメイン・ウィンドウから、「ファイル」、「新規」、「プロジェクト」に進みます。
    • 「新規プロジェクト」ウィンドウで「一般」を展開し、「ANTLR 4プロジェクト」を選択します。
    • [次へ]をクリックし、プロジェクト名を入力して[完了]をクリックします。
    • デフォルトの新規プロジェクトにはHello.g4ファイルが含まれており、標準的な "Hello World"プログラムを自動的に構築します。
    • パッケージエクスプローラで、新しいプロジェクトフォルダを展開して、ターゲットソースファイルを含むg4ファイルとtargetという名前のフォルダ(または手順5で指定した名前)を表示します。

Visual Studio 2015にANTLRをインストールする(Nugetを使用)

  1. Visual Studio 2015を開き、[ツール]→[拡張機能]→[オンライン]に移動し、Antlrを検索します。拡張ANTLR言語サポート(Sam Harwellによって作成)をダウンロードし、Visual Studioを再起動してください。
  2. 新しいコンソールアプリケーションプロジェクトを作成します。ソリューション→Nuget Packages for Solution→Browse(Tab)を右クリックし、Antlr4を検索してインストールします。 Antlr4ナゲット
  3. 右クリックしてプロジェクトに新しい項目を追加します。 ANTLR4テンプレートを探します。 Antlr4テンプレート
  4. あなたのANTLRファイル(.g4の終わり)から、ファイル→アドバンス・セーブ・オプションに行き、Unicode( 署名なしの UTF-8) - Codepage 65001を検索し、OKをクリックします。それでおしまい。 Antlr高度な保存オプション

すべてが機能するかどうかテストする

  • ANTLR 4複合文法アイテムを作成し、Calculator.g4という名前を付けます。
  • このGithubプロジェクトの電卓のソースコードをコピーして貼り付けてください: Tom Everettによる電卓
  • 文法計算機を文法計算機に変更する
  • ソリューションエクスプローラで→[すべてのファイルを表示]をクリックします。
    ソリューションエクスプローラすべてのファイルを表示する
  • プロジェクトの保存と実行(開始)
  • ソリューションエクスプローラーでobjフォルダーの下に、ビジターとリスナーのように生成されたCSクラスが表示されます。この場合、あなたは成功しました。これで、Visual Studio 2015でANTLRの作業を開始できます。 ANTLR生成クラス


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow