编译原理—笔记
翻译程序(Translator Process)
翻译程序,是指把某一种语言,翻译成另外一种语言。
并不特定于高级语言到低级语言之间的转换,可以是高级语言之间,或者低级语言之间的转换。
语言A -》翻译程序 -》语言B
编译程序(Compiler Process)
编译程序,是翻译程序的一个子集。编译程序把高级语言的源码作为输入,经过翻译,分析,处理优化之后,输出面向机器的语言。
机器语言就是目标程序,由计算机执行。
高级语言A -》编译程序 -》 机器语言B (编译过程存在中间语言)
编译的过程
- 词法分析:把表达式文本解析成词法元素列表(token list)。
- 语法分析:把tokenList解析成语法树(Syntax Tree)。
- 语义分析,源码优化并产生中间代码 :把语法树转成汇编语言的代码(asm)。
中间代码的优化
生成目标码 : 把汇编代码翻译为机器码(字节码)。
目标码优化
- 编译过程框图如下:
a.词法分析(Lexical Analysis) -》 b.语法分析(Syntax Analysis) -》
c.语义分析(Seman