YLCompiler程序员

编译器---综述

2015-09-17  本文已影响157人  拉丁吴

编译器,就是将编程语言通过 读入代码程序,识别单词(输出token),检查语法(输出抽象语法树),检查语义(输出中间表示),等价优化(输出中间表示),翻译成底层代码的一系列流水线分析过程,转换成可执行文件的一种程序。


实际上,编译器可以分为以下几个步骤:

1. 词法分析

2. 语法分析

3. 语义分析

4. 代码生成

实际上,在过去,往往语义分析完成后,可以直接生成可执行代码,但是如今的编程语言过于复杂,所以往往需要代码生成这个模块,来减小每一个部分的处理难度。对照上面编译器的分析过程,你会发现,每一个部分,输入和输出的数据结构都不太相同,所以,写编译器之前,需要一些数据结构的知识。

我写的编译器主要由java完成,但是词法分析部分使用python来完成的,主要是因为java的io接口一点都不简洁,所以决定用python完成主要的io过程。编译器用于编译 t语言(自己起了一个名字),但是由于某些原因,最终输出不是可执行代码,而是伪汇编代码,<操作指令,操作数1,操作数2,结果存放>

上一篇 下一篇

猜你喜欢

热点阅读