【编译原理】基本知识和概念
编译过程是指将高级语言程序翻译为等价的目标程序的过程。
1.词法分析
任务:分析和识别单词。(源程序是由字符序列构成的,词法分析扫描源程序,根据语言的词法规则分析并识别单词,并以某种编码形式输出)
单词:是语言的基本语法单位,一般分为四种。
2.语法分析
任务:根据语法规则(即语言的文法),分析并识别出 各种语法成分,如表达式、各种说明、各种语句、过程、函数等,并进行语法正确性检查。
赋值语句的文法:
<赋值语句>→<变量><赋值操作符><表达式>
<变量>→<简单标识符>
<赋值操作符>→:=
<表达式>→ ……
3.语义分析、生成中间代码
任务:对识别出的各种语法成分进行语义分析,并产生相应的中间代码。
中间代码:一种介于源语言和目标语言之间的中间语言形式。
生成中间代码的目的:
1.便于左优化处理;
2.便于编译程序的移植。
中间代码的形式:编译程序设计者可以自己设计,常用的有四元式、三元式、逆波兰表示等。
4.代码优化
任务:目的是为了得到高质量的目标程序。
5.生成目标程序