1

私が理解している限りでは、AST を構築するには、 ANTLRで戻り値と要素ラベルを使用するだけで十分です。例えば

r returns [int c, String d] :   
        a='class' b=ID  ... {$c=$b; $d=$a;}

この種のeBNFの拡張は、 S-attributed grammarと呼ばれますか?

そのように AST を構築するのは一般的ですか?

私は、この属性付き文法から構築された AST (解析ツリーではない) を解析解除することに特に興味があります。属性を純粋な割り当てに制限する利点はありますか? (関数呼び出しはありません。例) SO で解析解除の問題を説明しました。$c= fun($a)

4

0 に答える 0