[英]Python AST - finding particular named function calls
我正在嘗試分析一些 Python 代碼,以確定調用特定函數的位置以及正在傳遞的 arguments。 例如,假設我有一個包含model.fit(X_train,y_train)的 ML 腳本。 我想在腳本中找到這一行,確定適合的 object(即model ),並將X_train和y_train識別 ...
[英]How to create self-referential AST in Rust?
假設我們有一個非常簡單的編程語言 AST,只有函數和調用use std::sync::Arc; struct Function { pub body: Vec<Call> } struct Call { pub function: Arc<Function&g ...
[英]How to solve caveats of ast.unparse?
我想修改 python 源代碼的一些結構(例如變量名)。 使用普通的 python 很麻煩,所以我使用抽象語法樹。 使用ast (內置 python 庫)對我來說效果很好,但在ast.unparse()的文檔中有兩個我擔心的警告,因為我不想進行任何不受控制的修改。 如何在不遇到這些問題的情況下解 ...
[英]Remove If block with FunctionDef keeping the untouched code as it is
我需要用包含相同 if-else 的 function 替換 if-else 部分。 例如: 以下是帶有 if-else 條件的代碼 現在我想改變這個 if使用ast.FunctionDef ,我正在使用ast來解析代碼並使用ast.NodeTransformer進行替換,但是當我使用ast.un ...
[英]how to deal char ':' and assign(:) in ANTLR4 grammar
我想用 antlr4 解析 yaml。 目標文件包含image: xxx.com/node:8.14 。 然后我寫了一個這樣的語法文件: 得到這樣的結果:[antlr4] ➜ dronemigrate antlr4-parse Drone.g4 yaml -tree -trace drone. ...
[英]Rendering mathematical equations with AST in SFML C++
我正在嘗試從 SFML 中的 AST 樹渲染數學方程式。 我當前的方法是使用 function 從字符創建基礎sf::Texture ,例如: 然后在遍歷 AST 樹時將這些紋理合並/移動/復制到更復雜的方程中。 例如,給定一個表達式(x+1) ,我可以對每個字符使用GetTextureFrom ...
[英]Go code "grep": show me all functions which return a struct called FooBar
有沒有辦法搜索(又名“grep”)一些 Go 代碼,並顯示返回名為“FooBar”的結構的所有函數/方法? 命令行工具會很好,或者在 vscode 中執行此操作的方法。 在 vscode 中,如果我使用“Go to References”,我也會看到這個結構的方法(我不想看到) 更新:我知道如何通過 ...
[英]ast.literal_eval() ValueError: malformed node or string
我有一個作為文本下載的 blob(來自 GCP 存儲;見下文),分配給變量metafile : 我正在嘗試加載它並將其轉換為字典: 但是我遇到了這個錯誤: 我在這里做錯了什么? 是什么導致了這個錯誤? ...
[英]Add Comment in a CSS file with ReworkCSS
我正在嘗試使用 ReworkCSS 解析器來: 在 CSS 聲明上方添加評論注釋掉一些 CSS 聲明我已經有了代碼來識別要評論/添加評論的聲明。 只是想弄清楚如何在將 AST 渲染回 CSS 之前修改聲明。 這是我一開始的代碼示例: 處理后,我想得到這樣的東西。 ...
[英]How to detect and extract variables from angular html template using AST?
我有一個用 Angular (html+typescript) 編寫的項目。 我想獲取每個組件的 HTML 模板中的所有變量。 例如我有 HTML 組件看起來像這樣: 所以我的變量是value和foo 。 是否可以解析 angular 模板並使用一些 AST 工具檢測這些變量? 我嘗試使用@ang ...
[英]Convert a string with a math formula to an object tree?
賞金將在 7 天后到期。 此問題的答案有資格獲得+200聲望賞金。 stackdeveloper想要獎勵現有的答案: 非常感謝@Matt Timmermans,我想獎勵你更多我正在尋找一個 function 轉換作為參數傳遞的數學字符串(使用操作+ , - , / , * ),返回包含數學字符串 ...
[英]How to I convert a string that contains a list of sets to list without changing the order of the sets?
我有一個包含集合列表的字符串 - 我希望它是這樣的 - 當我使用 ast.literal_eval() 時,集合的順序發生了變化 - 請建議我如何保持集合中元素的順序。 謝謝你。 ...
[英]How to remove a child node from Python AST parent node with NodeTransformer?
鑒於某些代碼的 AST 的一部分,我需要從函數定義中刪除特定的默認分配。 具體來說,我需要從將這些變量用作參數的函數定義中刪除列表vars_to_remove中包含的所有變量。 例如,采用vars_to_remove = ['sum1']和函數def do_smth(sum = sum1): 。 ...
[英]What is faster: iterating through Python AST to find particular type nodes, or override the visit_type method?
Python中的ast模塊允許多種遍歷策略。 我想了解,在選擇特定的遍歷方式時,在復雜性方面是否有任何顯着的收獲? 這里有兩個例子: 示例 1 示例 2 在示例 1 中,我覆蓋了 generic_visit 方法,提供了我自己的遍歷樹的實現方式。 然而,這是通過訪問身體中的每個節點而發生的,所以 ...
[英]How to stop current traversal of visitEachChild in TypeScript Transformer API?
當訪問父節點的每個節點時,使用visitEachChild ,當我不想再訪問下一個子節點時如何停止它,例如: 父節點節點 1 節點 2 <-- 我只想到這里。 節點 3 節點 4 節點 5 你怎么能停止巡演? 也就是說,我不想繼續或迭代節點 3、4、5 等,就像“中斷”一樣。 例如: 變壓器 ...
[英]How to make cheerio not to self-close tags?
此代碼與cheerio的輸出: 作為自關閉標簽返回: 是否有可能改變這種行為(自我關閉)? 我不想用那個。 我嘗試了這些選項,但似乎並不影響輸出: 還有其他解決方案嗎? codesandbox.io ...
[英]Why is the Interpreter design pattern not applicable when efficiency is a critical concern?
在四人組撰寫的設計模式一書中,解釋器模式的“適用性”部分說明了以下內容: 效率不是關鍵問題。 最高效的解釋器通常不是通過直接解釋解析樹來實現的,而是首先將它們翻譯成另一種形式。 例如,正則表達式經常被轉換成狀態機。 為什么直接解釋解析樹效率不高? 狀態機如何幫助提高這種效率? 對於句子的“解釋”, ...
[英]Why does GO AST Parser regenerate code with extra spaces or indents?
我正在嘗試從 ast of a go 程序重新生成源代碼。 重新生成源代碼后,我試圖將其與原始源代碼相匹配。 但是重新生成的源代碼在代碼的某些地方給出了一些額外的空間。 代碼如下。 有人可以幫我怎么做才能從 ast 中獲得與原始代碼完全相同的源代碼嗎? ...
[英]ast.literal_eval not working as part of list comprehension (when reading a file)
我正在嘗試解析一個包含多行的文件,每行代表一個整數列表或其他列表。 文件中的示例數據: 我正在嘗試使用以下語句將文件讀入數據結構元組列表(嵌套列表): 這失敗了以下堆棧跟蹤,讓我相信數據在某個地方損壞了(不匹配的括號或類似的東西): 所以我將程序縮減為手動循環,問題不再重現。 所以下面的代碼,首先 ...