ANTLR を使用して AST を構築しています。この文字列に一致するプロダクションを書きたい:
${identifier}
私の文法ファイルには次のものがあります。
reference
: DOLLAR LBRACE IDENT RBRACE -> ^(NODE_VAR_REFERENCE IDENT)
;
これはうまくいきます。独自のアダプターを使用してツリー ノードを発行しています。使用される書き換えルールにより、2 つのノードが作成されます。1 つは 用でNODE_VAR_REFERENCE
、もう 1 つは 用IDENT
です。
私がやりたいことは、(NODE_VAR_REFERENCE
トークン用に) ノードを 1 つだけ作成することです。このノードIDENT
には、「トークン」フィールドにトークンが必要です。
これは書き換えルールを使用して可能ですか? ありがとう。