导航:首页 > 源码编译 > 编译成ast常用方法

编译成ast常用方法

发布时间:2024-12-24 21:52:04

编译原理简单吗

编译原理主要是讲了编译器的实现。
那什么是编译器呢?
编译器就是将 源程序→编译器 →目标机器代码的程序
本文将用一段最简单的代码进行说明

1 + 2 + 3

第一步. 词法分析
当代码从文件中被读入到编辑器时,将会进行词法分析
示例中的代码最终会转换为(下面为伪代码)

1 ADD 2 ADD 3

第二步. 语法分析
这一步编译器将会把词法分析的结果转换成AST(abstract syntax tree, 抽象语法树)
所有的操作数将会作为子节点,所有的操作符将会作为父节点。(不知道的同学可以看一下树的生成)

1 + 2 + 3 对应的树
3. 生成目标代码
对上面的树进行后序遍历,将会得到下面的伪代码

((1 2 +) 3 +)

生成的汇编伪代码为

START:

MOV VALUE, 0//初始化结果为0

ADD VALUE, 1

ADD VALUE, 2//(1 2 +)的汇编伪代码

ADD VALUE, 3

RET VALUE

END

最终汇编代码会被编译成机器代码,在计算机上执行。
下面为一般情况下的编译流程
1. 词法分析(生成代码对应的token序列,使用正则表达式)
2. 语法分析(生成AST)
3. 语义分析(对代码的语法进行检查)
4. 代码生成(生成可执行的代码)

阅读全文

与编译成ast常用方法相关的资料

热点内容
代号pdf 浏览:17
java编码规范pdf 浏览:144
linuxshellread 浏览:225
st单片机命名 浏览:860
华为路由器弹出提示命令 浏览:884
服务器地址失效 浏览:639
pdf解码 浏览:918
手机号码系统源码 浏览:625
如何选择云服务器系统 浏览:741
探探视频保存在哪个文件夹 浏览:844
crm免费系统源码 浏览:623
三大本pdf 浏览:607
服务器如何远程ftp连接不了 浏览:292
上海死亡程序员 浏览:185
专业app定制开发哪里有 浏览:256
centos给文件权限命令 浏览:305
小娃娃的玩具从哪里买的app 浏览:375
mc国际版怎么免费制作服务器 浏览:969
供应商管理pdf 浏览:807
android状态栏大小 浏览:631