Eclipse JDT--AST入門

來源:互聯網
上載者:User

最近做program analysis,需要解析Java的原始碼,於是就去看了看Abstract Syntax Tree(AST,中文為抽象文法樹)。有點無奈的是,網上關於這方面的資料比我想象中的少,可能是涉及的東西太底層了吧。AST一般屬於編譯原理方面的 內容,也經常用於程式分析等等。簡單來說,你寫了一坨代碼,編譯器會把代碼轉化成一棵抽象文法樹用於“理解”。每個樹節點代表一個代碼元素,也有自己的屬 性什麼的。關於AST的細節一兩句話肯定說不清楚, 不過好訊息是,Eclipse JDT中有現成的ASTParser可以將原始碼解析成AST,並且有很全面的節點類型和方法供使用者操作。

今天就先把網上一些關於Eclipse JDT中AST相關的資料匯總再這裡,等我自己摸索的差不多了會及時更新這方面的內容。

那啥,轉載請註明出處哦~~~ http://blog.csdn.net/flying881114/archive/2011/02/16/6187061.aspx

---入門文檔

1. Eclipse Corner Article: Abstract Syntax Tree

http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html

(英文,AST的概述,細節代碼不多)

2. 探索Eclipse的ASTParser

http://www.ibm.com/developerworks/cn/opensource/os-ast/index.html#resources

(中文,相對詳細的講解和代碼)

---AST使用

1. Eclipse JDT--AST and JavaModel Tutorial

http://www.vogella.de/articles/EclipseJDT/article.html

(英文,代碼很多,但需要有更多的背景知識)

2. Eclipse AST 使用指南

http://wenku.baidu.com/view/a0b8e07931b765ce050814ac.html

(pdf文檔,更加詳細地說明了AST 相關類與方法,可以與eclipse documentation結合使用)

3. Eclipse documentation

http://help.eclipse.org/helios/index.jsp

其實,最靠譜的還是直接看eclipse文檔。在這裡你可以瞭解你想知道的一切。

4. Yet another AST tutorial

http://sahits.ch/blog/?p=228

英文,有大量代碼,從易到難講解(這篇我還沒看完~)

---使用AST相關

1. 使用AST出現問題。不知道使用什麼jar包。看看這裡吧:

http://lym6520.javaeye.com/blog/747840

2. 想親眼看看你源檔案的AST是什麼樣的。為你的Eclipse裝一個ASTview外掛程式吧。

http://www.eclipse.org/jdt/ui/astview/index.php

(小心。就連Hello World的小程式也有很複雜的AST哦。)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.