编译原理习题课答案解析.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter11、何谓源程序、目标程序、翻译程序、编译程序 和解释程序?它们之间可能有何种关系?源程序:用源语言编写的程序。目标程序:源程序经翻译程序过加工处理后生成的程序。翻译程序:将源程序转换为与其逻辑上等价的目标程序。源语言为高级语言,目标语言为汇编语言或机器语言的翻译程序。编译程序:① 先翻译后执行②执行速度快③多次运算解释程序:源语言程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。① 边解释边执行② 有利于程序的调试③ 1次运算chapter12、一个典型的编译系统通常由有哪些部分组成? 各部分的主要功能是什么?词法分析语法分析语义分析与中间代码生成编译程序优化编译系统目标代码生成运行系统chapter1① 词法分析(Lexical Analysis): 从左到右一个字符一个字符的读入源程序,对构成源程序的字符串进行扫描和分解,从而识别出一个个单词(也称单词符号或简称符号)。 ② 语法分析(Syntax Analysis): 在词法分析的基础上将单词序列分解成各类语法短语,如“程序”,“语句”,“表达式”等等。③ 语义分析(Syntactic Analysis): 语义分析是在语法分析程序确定出语法短语后,审查有无语义错误,并为代码生成阶段收集类型信息。 chapter1④ 中间代码生成(Generation of intermediate code): 完成语法分析和语义处理工作后,编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或称中间代码,它是一种结构简单、含义明确的记号系统。⑤ 代码优化(Optimization of code): 为了使生成的目标代码更为高效,可以对产生的中间代码进行变换或进行改造,这就是代码的优化。 ⑥ 代码生成(Generation of code): 目标代码生成是编译器的最后一个阶段。在生成目标代码时要考虑以下几个问题:计算机的系统结构、指令系统、寄存器的分配以及内存的组织等。chapter21.写出C语言和Java语言的输入字母表。C语言:0~9数字,大小写英文字母,键盘上可见的字符Java语言:Unicode可以包括的所有字符。6.文法G6为: N →D|ND D →0|1|2|3|4|5|6|7|8|9 (1) G6的语言是什么? G6的语言是: 0~9的数字组成的任意非空串L(G6)={x|x∈{0,1,2,3,4,5,6,7,8,9}+}(2)给出句子0127、34和568的最左和最右推导。N → BCD|DD → 1|3|5|7|9B → 2|4|6|8|DC → CA |εA → 0 | B7、 写一文法,使其语言是奇数集。 要求:不以0打头。(一位):D → 1|3|5|7|9复杂的情况:分三部分末尾:以1|3|5|7|9结尾 D→1|3|5|7|9 B→2|4|6|8|D开头:除了0的任意数字中间部分:空或者任意数字串C→CA|ε A→0|B所以题目要求的文法G[N]可以写成: S i S i S e S i iS i S e S i S i i9、证明文法: S → iSeS | iS | i 是二义的。如果文法存在某个句子对应两棵以上不同的语法树,或者两种以上不同的最左/右推导,则称这个文法是二义的。二义性的含义:首先:找到此文法对应的一个句子 iiiei其次:构造与之对应的两棵语法树结论:因为该文法存在句子iiiei对应两棵 不同的语法树,因而该文法是二义的。11、给出下面语言的相应文法L1={anbnci| n≥1,i≥0}从n,i的不同取值来把L1分成两部分:A →aAb | ab 前半部分是 an bn : 后半部分是c i :B →Bc | ε 所以整个文法G1[S]可以写为: G1(S): S→AB A→aAb|ab B→cB|εL2={aibncn| n≥1,i≥0}G2(S): S→AB A→aA|ε B→bBc|bcL3={anbnambm| m,n≥0}G3(S): S→AB A→aAb|ε B→aBb|εL4={1n 0m 1m 0n| n,m≥0}可以看成是两部分:A→ 0A1 | ε中间部分是 0m 1m :剩下两边的部分就是:| AS→ 1S0所以G4[S]可以写为: S→ 1S0 | A A→ 0A1 |εchapter37.构造下列正规式相应的DFA。问题:将状态转换图与DFA混淆。步骤:①.根据正规式画出对应的状态转换图;②.根据状态转换图画出对应的状态转换矩阵;③.根

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档