2011-11-21 74 views
8

ANTLR從語法文件生成java源文件。生成的源對ANTLR類具有依賴性。我可以從生成的代碼中刪除ANTLR依賴關係嗎?

我可以使用ANTLR生成'乾淨'的java源代碼,它沒有任何antlr - 依賴性嗎?

如果不是,有人可以推薦一些性能優異的java解析器,並且可以生成乾淨的java代碼嗎?

+0

我認爲這是一個很好的問題。隨着工具,框架和庫的大量可用性,有限的垂直擴展以及橫向擴展和總體能耗的環境影響,我認爲在功能上生成精益無膨脹代碼應該成爲現代質量軟件工程的首要考慮事項。 –

+0

嗨@JonathanNeufeld我同意你的意見 - 我可以引用這個嗎?這就是爲什麼我編碼[jodd](http://jodd.org) - 最小化代碼庫... – igr

回答

2

在ANTLR上刪除運行時依賴關係確實不切實際。您需要使用識別器分發ANTLR運行時庫。

如果我沒有記錯的話,JavaCC會創建一個必需的運行時類(JavaCC「樣板」)作爲「生成」代碼的一部分,這樣就不需要包含額外的JAR。

您對ANTLR依賴關係的關注是什麼?

+0

生成的代碼應該是框架/庫的一部分,因此我想保持最小的依賴關係,以避免可能的衝突現有客戶端antlr罐子的不同版本。但是,更重要的是,我希望如此;) – igr