抽象语法树(AST)表示正式文档(程序源代码)的递归结构。
我写了一个自动静音的程序。在运行时,我读取源代码,使用 go/parser 对其进行解析,在 ast 中搜索正确的位置,创建一些 go/ast.Expr,将它们插入到 ast 中并格式化新的...
在 Clang 中从限定类型 (QualType) 合成声明
使用 Clang C++ API 时,假设我有一个 QualType,我将如何合成该特定 QualType 的变量声明,这只是为了询问该声明的属性...
是否可以使用RecursiveASTVisitor仅遍历AST的子树
我想用clang的RecursiveASTVisitor遍历一个具有巨大AST的项目。当我指定应该遍历整个 AST 时(如下所示),需要花费很多时间: 无效我的访客::
如何将 Python 对象(列表)转换为 ast.List 对象,以便我可以将其作为节点附加到主 AST 树 巨大的列表[1,“ABC”,4.5] 对象 = ast.Assign([ast.Name(
错误:与 Flex 词法分析器集成时,Bison 解析器中存在未知类型名称“ASTNode”
我正在开发一个项目,其中使用 Bison 生成解析器并使用 Flex 生成词法分析器。我的解析器旨在生成抽象语法树(AST),并且我已经定义了 ASTNode 结构
如何在 clang-tidy 检查中将复制初始化转换为直接列表初始化?
我想编写一个 clang-tidy 检查来查找具有复制初始化(ICIS_CopyInit)的字段声明,并可以将它们更改为直接列表初始化(ICIS_ListInit)。 有一个办法
如何告诉 clang AST 工具在哪里可以找到 stddef.h?
我有一个基本的 clang AST 访问者(在 chatGPT 的帮助下构建) #包括 #包括 #包括 #包括...
如何指示 clang AST 访问者使用与 clang 本身相同的默认包含搜索路径
我有一个基本的 clang AST 访问者(在 chatGPT 的帮助下构建) #包括 #包括 #包括 #包括...
如何获取 clang::CXXMethodDecl 的访问说明符?
我想知道在编写 clang-tidy 检查时我的 C++ 方法是公共的、受保护的还是私有的。这似乎是一个非常简单的任务。但我不知道如何解决这个问题,因为...
使用 AST(抽象语法树)模块从 python 语法中提取库数据
“”“ 将 sklearn 导入为 sk 从 sklearn.ensemble 导入 ExtraTreesRegressor 从 sklearn.model_selection 导入 train_test_split 选择= ExtraTreesRegressor() 选择.fit(X,y) X_...
如何将 Markdown 解析为 AST,对其进行操作,然后将其写回 Markdown?
我想以编程方式修改 Markdown 文件。 我一直在研究 Markdown 解析器并尝试了其中的一些;即 Marked、Markdown-it 和 Commonmark。他们提供对 AST 的访问,这一切......
如何在tree-sitter查询中使用or逻辑? 我想查询一个类的属性和方法: 我尝试使用|: (类声明 名称:(类型标识符)@类名称 身体:(类...
我有一个 python 脚本,我正在尝试“解码”它,以便我可以将其转换为 xml,但对于这个练习,我只是想了解如何使用 ast.walk() 以及如何使用最好...
如何获取tree-sitter中类/属性/方法的树结构数据?
如何获取tree-sitter中类/属性/方法的树结构数据: 我只能匹配如下所示的类: const 解析器 = require("tree-sitter") const JavaScript = require("t...
我想解析libcst中的以下Python文件: MY_VAR =“我的_val” def my_func(arg): # ... my_func(MY_VAR) 使用 libcst 我可以将“MY_VAR”作为字符串获取: 与...
我有一个工作代码生成器,在顶层,它只是实例化模块并负责所有连接 - 该生成器已被证明是有效的。 我现在想对一些ins进行分区...
我尝试匹配所有调用 std::sort 的表达式,所以我写了这样的代码 不幸的是,这个类的检查函数没有被调用。 我也尝试过像这样的 AddMatcher 代码: 但它仍然...
无法在配置文件中启用 groovy TypeChecked 和 type-checking-extension
我需要在编译项目时启用 TypeChecked。而且我还想针对某些类型的编译错误自定义编译错误输出,因此我根据需要编写了一个 Type-Checking-Extension...
给定输入,例如: 查询=(“类名”,“函数名”,“参数名”) 如何用其他提供的节点替换找到的内容? 前阶段的解析示例:
我正在自学如何为编程语言编写解释器,并且我已经阅读了有关抽象语法树的内容。我知道它们是什么,但我不知道它们的用途。 为什么A...