【编译原理】第一章总结

知识脑图

在这里插入图片描述

总结

重点

基本概念

  • 源程序:用汇编语言或高级语言编写的程序。
  • 翻译程序:将源程序转换成目标程序的程序称为翻译程序,指各种语言的翻译器
  • 汇编程序:用汇编语言书写,经过翻译程序得到用机器语言表示的程序
  • 编译程序:源程序是用高级语言书写,经加工后得到目标程序
  • 解释程序:对源程序进行解释执行的程序

源程序、翻译程序和目标程序三者关系

在这里插入图片描述在这里插入图片描述
源程序是翻译程序的输入,目标程序是翻译程序的输出,其中当源程序不同时,翻译程序的过程和目标程序的称呼不同。

编译程序的逻辑部分和特点

在这里插入图片描述

  • 词法分析程序:分析和识别单词,分析扫描源程序,根据语法的词法规则分析并识别单词,并以某种编码形式输出
  • 语法分析程序:根据语法规则,分析并识别出各种语法成分,并进行语法正确性检查
  • 语义分析和生成中间代码:对识别出的各种语法成分进行语义分析,并产生相应的中间代码
  • 代码优化程序:提高目标程序的质量
  • 生成目标程序:由中间代码生成目标程序(地址指令序列)
  • 符号表管理:及时地把源程序中的信息和编译过程中所产生的信息登记在表格中,在随后的过程中同时查找这些表格的信息
  • 出错处理:诊断出错误,并报告用户错误的性质和位置,以便用户修改源程序

前端与后端的定义及特点

  • 前端:与源程序有关的编译部分;特点:与源语言有关;包括:词法分析、语法分析、语义分析、中间代吗生成、代吗优化、相应的错误处理和符号表操作,为分析部分
  • 后端:与目标机有关的部分;特点:与目标机有关;包括:代码优化(目标机有关)、目标程序生成、相应错误处理和符号表操作,为综合部分
  • 分开原因:在多种源语言和目标语言的开发过程中,灵活搭配,消除工作量,提高开发效率

pl0的体系结构和各个模块的功能

在这里插入图片描述

难点

解释程序和“编译-解释执行”系统

  • 解释程序(Interpreter):对源程序进行解释执行的程序
  • 解释程序的特点:
    1、不产生目标程序文件
    2、不区别翻译阶段和执行阶段
    3、翻译源程序的每条语句后直接执行
    4、程序执行期间一直有翻译程序守候
    5、常用于虚拟机
  • “编译-解释执行”系统工作过程:在这里插入图片描述

pl0语言结构

在这里插入图片描述
包括说明部分过程部分

  • 说明部分包括常量和变量定义(红色部分)和过程说明部分(蓝色部分),对于定义的主程序过程说明中仍可以嵌套内层的局部过程(Q)
  • 过程部分为主程序入口,pl0程序执行从此开始(灰色部分)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值