编译原理
编译过程
源程序
↓
词法分析
↓
语法分析
↓
语义分析
↓
中间代码生成
↓
代码优化
↓
目标代码生成
↓
目标程序
- 词法分析
- 词法分析依照词法规则,识别出正确的而单词,并转换成统一规格,备用
- 标识符:用户自定义的字符,如i,j,sum
- 保留字(关键字或基本字):电脑语言定义,如 int、void、var
- 运算符:如±*/^<
- 界限符:用来分隔各个元素:如[]{}(),;
- 转换
- 队记本子、运算符、界限符的转换
- 标识符的转换
- 常数的转换
- 转换完成后的格式:(类号、内码)
- 描述此方法规则的有效工具是正规式和有限自动机
- 词法分析依照词法规则,识别出正确的而单词,并转换成统一规格,备用
- 语法分析
- 根据语言的语法规则,把单词组成各类的语法单位:短语、子句、语句、过程、程序
- 语法规则(文法):规定单词如何构成短语、语句、过程和程序
- 文法的表示:
- BNF(巴克斯范式):A::B|C
- BNF(巴克斯范式):A::B|C
- 文法的表示: