腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
C
中
修改
AST
树
并
编译
新
的
AST
树
c
、
parsing
、
gcc
、
compiler-construction
、
abstract-syntax-tree
我想做
的
是1.解析
C
代码生成
AST
2.
修改
AST
3.
在
不改变.
c
源文件
的
情况下
编译
新
的
AST
. 有没有什么工具可以用来做这件事?如果没有,有没有工具可以用来
修改
汇编代码?我看过gcc插件,关于它
的
文档很少,我只知道如何在gcc解析源代码(例如变量类型)时打印信息,但我不知道如何
修改
它们。
浏览 13
提问于2020-04-14
得票数 1
2
回答
ANTLR将Java文件转换为XML
并
读取XML以创建Java对象问题
antlr
、
antlr3
好
的
..。这就是我想做
的
. 从某些表达式生成language....Assume类
的
.我有Java文件。
在
修改
了Java.g位之后,我使用antlr-3.3- ()I . for创建了使用Java.g文件获得
AST
树
的
JavaLaxer和JavaParser。现在我已经编写了测试类,在这里我获得了CommonTree对象(请参阅下面的代码列表).现在我想把
AST
树
转换成XML输出,这样我就可以将它保存在DB
中
浏览 3
提问于2011-04-06
得票数 1
1
回答
锡兰语篇:如何获得类型化语法
树
?
java
、
typechecking
、
ceylon
我试图以编程方式使用/嵌入锡兰Typechecker来分析锡兰
的
源代码。在这个用例
中
,我想访问
编译
器通常使用
的
所有信息。但我不会
编译
,也不会添加对
编译
器
的
依赖。在我看来,锡兰/typechecker/src/main/main.java
中
的
main.Main入口点不是此用例
的
适当入口点(获取类型化
树
和附加模型),因为这些信息是由访问者在三个检查传递<
浏览 3
提问于2016-02-08
得票数 4
回答已采纳
1
回答
如何将python代码转换为解析
树
并
返回到原始代码?
python
、
parsing
、
tree
、
parse-tree
我希望能够将python代码(字符串)转换为解析
树
,
在
树
级
修改
它,然后将
树
转换为代码(字符串)。当转换到解析
树
并
返回到代码而不进行任何
树
级
修改
时,生成
的
代码应该与原始输入代码完全匹配。我找到了
ast
和parser python模块,但是最新
的
树
丢失了有关原始代码
的
信息。至于parser模块,我似乎不知道如何操作解析
树
或将其转换为
浏览 0
提问于2019-06-07
得票数 4
回答已采纳
1
回答
使用“抽象语法
树
”一词
scala
、
data-structures
、
functional-programming
、
abstract-syntax-tree
我正在努力加深对Scala
的
理解,而让我困惑
的
是抽象语法
树
(又名
AST
)这一术语
的
使用。final case class JsNumber(get: Double
浏览 0
提问于2018-03-18
得票数 3
回答已采纳
1
回答
如何将从ceylon.
ast
获得
的
编译
单元提供给Ceylon
编译
器?
ceylon
在
ceylon/ceylon.
ast
项目中找到
的
以下示例展示了如何以编程方式构造一些
AST
,
并
通过Ceylon类型检查器(com.redhat.ceylon.compiler.typechecker.TypeChecker)对其进行类型检查: 考虑到
编译
单元通常是作为文件而不是类型语法
树
(来自ceylon.
ast
项目)提供给类型检查器,那么建议使用类型化语法
树
调用什么方法来
编译
类型化语法
树</em
浏览 5
提问于2016-07-22
得票数 2
回答已采纳
1
回答
PHPforpython3
中
的
function_exists
python
PHPforPython3
中
有类似于
的
东西吗?我正在实现一些允许用户(通过某些web UI)
在
JSON
中
定义简单规则
的
东西,如下所示(使用一些类似于lisp
的
奇怪结构):
并
希望将其转换为python语句,例如,以下函数from functools import reduce def _and(*
浏览 2
提问于2016-04-01
得票数 1
回答已采纳
1
回答
在
Scala
AST
中生成
新
值
scala
、
abstract-syntax-tree
在
编译
过程
中
,我使用API来重建scala
AST
。我想更改一个“应用”
AST
,比如到“赋值
并
返回”块
中
下面是我
在
AST
中生成
新
值
的
代码:newVal.setType(a.tpe) newVal.symbol.setName(newTermName("newvalue"))
浏览 1
提问于2015-08-29
得票数 0
2
回答
用
C
++表示多遍抽象语法
树
?
c++
、
compiler-construction
、
abstract-syntax-tree
、
parse-tree
我目前正在探索设计一个
编译
器,可以
在
多个阶段转换其
AST
。其思想是,从解析
树
开始,每次遍历都会转换该
树
,直到生成
的
AST
得到优化,
并
包含生成中间代码(
在
本例
中
为 IR)所需
的
树
的
每个节点中
的
所有必需信息。遍历
树
可能会显著改变其结构,例如通过将运算符和操作数
的
列表更改为有序操作
的
层次结构。请注意
浏览 4
提问于2013-04-17
得票数 13
1
回答
反,步骤命令
antlr
、
compiler-construction
我试图
在
ANTLR
中
为像
C
#这样
的
语言设计一个
编译
器。但我不完全理解应该采取
的
适当步骤
的
顺序。我就是这么看
的
: 然后,语法规则(通过重写规则来构建
AST
)使用收集类和方法声明信息
的
操作(以便在下一步解析方法调用)。最后,我创建了“
树
语法”,它遍历
AST
树
并
调用生成(虚拟)机器语言操作码
的
规则
浏览 3
提问于2010-07-14
得票数 0
回答已采纳
1
回答
有没有办法直接从Roslyn
C
#
编译
器
的
AST
中
获益呢?
c#
、
msbuild
、
abstract-syntax-tree
、
roslyn
、
visual-studio-2017
我想知道是否有可能直接访问
C
#
编译
器
在
构建过程中使用
的
C
#
AST
(抽象语法
树
)?我知道我可以使用Roslyn API获得给定项目的
AST
,但这需要根据我
的
理解重新阅读和重新解析源代码。这个想法是为了改进一个自定义
的
MSBuild任务(目前使用
的
是Visual Studio2017,dotnet核心),用于分析结果程序
的
一些属性。为了加速这个过程,最好是以某种方式插入到
编
浏览 0
提问于2017-01-15
得票数 3
1
回答
检测Python代码
python
、
instrumentation
我想自动检测
在
python函数
中
遇到
的
每个if条件。例如,如果我
的
代码命中: #do something 我想要将"x > 2“记录/打印到控制台。我认为我需要能够
在
字节码指令级别进行测试,才能将这些条件条件去掉。
浏览 0
提问于2017-11-29
得票数 5
1
回答
如何将此Antlr3
AST
转换为Antlr4?
antlr
、
antlr4
、
antlr3
我
的
语法不能用Antlr4.9
编译
: term ( OR^ term )* ;factor
AST
根操作符。在生成抽象语法
树
(
AST
)时,以"^“根运算符作为后缀
的
令牌引用将强制创建
AST
节点,并将其作为当前
树
的
根添加。只有
在
设置了buildAST选项时,
浏览 6
提问于2020-12-20
得票数 0
回答已采纳
3
回答
修改
闭包
的
内容
smalltalk
、
pharo
有没有比这样做更好
的
方法:aBlock := [3+2]. aBlock := Object readFrom: (a printString copyReplaceAll: '3'
浏览 4
提问于2011-04-20
得票数 1
回答已采纳
1
回答
从
AST
生成字节码
javac
、
abstract-syntax-tree
描述了如何从
AST
树
生成字节码。基本上,它展示了如何绕过
编译
的
解析阶段,以及java
编译
器如何获取
AST
来生成字节码。这很好,但我希望能够像javac那样使用javac生成
AST
,而不需要
修改
源代码,也不需要任何框架。这是可能
的
吗?以前有没有做过这样
的
事情? 谢谢您
的
答复。
浏览 1
提问于2014-06-22
得票数 0
回答已采纳
1
回答
将
ast
模块
中
的
抽象语法
树
转换为
新
的
python文件。
python
、
abstract-syntax-tree
我正在使用python
中
的
'
ast
‘模块来创建一个抽象语法
树
。我希望能够编辑
AST
(我正在用‘
ast
.NodeTransformer’编辑),然后将这个
新
树
写到一个
新
的
python文件
中
。这是真的吗,还是我可以使用'
AST
‘模块将
ast
写入一个
新
的
python文件?如果是的话,我该如何做?看起来“
a
浏览 1
提问于2014-03-11
得票数 3
回答已采纳
1
回答
用O(1)元素访问
在
Haskell
中
实现高效
的
拉链数据结构
c++
、
performance
、
algorithm
、
haskell
、
zipper
问题问题详细信息 它们
浏览 3
提问于2013-11-25
得票数 5
3
回答
我可以
在
不使用
编译
器
的
情况下使用clang获得
C
/
C
++代码
的
XML
AST
转储吗?
xml
、
clang
、
code-generation
、
abstract-syntax-tree
我设法用cmake和visual studio 10成功地
编译
了clang for windows。我想得到一个XML文件作为源代码
的
AST
表示。有一个选项可以
在
linux (ubuntu)下提供与gcc
的
clang
的
结果,但在windows box上不起作用:然而,这是
在
调用
编译
阶段我可以通过使用以下命令来生成
AST
的
浏览 3
提问于2011-03-15
得票数 24
回答已采纳
12
回答
将
C
#代码转换成
AST
?
c#
、
compiler-construction
、
abstract-syntax-tree
目前是否可以将
C
#代码转换为抽象语法
树
? 编辑:一些澄清;我不一定期望
编译
器为我生成
AST
-解析器就可以了,尽管我想使用一些“官方”
的
东西。不幸
的
是,Lambda表达式是不够
的
,因为它们不允许我使用语句体,而这正是我想要
的
。
浏览 2
提问于2008-10-17
得票数 17
回答已采纳
1
回答
AST
处理与访问者模式
的
有用性
design-patterns
、
c++
、
compiler
、
visitor-pattern
我知道访问者模式通常用于遍历异构对象
的
层次结构(继承同一个抽象对象),并将这些对象
的
处理与其中
的
数据分离开来。访问者模式
的
一种典型用法(经常引用)是在
编译
器
中
处理抽象语法
树
。事实上,
树
的
结构只有在运行时才知道(一旦程序被解析了),人们想要遍历
树
,根据作为访问者实现
的
语义传递
修改
节点。但在我看来,访问者模式似乎有些过火,因为它允许双(动态)分派作为ASTNode类型和访问者类型<em
浏览 0
提问于2015-05-12
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
the-super-tiny-compiler源码解析
一行代码让python的运行速度提高100倍
一行代码让 Python 的运行速度提高100倍
建信小程序开发工具链原理浅析
通过 go/parser 理解 Go
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券