abstract-syntax-tree

    0熱度

    3回答

    在下面的模塊中,我嘗試添加myModel以進行調試以查看AST。 module FlowGraphsAndClassDiagrams import analysis::flow::ObjectFlow; import lang::java::flow::JavaToObjectFlow; // Added to check the M3 model import lang::java::

    1熱度

    1回答

    我正在研究解析由Swift編譯器(swiftc -dump-ast)生成的AST轉儲的ANTLR 4語法。 查看Swift程序示例和下面的相應AST轉儲。 不幸的是,由於bug in the compiler轉儲可能包含不平衡的括號(在某些樹節點中缺少右括號)。 更改如下treeNode規則允許解析這種損壞輸出: treeNode : '(' treeNodeContent ')'

    2熱度

    2回答

    我有我的自定義類代表一個對象。 我想使該對象與「ast.literal_eval()」兼容「 我該怎麼做?如有必要,我可以將必要的方法/代碼添加到我的課程中。

    0熱度

    2回答

    有沒有更好的方法來做到這一點?我需要知道v的類型是否是內置的「錯誤」類型。我覺得應該有這樣做的更合適的方法: import ( "go/ast" "go/types" ) func IsError(v ast.Expr, info types.Info) bool { t := info.Types[v] return t.Type.String() =

    1熱度

    1回答

    我試圖建立一個小程序libclang它檢索特定函數調用的函數/方法的定義。 舉例來說,我有以下main.cpp: int add(int x, int y) { return x + y; } int main() { int a = 1; int b = 1; int c = add(a, b); return 0; } 我想打

    0熱度

    1回答

    要返回完全建立AST,有人告訴我,我應該用我在其中存儲它一個全局變量: %{ AST::Root* root; %} %start program %% program: ... { $$ = root = new AST::Root(...) } ... ; 但是,這是唯一的辦法?還是有更好的辦法,也許一種方式直接從yyparse()返回

    0熱度

    1回答

    我看到類似的問題已被問到,並且有幾個答案,但這些答案都不適用於我正在查找的內容,所以在這裏我走 - 我使用XCODE 8.3和我在下載LLVM並遵循所有的步驟在這裏: - http://clang.llvm.org/get_started.html 我創建了一個Xcode命令行C++工具中,我試着包括CLANG標題,如clang/ASTMatchers/ASTMatchers.h等。 它引發了一堆

    0熱度

    1回答

    我對python和pycparser比較陌生。我已經使用來自https://github.com/eliben/pycparser的c-to-c.py文件將c文件解析爲AST。我正在嘗試使用AST創建CFG,但我無法將信息作爲字符串存儲在.show()中。我如何去存儲這個.show()信息,我試圖使用test=ast.children()[0][1].show()然而,當我試圖打印test出它說「

    1熱度

    2回答

    所以,我正在爲我正在製作的語言做一個類似於Python的解釋器。現在我明白這不是一個小任務,我不期望它工作得很好或者做得很多,但我希望它具有一些基本功能(變量,函數,循環,if語句等)。 因此,目前我處於解釋器獲取文件並將其分割爲令牌列表的階段,現在我準備將這些令牌轉換爲AST。我打算用遞歸下降解析器來做到這一點,我相信我明白,但這是問題所在。比方說,我有以下輸入 1 + 2 * 3 這將輸出

    0熱度

    1回答

    我正在嘗試爲簡單編程語言(作業)構建AST。 但是我無法讓它工作:看起來中間值($ 1,$ 2,...)是無效的,並不對應於我在「子表達式」中返回的內容。 這裏是我的項目的野牛代碼(我認爲問題在這裏,而不是在我的AST函數):我已經把註釋放在我遇到無效值的地方。這是我使用Bison的第一個項目,所以我不確定我是否正確做事。 我也使用Flex,但flex代碼似乎正常工作。 謝謝。 %{ #incl