导航:首页 > 源码编译 > 编译成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常用方法相关的资料

热点内容
快手app快递在哪里查 浏览:473
开发聊天机器人python 浏览:854
程序员入职后无法工作 浏览:951
买海鲜用什么app好 浏览:922
看剧用什么app好 浏览:905
sql命令update 浏览:25
生意不忙怎么解压 浏览:500
欢太健康app在哪里下载 浏览:488
androidtools使用教程 浏览:971
十天突破雅思口语pdf剑9 浏览:295
李诞笑场pdf 浏览:265
自用纸巾做解压笔 浏览:129
银行流水解压码是多少 浏览:895
百度哪个app好用 浏览:316
115广告联盟源码 浏览:494
联通app签到源码 浏览:680
怎么连接另一个服务器的数据库 浏览:742
猫盘洗白命令 浏览:844
168api源码 浏览:967
不同地方的文件服务器如何通信 浏览:599