我正在尝试使用Go的parser和ast包阅读结构类型上关联的文档注释。在这个例子中,代码只是将自身用作源。 package main import ( "fmt" "go/ast" "go/parser" "go/token" ) // FirstTyp...
我正在使用解析器组合库(parser-combinators library)在Scala中编写一个简单的函数式程序语言。 语法规范在这里: https://github.com/hejfelix/Frase/blob/master/src/main/scala/it/vigtig/lamb...
我需要在PHP中将正则表达式解析为它们的组成部分。我可以创建和执行正则表达式,但我希望显示有关正则表达式的信息(例如,列出捕获组,在其目标上附加重复字符等)。整个项目是WordPress插件,提供有关重写规则的信息,这些规则是带替换模式的正则表达式,并且可能很难理解。 我自己编写了一个简单实...
我正在开发自己的玩具编程语言。目前,我正在通过AST解释源代码,并想知道将其编译成字节码然后再解释它能为我提供什么优势。 目前我有三个想法: 遍历语法树数百次可能比在数组中运行指令更慢,特别是如果该数组支持O(1)随机访问(即向上和向下跳10条指令)。 在静态类型执行环境中,由于我的AS...
我正在使用Python 3的抽象语法树(AST)。 ast库提供了许多方法来获取节点的子级(可以使用iter_child_nodes()或walk()),但没有方法可以获取一个节点的父级。此外,每个节点都有指向其子级的链接,但它没有指向其父级的链接。 如果我不想编写ast库的插件,那么我如何...
这是我上一个问题的延续。我想解析一个方程并处理得到的ast。我的目的是随机打乱它,以获得一个新的方程,该方程也必须是有效的函数。这将用于遗传算法。 以下是我的起点: class Py2do(ast.NodeTransformer): def __init__(self): self.t...
目前是否有将C#代码翻译成抽象语法树的可能性? 编辑:做些澄清,我并不一定希望编译器为我生成AST - 解析器也可以,尽管我想使用一些"官方的"东西。Lambda表达式不够用,因为它们不允许我使用语句体,而这正是我要找的东西。
读完使用编译器API文章后,我可以从字符串代码中获取AST。 但是当我尝试通过escodegen从AST生成代码(而不是转码)时,我遇到了一个错误: Unknown node type: undefined 有没有一种方法可以生成代码的抽象语法树(AST)? import * as ...
我正在开发适用于Java 6*1)的变压器,它执行一种部分评估,但为了简单起见,我们考虑一下 Java 程序的抽象语法树解释。 如何通过一个解释程序模拟Thread的行为? 目前我想到了以下方法: AstInterpreter应该实现java.lang.Runnable。它还应该重写每个...
我正在尝试在Rust中操作抽象语法树(AST)。将会有许多操作,并且我想让我的树是不变的,为了节省时间,所有引用都将是Rc。 我的树节点将如下所示:enum Condition { Equals(Rc<Expression>, Rc<Expression>),...