abstract-syntax-tree

abstract-syntax-tree

文章 0 浏览 3

AST 遍历是在访问者中还是在节点中?

更新接受了Ira Baxter的回答,因为它为我指明了正确的方向:我首先通过开始编译阶段的实现来弄清楚我实际需要什么,并且很快就很明显,节点内的遍历使…

红ご颜醉 2024-10-19 00:59:41 3 0

当我的 AST 只是一个数组数组时,我应该使用访问者吗?

我见过用于遍历 AST 的访客模式。要使用此模式,您需要在 AST 节点对象上添加一个 accept(visitor) 方法。此方法调用visitor.visit(self),后者依次“…

始终不够爱げ你 2024-10-19 00:09:55 1 0

Groovy 中的 AST 转换:创建宏以提供基本构造函数

我想制作一个宏,本质上将其扩展 @WithBasicConstructor class Person { private String name private String address } 为: class Person { private…

流绪微梦 2024-10-18 06:10:54 1 0

解析树和抽象语法树(AST)有什么区别?

它们是由编译过程的不同阶段生成的吗?或者它们只是同一事物的不同名称?…

南冥有猫 2024-10-17 17:01:53 4 0

通过静态分析检测缺少 if/else 语句

我试图捕获 if 语句中缺少的未处理的 expressiong 条件。 第一个示例 if (a &lt 5) { // Do something } else { // handled else condition } 第二个…

溺渁∝ 2024-10-17 17:01:39 2 0

假设你有 AST,那么编写解释型语言有多难?

我已经有了一个针对我一直在研究的语言的解析器。对其进行解释很难吗?我以为这很简单。解析和语法检查已完成。我只有一棵对象树。每次创建对象时,我…

只是偏爱你 2024-10-17 16:28:02 1 0

使用ast获取模块名称

如何使用 ast 获取 python 模块名称?我尝试了以下方法来获取模块节点,但看起来它没有名称信息: class v(ast.NodeVisitor): def visit_Module(self,…

你曾走过我的故事 2024-10-17 14:25:39 1 0

如何在python源代码中检测I/O(I/O的标准库方式)

我正在为我最后一年的项目的一小部分 Python 代码构建一个优化编译器。我要做的第一件事是测试变量是否参与或导致 I/O。如果我要静态地跟踪众所周知的…

你在看孤独的风景 2024-10-17 13:02:57 0 0

使用 Python ast 模块访问语法树中的节点

我正在玩 python ast(抽象语法树)。 我编写了以下内容,它访问了 AST 的所有节点。 import ast class Py2Neko(ast.NodeVisitor): def generic_visit…

已下线请稍等 2024-10-17 01:44:05 3 0

文本解析库

我的一位同事致力于开发一个基于 C# lambda 的通用文本解析库。核心看起来很酷,但不幸的是,对我来说,他硬编码了一个语法,专门针对他的私人任务—…

尤怨 2024-10-16 23:09:26 2 0

有关将语法树转换为程序集的资源?

主要作为学习练习,我从头开始编写虚拟机、汇编器和编译器,不依赖任何外部工具。 我相信我对虚拟机和汇编器的工作方式以及编译器的某些部分有很好的…

流年已逝 2024-10-16 08:41:59 2 0

我如何将 Ripper 的 AST 重新编译回 Ruby 代码?

Ripper 是 Ruby 1.9 附带的解析库。它将 Ruby 代码转换为 AST,如下所示: pp Ripper.sexp("def foo yield :a return 1 end") #=&gt [:program, [[:de…

屋顶上的小猫咪 2024-10-15 12:34:07 0 0

AST 的树结构

我正在尝试用 C# 编写一个解释器,并且正处于解析阶段。我发现此时我必须生成抽象语法树,但我不知道如何在 C# 中表示它。 目前我只是使用 List,但我…

浅笑依然 2024-10-15 09:04:52 2 0

使用类型绑定创建编译单元

我正在使用 AST API,我正在尝试创建一个编译具有类型绑定的单元。我编写了以下代码: private static CompilationUnit parse(ICompilationUnit unit)…

情未る 2024-10-11 19:47:36 2 0

如何创建给定形状的 antlr 树?

我有一个 antlr 语法,它有这样的规则: rule: ID (COMMA ID)* 其中 ID 是用于匹配典型变量名称的词法分析器规则,逗号是匹配逗号的词法分析器规则。…

日暮斜阳 2024-10-11 05:29:42 2 0
更多

推荐作者

1CH1MKgiKxn9p

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

JackDx

文章 0 评论 0

信远

文章 0 评论 0

yaoduoduo1995

文章 0 评论 0

霞映澄塘

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文