簡體   English   中英

Java源代碼生成:Eclipse JDT AST vs CodeModel

[英]Java source code generation: Eclipse JDT AST vs CodeModel

我正在編寫一個eclipse插件,它允許用戶使用拖放式UI編寫java代碼。 我遇到過這兩個java源代碼生成庫。 Eclipse JDT AST和代碼模型。

我想了解兩個庫的優缺點。 根據我所閱讀和理解的內容:

  1. AST非常強大。 看看我看過的代碼示例和ASTView插件,我完全相信我們可以使用這個庫編寫任何java構造。 我在代碼模型上找不到大量文檔或樣本的地方。 所以,我對它的力量不是很清楚。 我想知道CodeModel是否和AST一樣強大。

  2. CodeModel所需的代碼量遠小於AST,以實現相同的功能。

  3. 使用AST,我絕對可以重寫現有的java類。 在CodeModel的情況下,我找不到類似的東西

我確實需要1和3中的功能。擁有2也是一個額外的優勢。 我想知道codeModel是否有1和3.請讓我知道這兩個庫的所有優點和缺點。 另外,讓我知道是否有比這兩者更好的庫。

注意:我正在尋找源代碼生成/操作而不是字節代碼操作。

提前致謝。

我在我的eclipse插件中使用了Eclipse JDT AST,原因如下:

  1. CodeModel沒有AST那么強大。 CodeModel沒有很多現有的java構造,其中AST不斷升級,它目前支持jdk 1.7
  2. CodeModel沒有解析器。 它無法讀取現有的java文件並編輯現有代碼。
  3. AST有很好的文檔,而CodeModel很少或沒有文檔。

我對CodeModel一無所知,所以我不能說它是不是一個好項目。 但是,由於您正在創建一個eclipse插件,我建議您使用JDT。 原因主要是為了與其他Eclipse組件兼容。 JDT AST API與其他Eclipse API(資源API,Java模型API,重構API,文本操作API和編輯器API)一起開箱即用,僅舉幾例。 JDT遠非簡單,但它非常強大,非常適合Eclipse模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM