《编译原理》学习资料.doc

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》学习资料 第一部分 课程简介 第二部分 学习目标 第三部分 课程要求 第四部分 重点难点 第五部分 参考资料 第六部分 知识结构 第七部分 词汇表 第八部分 答疑库 第九部分 考试试卷 第一部分 课程简介 讲述编译程序实现的原理和技术,包括词法分析、形式语法、语法分析理论和方法(LL和LR)、语义分析、运行环境、代码生成和优化。此外还介绍一个pascal子集PL/O编译程序。 清楚地理解编译程序是如何工作的。  基本掌握程序设计语言的主要特性和实现途径。 学习使用编译构造工具如Lex、Yacc。 学习应用一些标准的分析算法和技术解决相关软件的问题。学生要求:   程序设计语言(基本概念、语法规则、主要机制及语义)及其编程能力   数据结构 学习要求:   编译程序的技术和方法需要从理论和实践两个环节学习和掌握,对理论学习部分要做一些笔头练习,也要掌握应用这些理论的工具的使用。课程提供的PL/0编译程序一定要理解透彻。    首先花功夫将PL/0编译程序读懂,最好用一些例子运行它。    FA、LL(1)和LR部分多做一些练习题。    使用Lex(或Flex),Yacc(或Bison)做一些小型编译器,最好能实现PL/0编译。 语言的语法描述工具--文法和语言的形式定义,形式语言理论 词法分析程序的自动生成机理--正规式、正规文法和有穷自动机 上下文无关文法的句型分析,语法分析方法分类和分析程序的设计和实现 LR分析的理论背景。 目标代码运行时的存储管理、变量作用域规则在编译中的实现、语法制导翻译和编译器的自动生成工具和代码优化的基础。Tomas Pittmn, The art of Compiler Design theory and Practice, Prentice-Hall 1992 Charles N. Fischer, Richard J. Leblanc, Crafting A Compiler, The Benjamin/Cummings Publishing Company 1988 ALFRED V. AHO, RAVISETHI, JEFFREY D. ULLMAN, Compilers Principles, Techniques and Tools ADDISSON-WESLEY 1986 陈火旺 刘春林等 程序设计语言 编译原理(第3版)  国防工业出版社 北京 2000java, GNU gcc... Terrence W.Pratt,Marvin V.Zelkowitz Programming Languages Design and Implementation, Prentice-Hall 1996 Bennett, J.P.,Introduction to Compiling techniques: a first course using ANSI C,LEX and YACC.-2nd ed- , The McGRAW-HILL ublishing Company 1996 David A. Watt, Programming Language Syntax and Semantics,Prentice Hall 1991 第六部分 知识结构 第七部分 词汇表 1.词法分析(Lexical analysis或Scanning)和词法分析程序(Lexical analyzer或Scanner)   词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用lex等工具自动生成。 2.语法分析(Syntax analysis或Parsing)和语法分析程序(Parser)   语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等.语法分析程序判断源程序在结构上是否正确.源程序的结构由上下文无关文法描述. 3.语义分析(Syntax analysis)   语义分析是编译过程的一个逻辑阶段. 语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查, 进行类型审查.例如一个C程序片断:   int arr[2],b;   b = arr * 10;   源程序的结构是正确的.   语义分析将审查类型并报告错误:不能在表达式中使用一个数组变量,赋值语句的右端和左端的类型不匹配. 4.Lex   一个词法分析程序的自动生成工具。它输入描述构词规则的一系列正规式,然后构建有穷自动机和这个有穷自动机的一

文档评论(0)

幽兰书苑 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档