abstract-syntax-tree 相关问题

抽象语法树(AST)表示正式文档(程序源代码)的递归结构。

如何在控制台文本编辑器C#中实现文本高亮

我创建了一个类似于 vim 的应用程序,一个小型控制台文本编辑器。我在文本突出显示的实现上遇到了问题。 我知道有两种方法可以写这个,要么使用 re...

回答 1 投票 0

如何在没有@TypeChecked或@CompileStatic的情况下进行Groovy编译时错误检查?

一个springboot gateway项目,用Groovy编写,即所有的Controller和Service都在*.groovy中。 事实上,代码完全是java风格的。使用groovy仅用于热更新。所以我们不需要...

回答 2 投票 0

如何在Python中动态创建函数对象而不使用compile()、exec()或lambdas

我一直在尝试在Python中动态创建和更改函数。我研究过网络和 Stack Overflow,但我看到的大多数解决方案都使用以下其中一项,但我不想要: exec() 一个...

回答 1 投票 0

Groovy AST:局部和全局转换的顺序

我有一个 AST 转换,它既作为全局转换又作为本地转换运行。 这个想法是, 全局 AST 找到所有用 @Entity 注解的类 本地 AST 正在“注入”一系列...

回答 1 投票 0

如何使用 python libclang 绑定解析多维数组

我遇到了困难,在我看来,这应该是一个相当简单的任务:使用 python 绑定到 libclang 我想获取 POD C++ 的多维数组字段的维度

回答 1 投票 0

如何使用 clang 及其 Python 绑定解析具有 OpenACC pragma 指令的 C/C++ 程序的 AST?

我想解析具有 OpenACC pragma 指令的 C/C++ 程序的 AST(请参见下面的示例)。 我的最终目标是生成一个 JSON 文件,其中包含所有 pragma-代码块对 pragma

回答 1 投票 0

JavaScript MemberExpression AST 节点中的计算和可选意味着什么?

我有 a.x = b.y 作为 AST 节点: { "type": "表达式语句", “开始”:122, “结束”:131, “表达”: { “类型”:“

回答 2 投票 0

通过AST重写一段c++变量声明代码

我目前正在尝试重写 C++ 代码 查询 q( “从 %T 中选择 %LC,其中 %W”, 获取列数组(), “表名”, buildConstraints(id, "abc&qu...

回答 1 投票 0

使用分词golang解析函数调用语句

我想创建一个简单的解析器来解析函数调用,即 function(arg1, arg2, kw1=v1, kw2=v2) 我一开始相当简单,为键和值创建一个解析器语法作为属性结构......

回答 1 投票 0

Dart 替换抽象语法树中的节点

我想在下面的代码中将 print(a) 替换为 print(a+b) 。 无效主(){ 字符串 a =“嘿”; 字符串 b =“那里”; 打印(\$a); } cn 是 AstNode & cn 包含 print($a) 他们是……

回答 2 投票 0

clang AST 用于单行多变量声明

我正在尝试使用 python 中的 libclang 来遍历以下 C 代码片段的 AST: /* 简单.c */ 布尔 LED0 = 0; /* 状态0 */ 布尔 LED1 = 0; /* 状态1 */ 布尔 LED2 = 1; /* 状态2 */ /* 输入...

回答 1 投票 0

libTooling 应用程序可重写语句,同时保留前导和尾随注释

我正在编写一个源到源转换工具,使用 clang libTooling 来转换 C 源代码。 这涉及重写以下语句类型:clang::ifStmt、clang::whileStmt、clang::

回答 1 投票 0

如何调试 `ast.literal_eval` 中的错误?

我使用 pprint.PrettyPrinter 将数据写入文件,并尝试使用 ast.literal_eval 读取它。 这对我来说已经工作了一段时间了,我对文字相当满意

回答 1 投票 0

Rust Crates 从 C 源文件生成 AST,而不执行错误检查

我正在尝试使用 Rust 编写一个愚蠢的工具来像这样转换 C 代码 int sys_close(int fd) { file_t *f = proc_getfile(proc_curr(), fd); 如果(!f){ 返回-1; }别的{ f关闭(f); ...

回答 1 投票 0

用Python中的div函数调用替换包含'/'的表达式

我正在编写Python代码,用实际的函数调用替换包含“/”的表达式。例如:'(n/7-7) +(n/3+3)' 应变为 '(div(n,7)-7 + ( div(n,3)+3)'。请仅注意 '/ ' 操作数 n...

回答 1 投票 0

如何打印嵌套函数的名称?

例如我们有这样的: def function_one(): print("函数一") def function_two(): print("函数二") def function_two(): 打印(&q...

回答 1 投票 0

使用 Babel 重命名函数参数而不更改其他相同的标识符

我正在开发一个 JavaScript 项目,我需要能够以编程方式重命名函数参数。我面临的具体挑战是区分函数参数和其他参数

回答 1 投票 0

在自定义 ESLint 规则的回调函数中使用 async/await 的问题

我在自定义 ESLint 规则中集成异步/等待操作时遇到问题。这是我的代码的简化版本: 模块. 导出 = { 元:{ 输入:“问题”...

回答 1 投票 0

如何从Python中的一串代码中获取已定义/更新的变量的id及其值?

我正在做一个项目,我想在Python中逐行解析每一行代码(以字符串的形式出现)。我想要声明/更新的标识符的 id 及其分配的值。 共...

回答 1 投票 0

使用clang的libTooling重写嵌套三元表达式

以下包含嵌套三元语句的“C”源代码无法使用我的 RecursiveASTVisitor 使用 libTooling 的 clang::Rewriter 正确重写。 我不明白为什么会这样......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.