abstract-syntax-tree

    3熱度

    1回答

    我正在使用clang lib爲某些特定函數編寫編譯器前端。當我穿過的一些代碼,AST是這樣的: typedef int integer; struct _s { integer i; float f; }; 我想 「INT」,而不是 「整數」 當我訪問feildDecl 「整數i;」。 是否有任何API的叮噹輕鬆得到這樣的底層類型?

    0熱度

    1回答

    你好,我已經實現了一個工作得很好的AST訪問者,它可以在控制檯中打印我想從AST獲得的信息,如變量聲明,函數聲明和函數調用。今天,當我在試驗時,我遇到了一個不被識別爲函數調用的函數調用。語法與函數調用相同。下面是代碼: void TIFFError(const char* module, const char* fmt, ...) { va_list ap; va_star

    1熱度

    1回答

    我開發了一個使用Clang libtooling的AST訪問器,我想區分函數原型和函數聲明。我的AST訪問者將這兩種情況作爲函數聲明。下面你可以看到我的代碼訪問函數聲明: bool VisitFunctionDecl(FunctionDecl *func) { if(astContext->getSourceManager().isInMainFile(func->getLo

    1熱度

    1回答

    我正在嘗試使用RecursiveASTVisitor去一次去使用多個文件的AST,並發現這種方法buildASTs從ClangTool,據說這是Create an AST for each file specified in the command line and append them to ASTs。 但是,我無法找到使用示例或指南。 任何人都有將多個來源的AST結合使用的經驗? 我現在所做

    2熱度

    1回答

    自從我上一個python項目已經有一段時間了,所以我有點生疏 - 隨時提供任何建議或批評,因此我有幾個問題關於eval和JSON。 對於這個項目,我僅限於Python 2.6默認庫 - 我試圖解析用於LDAP身份驗證的專有Linux應用程序的數據庫內容。用於查詢數據庫中的特定命令不是嚴格重要的,但我用下面的方法返回包含輸出: process = subprocess.Popen([cmd], sh

    2熱度

    1回答

    不可見我實現在鏗鏘的自定義屬性在官方手冊中描述: http://clang.llvm.org/docs/InternalsManual.html#how-to-add-an-attribute 所以我下面的代碼添加到Attr.td: def MyAttr: InheritableAttr { let Spellings = [GNU<"my_attr">, CXX11<"me", "my_at

    2熱度

    1回答

    我的風格 .a{width: 10px;} ... .a{width: 20px;} 是顯而易見的是第一選擇使用。 我搜索一個工具,給我關於這些地方在CSS的信息。 eg getUnusedRule(styles) - > style.css,rule,selector,smth的行號。其他。 第二種情況是通知有關太嵌套選擇 .a .b .c .d{...} getTooLongSel

    9熱度

    2回答

    我有這個AST data ExprF r = Const Int | Add r r type Expr = Fix ExprF ,我想比較 x = Fix $ Add (Fix (Const 1)) (Fix (Const 1)) y = Fix $ Add (Fix (Const 1)) (Fix (Const 2)) 但是所有的遞歸方案的功能似乎只用單一結構 顯然工作,我可以用遞

    1熱度

    2回答

    我面臨以下問題:我需要開發自定義Lombok註釋處理程序,並且這些處理程序應該將相當複雜的方法注入到對象中。由於這是一個研究項目,該方法的內容可能會改變,我正在尋找一種方法來自動執行一些手動任務。 正如在post中所描述的那樣,創建自定義處理程序過程中的最大痛苦是兩次實現兩次,一次是Eclipse,一次是Javac,AST注入代碼添加方法語句。 所以我的問題是:有沒有任何工具/項目需要輸入一個Ja

    2熱度

    1回答

    我想在編譯時向通用字段添加一些類。爲了實現這個目標,我通過遵循官方documentation實現了我自己的AST註釋和轉換類,並用AST註釋標註了所需的類。 但我得到在編譯時這個錯誤: org.codehaus.groovy.control.MultipleCompilationErrorsException:啓動失敗: /home/.../groovy/Sample.groovy:-1:一個轉換