1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]chpt1

李声 安徽理工大学理学院信计系 lisheng15021@ 《编译原理》课程信息 教学目的与要求: 编译程序是现代计算机系统的基本组成部分之一。本课程重点讲述编译程序的设计原理和常用实现技术。通过课程的学习和实验的完成,应该清楚的理解一个编译程序是如何工作的;如果在以后遇到了任何一个程序设计语言,应该知道如何实现这个语言的多数机制;应具有一定的使用编译构造工具开发编译程序的经验;会将所学的常用技术和算法应用于类似的软件的设计和实现中。 课程简介 编译原理是一门理论与实践相结合的计算机科学技术学科的专业基础课,是计算机科学技术专业学生的必修课程。在计算机科学的课程中,编译原理占有非常重要的位置。因为,编译器在计算机科学技术的发展历史中发挥了巨大的作用,是开发计算机应用系统不可缺少的重要工具。编译器的原理和技术具有十分普遍的意义。编译器的编写涉及到程序设计语言、计算机体系结构、语言理论、算法和软件工程等学科,是计算机科学技术的重要基础。另外,编译原理课程中蕴涵着许多计算机学科中解决问题的思路、抽象问题和解决问题的方法,这对计算机科学技术专业的学生今后学习其它专业课程和从事科研工作非常重要。 前修课程、能力和知识结构要求 本课程的先修课程包括:微机原理,离散数学,高级程序设计语言,数据结构等,学生需要熟悉计算机的基本结构,具有分析问题和进行形式化思维的能力,掌握高级程序设计语言和数据结构。 课程结构说明 课程内容分为四大部分:词法分析、语法分析、语义分析及中间代码的产生、优化。主要内容包括为:文法、有限自动机、词法分析、LL(1)分析、算符优先分析、LR分析、属性文法及语法制导的翻译、中间语言及高级语言主要语句的翻译、运行时存储空间的组织、中间代码的优化等。课程主要以课堂教学为主,其中词法分析和语法分析分别安排上机练习。 课程考核形式与要求 课程考核采用停课考试方法,考核成绩由平时成绩+上机+考试组成,其中平时成绩包括考勤、上课情况和作业情况,分数可以以平时成绩(20%)+上机(10%)+考试(70%),可以根据实际情况略做调整。考试的重点在于词法分析、语法分析(自上而下、自下而上),知识单元分数分配大致为:绪论5%,文法15%,词法分析20%,语法分析30%,语义分析15%,存储空间的组织5%,优化10%。 学习编译原理的重要作用 参考书 [1] Kenneth C. Louden 著,冯博琴 冯岚 等译,编译原理及实践(Compiler Construction Principles and Practice),机械工业出版社 [2] :《程序设计语言 编译原理》(第3版),陈火旺、刘春林等,国防工业出版社 [3]Alfred V. Aho Ravis Sethi Jeffrey D. Ullman著,李建中,姜守旭译,编译原理,机械工业出版社 教学内容 1 编译程序概述 编译程序是现代计算机系统的基本组成部分之一.编译程序一般由词法分析程序,语法分析程序,语义分析程序,中间代码生成程序,目标代码生成程序,代码优化程序,符号表管理程序和错误处理程序等成分构成。本章概要介绍编译成分的主要功能以及编译阶段的逻辑关系。 2 PL/0 编译程序剖析 给出一个简单的类Pascal语言,其编译程序用高级语言(C和Pascal)实现。通过剖析该高级语言程序以理解各编译成分的功能及手工实现方法。 教学内容 3 高级语言的认识 要学习和构造编译程序,理解和定义程序设计语言是必不可少的。每个程序设计语言都有一定的规则用以规定合适程序的语法结构,也需要有对一个程序的含义的描述。上下文无关文法给出程序设计语言的精确的,易于理解的语法说明。尚没有公认的形式系统描述程序含义,但也有流行的描述语义规则的方法—属性文法。 4 词法分析程序的自动构造 词法分析程序是编译程序的一个构成部分,它的主要任务是扫描源程序,按构词规则识别单词,并报告发现的词法错误。正则表达式和有穷状态自动机分别作为单词的描述工具和识别机制,成为词法分析程序的自动构造原理,学习Lex(Flex)工具的使用方法。 教学内容 5 语法分析程序的构造 自顶向下的语法分析。可以看作是为一个输入串寻找一个最左推导的过程,也等价于从根开始,按前序生成结点,为输入串构造分析树的过程。讨论一种有效的无回溯的自顶向下分析程序,这种分析程序称为预测分析程序。介绍对于一个文法类:LL(1)文法, 如何自动的构造预测分析程序。 自底向上(自下而上)语法分析方法,也称移进-归约分析法。它的实现思想是对输入符号串自左向右进行扫描,并将输入符逐个移入一个后进先出栈中,边移进边分析,一旦栈顶符号串形成可归约串,就用相应非终结符代替可归约

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档