This page描述了我可以如何使用javac中的代碼生成器生成代碼,因爲我可以構建AST(使用我編寫的獨立分析器)。該技術涉及編輯javac的源代碼以基本上繞過Java解析器,以便可以將他/她自己的AST提供給代碼生成器。這可以工作,但我希望以稍微乾淨的方式做到這一點。我想在我的項目中包含生成部分javac的代碼作爲庫,這樣我就可以使用它生成代碼,而不需要將其餘的javac源代碼帶入其中。是否有一個Java庫從AST生成類文件?
有沒有辦法做到這一點與javac,或者有可能是一個更好的庫?
此外,隨意更改問題的標題。我想不出一個更好的,但有點含糊不清。如果你建議編輯一個更好的標題,我會接受它。
這是你自己的AST,一個常見的中間AST,或者已經被javac使用的AST嗎? (這部分對我來說不是很明顯。) – 2012-07-26 20:35:47
我自己的AST。我用我寫的解析器生成它。 (對不明) – Hassan 2012-07-26 20:36:57
如果是你自己的AST,你首先必須翻譯成javac使用的AST表單。 – 2012-07-26 21:09:56