abstract-syntax-tree

    10熱度

    5回答

    我有一個從ANTLR Parser Generator for Java派生的AST。我想要做的是以某種方式構造源代碼的控制流圖,其中每個語句或表達式都是唯一的節點。我知道這個標識必須有一些遞歸,我想知道你會建議什麼是最好的選擇,如果ANTLR有一個工具集可以用於這項工作。 乾杯, 克里斯 編輯 - 我最關心的是獲得來自AST控制流圖(CFG)。這樣我就可以得到源代碼的樹形圖。爲了澄清,源代碼和實

    1熱度

    2回答

    我正在學習如何爲一個項目做一個ASTVisitor,所以我開始使用Eclipse,它有一個全面的API。 我從這個網站下載打包示例項目: http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html 但我意識到,代碼沒有main()方法,但我能夠運行該程序!有人知道爲什麼[q

    5熱度

    5回答

    我已經閱讀了相關的問題,但沒有一個似乎直接解決了這個問題。我正在編寫一個PHP腳本解釋器。我有AST爲除了類的所有東西生成適當的節點。處理類與處理函數有點不同,所以我正在尋找如何處理獨立的類,並擴展其他類。 我已經看過ANTLR,但是我無法承受這個開銷,因爲這是針對嵌入式平臺的。我在尋找的是理論背後在AST中類的理論,所以它們可以由解釋器的執行者部分執行。與這個問題的具體答案良好的聯繫是肯定的讚賞

    22熱度

    2回答

    如何在Eclipse以外的項目中使用java Eclipse抽象語法樹? (即不是eclipse插件) 我見過的所有Eclipse AST示例都是針對eclipse插件的。有沒有一種方法(例如)使用eclipse AST作爲非eclipse項目的項目。

    4熱度

    3回答

    鑑於在Eclipse下面的代碼: import org.eclipse.jdt.core.dom.AST; import org.eclipse.jdt.core.dom.ASTParser; import org.eclipse.jdt.core.dom.CompilationUnit; public class Question { public static void ma

    1熱度

    5回答

    我正在開發一個逆向工程學校項目,該項目需要翻譯編譯C#項目的操作AST。 我在「將C#代碼翻譯成AST?」中看到過這篇文章。在這個網站上,但它看起來不像我正在尋找的那個。根據我所知道的,目前C#沒有提供像Java一樣的庫類:http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.cdt.doc.isv/reference/api/or

    10熱度

    2回答

    是否可以通過編程訪問javac.exe內部的抽象語法樹(AST)?你能提供一個例子嗎?

    0熱度

    4回答

    除了完成任何真正的工作之外,我還有一個癢。我的癢就是編寫一個視圖引擎,它可以模仿另一種語言(Template Toolkit/Perl)的模板系統。如果我有時間/去學習一些新的項目,這是其中之一。 我花了很多時間看着CoCo/R和ANTLR,老實說,這會讓我的大腦受到傷害,但CoCo/R正在沉入其中。不幸的是,大部分例子都是關於創建一個讀取源代碼的編譯器代碼,但似乎沒有涵蓋如何爲模板創建處理器。

    4熱度

    3回答

    給定特定類源代碼(Java/C#)的行號 - 是否有一種簡單的方法來獲取它所屬的方法的名稱? (如果它落在1之內)(假定使用抽象語法樹) (這對於將checkstyle的輸出限制爲觸摸的方法很有用)。 我假設你不得不使用抽象語法樹做Line# - > MethodName。

    9熱度

    3回答

    //創建一個從傳遞給我們的輸入流讀取的掃描器 CSLexer lexer = new CSLexer(new ANTLRFileStream(f)); tokens.TokenSource = lexer; // Create a parser that reads from the scanner CSParser parser = new CSParser(tokens); // sta