- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译技术课程要求课时:46 学时(1-12 周)分为两部分:( 分别计分) 理论基础:70%, 课堂教学,按时交作业,闭卷考试实践部分:30%, 上机实践(45 机时)(12 周开始上机)目的: 掌握编译的基本理论、常用的编译技术,了解编译过程及编译系统的构造(结构和机理)。能运用所学技术解决实际问题,能独立编写一个小型编译系统。课程定位--计算机学院核心课程教材和参考书高仲仪、金茂忠,《编译原理及编译程序构造》,北航出版社。Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers—Principles, Techniques, and Tools. 机械出版社(翻译版),2003 吕映芝,张素琴等,《编译原理》,清华大学出版社,1998 ,1。李赣生,王华民,《编译程序原理与技术》,清华大学出版社,1997 ,10 。Kenneth C. Louden 著,《编译原理及实践》,机械工业出版社,2000,3 。陈火旺,刘春林,谭庆平等编著, 《程序设计语言编译原理》, 国防工业出版社出版,2001.1 第一章概论1.1 程序设计语言的发展低级语言(Low level Language) 字位码、机器语言、汇编语言特点:与特定的机器有关,功效高,但使用复杂、繁 琐、费时、易出错高级语言-- Fortran 、Pascal 、C 语言等特点:不依赖具体机器,移植性好、对用户要求低、易使用、易维护等。源程序的编译和运行编译或汇编阶段运行阶段工作过程“编译-解释执行”系统 编译过程四、编译程序的前后处理器1.4 编译技术的应用若把字符看作符号,则单词就是符号串,单词集合就是符号串的集合。若把单词看作符号,则句子就是符号串,而所有句子的集合(即语言)就是符号串的集合。编译感兴趣的问题是: 给定x, G, 求x L(G) ? 作业P 17 1 P19 1 、2、3、4 P26-27 :1、2、3、5(1)、6 (i*i 、i*(i+i) )、7、8、9 例如:文法G[]: Z ::= Be A ::= Ae|e B ::= Ce|Af C ::= Cf D ::= f 小结掌握符号串和符号串集合的运算、文法和语言的定义几个重要概念:递归、短语、简单短语和句柄、语法树、文法的二义性、文法的实用限制等。掌握文法的表示:BNF 、扩充的BNF 范式、语法图。了解文法和语言的分类。第三章:词法分析3.1 词法分析的功能3.2 词法分析程序的设计与实现--状态图3.3 词法分析程序的自动生成--有穷自动机文法:1. 标识符::= 字母| 标识符字母| 标识符数字2. 无符号整数::= 数字| 无符号整数数字3. 单字符分界符::= : | + | * | , | ( | ) 4. 双字符分界符::= 冒号= 5. 冒号::= : 在始态,输入字母a时,自动机既可以向左也可以向右。补充自顶向下语法分析递归子程序法(递归下降法)void statement( ){ if (sym == “IF“) { getsym ( ); expr ( ); if (sym != “THEN“) error( ) ; else { getsym ( ); statement ( ); if (sym == “ELSE”) { getsym ( ); statment ( ); } } } else { var ( ); if (sym ! =“:=“) error ( ); else { getsym ( ); expr ( ); } }} void statement( ){ if (sym == “IF“) { getsym ( ); expr ( ); if (sym != “THEN “) error( ) ; else { getsym ( ); statement ( ); if (sym == “ELSE”) { getsym ( ); statment ( ); } } } else { var ( ); if (sym ! =“:=“) error ( ); else { getsym ( ); expr ( ); } }} 微型编译器示例示例编译程序的语言 简单全括号表达式文法示例编译器的主程序示例词法分析程序的头文件lex.h 示例词法分析程序示例编译程序语法分析器头文件parser.h 表达式( 2*( ( 3*4 ) + 9 ) ) 的抽象语法树示例编译程序语法
您可能关注的文档
最近下载
- 2022中国能建校园招聘试题及答案解析.docx VIP
- 2025中国能建电规总院招聘(北京)笔试备考题库及答案解析.docx VIP
- 年产200吨聚烯烃催化剂技改项目环评报告书.pdf
- 上海浦东新区中小学教师考试题目汇总2024.docx VIP
- 血细胞形态识别培训课件终版.ppt VIP
- (一模)吉林市2025-2026学年度高三第一次调研测试 英语试卷(含答案解析).docx
- 《汽车维修质量检验》电子教案.pdf
- 工程勘测设计行业质量管理体系专业审核作业指导书.PDF VIP
- 2.2开通抖音直播《直播营销》教学课件.pptx VIP
- 综合实践进位制的认识与探究课件人教版七年级数学上册(1).pptx
原创力文档


文档评论(0)