第一章
(一)什么是编译程序

1.编译程序
将用高级语言书写的程序翻译成等价的低级语言程序(汇编、机器语言),这种翻译程序称为编译程序。

2.源程序

编译程序的输入对象为源程序

3.目标程序
编译程序的输出对象为目标程序

4.解释器与编译器


(二)词法分析
1.从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词

(三)语法分析
1.判断输入串是否构成一个语法上正确的程序,并生成语法树

(四)语义分析
1.审查源程序是否有语义错误,为代码生成阶段收集类型信息
2.审查类型:
上下文相关性、类型匹配、类型转换

(五)中间代码生成
1.将源程序生成一种内部表示形式,这种内部表示形式叫中间代码

(六)代码优化
1.对中间代码进行等价变换,以便生成更高效的目标代码

(七)目标代码生成
1.把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码,它的工作与硬件系统和指令含义有关

(八)表格管理和出错管理(应该不考)

(九)编译阶段

1.分析和综合
①分析:词法分析、语法分析、语义分析,只对程序进行识别检查,没做翻译
②综合:中间代码生成、代码优化、目标代码生成,对源程序进行翻译,生成目标代码

2.前端和后端
①前端(与源语言有关):词法分析、语法分析、语义分析、中间代码生成、中间代码优化
②后端(与源语言无关):目标代码生成

编译原理 第一章(源程序、目标程序、解释器、编译器、词法语法语义分析)相关推荐

  1. 编译原理-第一章-引论

    编译原理 第一章 引论 1,概念简介 (1) 编译器:一个编译器就是一个程序,它可以阅读以某一种语言(源语言)编写的程序,并把该程序翻译成为一个等价的.用另一种语言(目标语言)编写的程序. 2,一个编 ...

  2. 编译原理语义分析_编译原理 第一章 绪论

    编译原理系列,是在学习本校 "编译技术" 这门课程时,所作记录,参考教材为 <编译技术基础教程>清华大学出版社和<程序设计语言编译原理>国防工业出版社(陈火 ...

  3. 编译原理第一章-编译原理概述

    1.1 编译过程中,语法分析器的任务不包括(A) A 分析单词是怎样构成的 B 分析单词串是如何构成语句和说明的 C 分析语句和说明是如何构成程序的 D 分析程序的结构 1.2 编写一个计算机高级语言 ...

  4. 编译原理 | 第一章课后习题答案

    本文为编译原理(第三版)[清华大学出版社]部分课后答案 本答案均截取自网络,如有错误,望指正 编译原理(第三版)[清华大学出版社]

  5. 操作系统——精髓与设计原理 第一章复习题习题

    操作系统--精髓与设计原理 第一章复习题&习题 复习题 1.1 列出并简要地定义计算机的四个主要组成部分 1.2定义处理器寄存器的两种主要类别 1.3一般而言,一条机器指令能指定的四种不同的操 ...

  6. 计算机术语new一个,微机原理第一章计算机基础知识(new)

    <微机原理第一章计算机基础知识(new)>由会员分享,可在线阅读,更多相关<微机原理第一章计算机基础知识(new)(47页珍藏版)>请在人人文库网上搜索. 1.1.第一章计算机 ...

  7. 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt

    计算机科学与技术-编译原理-第二章重点.ppt * 自下而上分析法举例 例2解: a b b c d e (1) a b b c d e A A (2) a b b c d e A A (3) a b ...

  8. 计算机网络原理第一章习题3-24 3-25

    计算机网络原理第一章习题 3-24假定站点A和B在同一个10Mb/s以太网网段上.这两个站点之间的传播时延为225比特时间.现假定A开始发送一帧,并且在A发送结束之前B也发送一帧.如果A发送的是以太网 ...

  9. 人工智能原理——第一章 绪论

    人工智能原理--第一章 绪论 文章目录 人工智能原理--第一章 绪论 1.1 人工智能的发展 人工智能的发展 – 孕育期 人工智能的发展 – 摇篮期 人工智能的发展 – 发展期(1970-1979) ...

最新文章

  1. 机器学习之条件随机场CRF一点理解
  2. 汉字转拼音,中文拼音排序器
  3. pyinstaller 'utf-8' codec can't decode byte 0xce in position 123: invalid continuation byte
  4. ping端口_干货分享:shell脚本批量telnet ip 端口
  5. linux ras目录,Linux下配置站点-FTP-RSA私钥-公钥
  6. LTE学习:空口降低时延关键技术
  7. python中bd是什么属性_python数据类型及其特有方法
  8. C语言或C++中不同类型指针所占内存大小
  9. socks5 python_用Python写socks5服务器端
  10. 树莓派+传感器+公网服务器 组件自己的物联网平台(四)制作一个智能鱼缸
  11. jenkins备份恢复
  12. 基于SSM体育竞赛运动会成绩管理系统JAVA毕业设计源码介绍
  13. c语言标准化考试系统课程设计,c语言标准化考试系统课程设计
  14. 小半年的实习经历分享,希望对大家有用
  15. 科技引领未来,银联开放平台诚邀你的加入
  16. 安卓app测试之流量监控
  17. 数学传奇2——格林的风车
  18. 程序员入门消遣看看(四)
  19. 51单片机串行通讯方式2
  20. 电动卡车的升级!我们的生活离自动驾驶来有多远?

热门文章

  1. 【Python】Python 实现破零(ZF)和最小均方误差(MMSE)信道均衡
  2. SpringBoot项目配置多个RabbitMQ解决方案
  3. 浏览器主页被篡改,注册表解决方案
  4. popwindows小研究
  5. idea中解析不了Longblob类型
  6. mac如何将word中的公式转为latex格式
  7. 30岁软件工程师的迷茫和悲哀!
  8. C语言之while语句简述
  9. 解决 kinter.TclError: bad listbox index
  10. 网络游戏编程-联机版植物大战虫子