源程序分析,需要经过三个阶段:
1,线性分析:从左到右读取字符流,并且把字符后分为多个记号,记号是具有整体含义的字符序列。
2,层次分析:每个记号在层析分析中,具有多个嵌套组,每个嵌套组具有整体的含义。
3,语义分析:进行语义检查,确保每个组是具有意义组合在一起。
具体讲:
1,词法分析:也就是线性分析
2,语法分析:也就是层次分析,通常用分析树表示。
3,语义分析:利用语法分析中的产生的层次结构,识别表达式和语句中的表达式和操作符。
4,中间代码生成:生成与机器无关的中间代码。
5,代码优化:对中间代码进行优化。
6,代码生成:通过汇编,链接,最终生成可执行文件。