这学期我们还学习了编译原理的知识,总结起来,共分几个步骤:
1.词法分析:任务是将源程序转换成内部格式;
2.语法分析:任务是判断源程序结构是否符合该语言的语法;
3.语义分析:任务是保证源程序在语义上的正确性;
4.中间代码生成:将于源程序转换成等价的中间语言代码;
5.代码优化:对中间代码的优化处理
6.目标代码生成:将中间代码翻译为机器语言或汇编语言。其中,词法分析使用的方法和算法为:状态转换图和有限自动机。
其中,我们主要学习了词法分析和语法分析部分。
词法分析:
依次读入字符,根据有穷自动状态机来识别标识符,并映射其地址。
图为有穷状态机。
语法分析:
语法分析分为自顶向下分析法和自底向上分析法。
自顶向下分析法利用推导的方法,关键在于预测分析表的构建,其分析能力较弱。
自底向上分析法利用规约的方法,关键在于建立SLR(1)分析表,其分析能力优于自顶向下分析法。
时间: 2024-11-08 05:34:16