- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理学习笔记(东南大学)(2014年春)
编译原理学习笔记
老师:东南大学计算机院廖力老师主讲 编辑:刘文东 时间:2014年5月1 日23:11:58
1. 编译原理课程引论
1.1 课程概述
1.1.1 课程地位
1、计算机专业的专业基础课;
2 、软件技术基础;
3、计算机专业学生必修的主干课;
4 、研究生入学考试的课程之一。
1.1.2 课程作用
1、编译原理是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计
算机进行处理。
2 、理论基础坚实,其形式化系统不仅应用于编译技术,还大量应用于人工智能,多媒体技术
及数据库等领域。
1.1.3 学习任务
1、掌握编译的理论基础和形式化 (数学形式)系统;
2 、了解编译的全过程及其具体实现方法,大作业就是做一个简单的编译程序。
1.1.4 学习方法
1、认真听课,认真理解书中的基本概念、基本原理和基本算法;
2 、弄懂书中的例题与习题;
3、在看书和理解例题时,一定要画出相应的细节变换过程,通过画图加深理解;
4 、在理解的基础上记忆;
5、理论结合实践。
1.1.5 学习要求
1、成绩考核方式:平时30%+期末考试70% = 100%
2 、平时成绩包括点名、作业和大作业。
1.2 课程引论
1.2.1 程序设计语言与编译
1
、程序设计语言:机器语言—— 汇编语言—— 高级语言;
1) 机器语言:01 串,计算机硬件识别容易,但人理解起来比较困难;
2) 汇编语言:对机器语言的抽象,加入助记符,帮助人们理解;
3) 高级语言:引入编译程序,将高级语言变成计算机可以识别的程序。
2 、在计算机上执行一个高级语言程序的步骤:
1) 将高级语言程序翻译成机器语言程序;
2) 运行所得到的机器语言程序求得计算结果。
1 10
第 页 共 页
3、程序设计语言之间的转换
1) 翻译:指能把某种语言的源程序,在不改变语义的条件下,转换成另外一种语言程序
——目标语言程序;
2) 编译:专指由高级语言转换为低级语言,对整个源程序全部翻译好后,再执行;
3) 编译的转换过程:
两个阶段转换:编译—— 运行,编译后直接产生机器语言目标代码;
编译时:源程序——编译程序—— 目标代码,此时直接产生机器语言;
运行时:初始数据—— 运行子程序目标代码—— 计算结果;
三个阶段转换:编译——汇编——运行,编译后现产生汇编语言,然后汇编后,
转换成机器语言目标代码。
编译时:源程序——编译程序——汇编程序;
汇编时:汇编语言—— 汇编程序—— 目标代码;
运行时:初始数据——运行子程序目标代码——计算结果;
4) 解释:接收某种高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这
句的执行结果,然后再接收下一句。如Basic 语言、Java 语言等。
含义:以源程序作为输入,不产生目标程序,一边解释一边执行;
优点:直观易懂,结构简单,易于实现人机对话;
缺点:效率低,不产生目标程序,每次都有重复的动作。
1.2.2 编译程序概述
1、编译程序的工作
编译程序的工作如图1.1 所示:
图1.1 编译程序的工作流程
2、
文档评论(0)