abstract-syntax-tree

    1熱度

    2回答

    我需要使用ply從正則表達式創建AST。例如,如果RE是(a | b *)abc,我想將一個縮減的元組作爲(':',(':',(':',('|','a',(' *','b')),'a'),'b'),'c')< - ':'表示只是將字符串分成兩部分。 這是我的代碼。 tokens = ( "SYMBOL", "LBRACKET", "RBRACKET", "ST

    4熱度

    1回答

    我正在使用基於示例Clang ASTFrontendActions sample的LibTooling編寫叮噹4.0工具。鑑於目前的聲明stmt,我想在AST中獲得它的直接父母。因此,我想下面的代碼轉儲語句的所有家長(用於測試目的): bool VisitStmt(Stmt *s) { cout <<"Trying to get parents \n"; const Stmt

    2熱度

    1回答

    對於Haskell和函數式編程,我一般都很新,所以如果問題看起來很簡單或很愚蠢,請原諒。 我有一個解析器,用於生成抽象語法樹的簡單語言。爲了扁平化AST(將while和if語句變成跳轉),我需要在樹中放置標籤。問題是,我不知道下一個標籤應該是什麼(我仍然認爲是必要的,因爲如果我有狀態,這些都不會成爲問題)。 是我到目前爲止的功能如下: transform :: Stmt -> FStmt tra

    2熱度

    3回答

    我想要解答這個問題的更多幫助,Evaluating a math expression given in string form。用戶@Boann用一個非常有趣的算法回答了這個問題,他也指出可以改變以接受變量。我已經設法改變它,並讓它起作用,但不知道他是如何分離編譯和評估。這裏是我的代碼: import java.util.HashMap; import java.util.Map; pub

    0熱度

    1回答

    我試圖使用Java TreePathScanner API來確定將從給定編譯生成的類文件的列表。例如,下面的代碼: public class InnerClass { private final InnerInnerClass clazz = new InnerInnerClass(); private class InnerInnerClass { } }

    1熱度

    1回答

    背景: 使用羅斯林用C#,我試圖擴大自動實現的屬性,從而使訪問機構可以通過後處理注入的代碼。我使用StackExchange.Precompilation作爲編譯器鉤子,因此這些語法轉換髮生在構建管道中,而不是作爲分析器或重構的一部分。 我希望把這個: [SpecialAttribute] int AutoImplemented { get; set; } 成這樣: [SpecialAttr

    4熱度

    1回答

    一個空值我有一個ADT如下: sealed trait Tree[A] case object EmptyTree extends Tree[Nothing] case class Leaf[A](value: A) extends Tree[A] case class Node[A](op: Seq[A] => A, branches: Tree[A]*) extends Tree[A]

    11熱度

    1回答

    我正在寫一個自定義的皮棉探測器的樂趣。我正在關於創建custom lint rule in Android(應該與Java相同)的Big Nerd Ranches課程 我可以檢測到我想要的發生。類構造函數被調用。但由於我們通過Abstract Syntax Tree 遍歷的事實,我無法檢測到回調的實現。我不知道如何告訴Java檢查該文件,只有在無法找到事件時才報告。在這種情況下,接口的實現。因爲我

    1熱度

    1回答

    我是呱呱libTooling開發新手。 考慮下面的變量聲明 int i, j, k = 10; ^ ^ 我的項目的要求,我想捕捉整個聲明表達包括「I」,「J」和「K」。 如何捕獲包含clang libTooling的所有變量的完整聲明表達式? 我正在經歷的是,我沒有得到訪問者的完整表達式,而是我得到訪問者的個人變量聲明。 這是叮噹libTooling的預期行爲還是我錯過了什麼? 請建議我

    1熱度

    2回答

    集合不可變,因爲它們是可變的。但有沒有辦法在{1,2,{3,4}}上仍然使用literal_eval?我只想知道外部結構是一個集合,我不關心內部類型,但集合內的集合是可能的輸入。 更新: 輸入從文件中讀取字符串。