解析に変更して、ANTLRWorksでのデバッグ方法も合わせて紹介する。例題を四則演算に戻し、変数を導入したのが以下のE3.gです。CommonTree;}とし、出力を構文木、ASTLabelTypeを標準のCommonTreeと宣言します。出力された構文木が言語依存しないようにtokensでオペレータのトークンを宣言します。ALU_DIV;}ここでは、代入と四則演算を定義しました。構文木を生成する場合に便利なオペレータ!と^の使い方について説明します。...)のように表現し、ルート要素の子要素として、要素1、要素2が生成されることを表します。構文木生成オペレータは、構文の要素の後に!または、^を続けて付けて使用します。NEWLINE!は、NEWLINEを構文木に出力せず、expressionを返す形になります。構文木置換定義>オペレータで構文木の置換方法を指定します。expression)のように代入トークンの下に識別子とその値(expression)の構文木を生成するように指定します。System.out.println($statement.tree.toStringTree());}の部分で確認のために、生成されたツリーを出力しています。入力としてa=1a+2*3を入力したときのOutputとASTの画面です。3)))となっています。ちなにみ^や!オペレータを使用しない場合には、以下のような定義になります(構文のみ抜粋)。factorの定義が複雑になっています。構文木解析T1.gは、以下のような定義になります。grammar宣言を使用します。CommonTree;}のようにtokenVocabで構文木生成に使用したトークンを指定ASTLabelTypeを指定します。†header宣言では、import文やpackage文等のヘッダ情報を宣言します。例では、HashMapをインポートしています。†members宣言では、構文解析で使用するprivate変数やメソッドを定義します。例では、HashMap型のmemory変数を宣言しています。プログラムを作成します。TestE.javaは、以下のように作成します。ビジターパターンを採用しているからです。T1.gANTWorksのリモートデバッグが可能なコードを生成します。最初にTestEを起動し、以下のような入力データを入れます。3))を出力して停止します。Remoteメニューを選択します。Treeで解析の結果が表示されます。コンソールには、計算結果が表示されます。7最後に停止ボタンを押すとプログラムは終了します。このようにANTLRWorksを使って簡単に構文木解析のプログラムもデバッグできます。0皆様のご意見、ご希望をお待ちしております。デバッグオプションは現在-gではなく、-debugになっているようです。16:54:54最新の情報ありがとうございます。18:11:37テストプログラムを使った構文木解析の不明点のところ、h94192@live.jpまでご返事いただければ幸いです。16:06:40再入力します。3))を出力して停止しません。16:12:16上記のE3.gをテキストエディタで入力した後、Antlrworksで上記の手順で試してみてください。18:26:50kappaさん、コメントありがとうございます。構文木は、関数テーブル、変数テーブル、コード変換において共有することに価値があるのだと考えています。例題の作成にはすこしお時間をください。