编译原理期末重点-个人总结——1 概论
概述
计算机语言的分类
低级语言:机器语言(唯一能被计算机执行的),汇编语言
高级语言:JAVA ,C++
执行高级语言或汇编语言的步骤
高级语言程序或汇编语言程序==> (通过解释 或 翻译)转成机器语言==>运行机器语言程序
解释程序⭐
核心就是 边解释边执行源程序本身
翻译程序
把一种语言的程序翻译成另一种语言的程序 ,包括如下
- 编译程序⭐
源语言(高级语言)==> 目标语言(低级语言,如汇编或机器语言)
- 汇编程序
源语言(汇编语言)==> 目标语言(机器语言)过程
高级语言程序的处理过程
由上述可知,处理过程可理解为
源程序==>编译==>汇编==>机器程序
编译过程⭐
补充⭐
词法分析
一个个读取源程序字符,识别出正确单词
语法分析
将上游的单词序列 识别出固定搭配,如语法表达式,计算公式,while (表达式) do 语句
这个阶段可以生成语法树
语义分析
类型检查
错误检查和处理程序
错误包括 语法错误和 语义错误
信息表管理程序
最重要的是符号表,信息表的结构
了解
前端:词法分析、语法分析、语义分析、中间代码生成、部分优化工作
后端:中间代码有关的编译阶段。如:目标代码生成