abstract-syntax-tree

abstract-syntax-tree

文章 0 浏览 4

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

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

只是偏爱你 10-17 16:28 6 0

使用ast获取模块名称

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

你曾走过我的故事 10-17 14:25 7 0

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

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

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

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

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

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

文本解析库

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

尤怨 10-16 23:09 9 0

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

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

流年已逝 10-16 08:41 6 0

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

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

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

AST 的树结构

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

浅笑依然 10-15 09:04 7 0

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

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

情未る 10-11 19:47 11 0

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

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

日暮斜阳 10-11 05:29 8 0

如何使用 Groovy AST 转换添加警告?

我在 SourceUnit 对象上看到可以 addError(SyntaxException),但如何添加警告? 编辑:任何人都知道我如何在 CompilePhase.SEMANTIC_ANALYSIS 中获取 …

一刻暧昧 10-08 16:58 5 0

如何为专有语言构建 AST?

我试图了解如何为专有语言构建 AST。我需要构建一个 AST,以便我可以输入我的规则和指南来检查源代码中可能存在的错误。 如何构建 AST?有没有任何书…

橘虞初梦 10-08 09:27 18 0

使用 Java 通过访问者模式从 AST 构建控制流图

我试图弄清楚如何实现我的 LEParserCfgVisitor 类,以便从已使用 JavaCC 生成的抽象语法树构建控制流图。我知道已经存在一些工具,但我正在尝试这样做…

心如荒岛 10-08 07:52 8 0

Groovy AST 转换 - 如何确定 MethodCallExpression 的返回类型?

使用 Groovy AST 转换,我如何找出返回类型MethodCallExpression? 即使我在方法定义中显式定义了方法的返回类型,MethodCallExpression.getType() 也…

何必那么矫情 10-08 06:04 7 0

如何解析 c++ 的集合头文件?

我正在一个项目中工作,我想在 C++ 中进行反射,所以经过研究,我发现最好的方法是解析头文件以获取 XML 格式的抽象语法树并在反射中使用它。我尝试了…

北方的韩爷 10-07 02:08 7 0
更多

推荐作者

落墨

文章 0 评论 0

gz5281527

文章 0 评论 0

不识常识

文章 0 评论 0

动物凶猛

文章 0 评论 0

coderyrg

文章 0 评论 0

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