ANTLR分析器產生以下生成的代碼:強制ANTLR使用個性化的TreeAdaptor在解析器
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
我實現我自己的TreeAdaptor,我想解析器總是用我的,從來沒有使用CommonTreeAdaptor( )。我發現的唯一方法是每次我創建一個新的解析器時間設置調用代碼裏面:
Parser parser = new MyParser();
parser.setTreeAdaptor(new MyAdaptor());
有一些方法我可以設置默認TreeAdaptor或一些初始化代碼附加到生成的構造函數?
這不適合我。 '@parser :: members'代碼被添加進來,並且默認的構造函數保留,所以生成的文件具有重複的構造函數。 –
@NathanielWaisbrot,啊,是的,我調整了我的答案。 –
我希望能夠在不必追捕每一個(一大組)解析器的構造的情況下就能夠進行更改。哦,那麼,命名構造函數就是這樣。 –