16春编译原理复习讲义.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理》复习提纲 第一章:概述 [考点] 编译程序的地位:系统软件 编译程序和解释程序的根本区别:是否生成目标代码 源程序的执行过程:两种形式 编译程序的6个工作:词法分析、语法分析、语义分析、代码生成(4个必须完成)、中间代码生成、代码优化 编译程序的每个工作阶段的主要任务 [题型] 选择、填空、判断 [例题] 1.用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行(() 2.编译程序的五个组成部分缺一不可.。(( ) 3.编译程序生成的目标代码一定是机器语言的程序 (() 4.多趟扫描的编译程序是高质量的编译程序,优于单趟扫描的编译程序。(() 第二章:文法和形式语言 [考点] 基本概念:文法和语言、BNF表示法、推导和归约、规范推导(最右推导、最左归约)、句型、句子和语言 写出句子或句型的最左推导和最右推导的过程 给定文法,写出由此生成的语言 给定语言,写出相应的文法 根据句子或句型,画出语法树,求短语、简单短语和句型 证明文法的二义性,由句子或句型画出2棵不同的语法树,由此证明文法是二义性的。 可推出符号和活的非终结符,化简为等价文法。 文法和语言的分类:4种,了解包含关系L3(L2(L1(L0,1型文法不允许空规则,2型(上下文无关文法,由下推自动机)和3型(正则文法)文法的产生式的基本规则 由正则表达式写出正则集。 10.将正则文法转换成正则式 [题型] 选择、填空、判断、综合题 [例题] 1.写出由G[S] S::=aSb|P P::=bPc|bQc Q::=Qa|a 生成的语言 解:L(G[S])={ai bj ak cj bi∣i≥0, j ≥ 1, k ≥1} 2.已知语言L={an bbn|n≥1},则下述文法中,( D )可以产生语言L。 A、Z::=aZb|aAb|b B、A::=aAb A:=aAb|b A::=b C、Z::=AbB D、Z::=aAb A::=aA|a A::=aAb|b B::=bB|b 3.写出由文法G[S] S::=Aa|ε A::=Aa|Sb|a 转换成的正则表达式。 解:A::=Aa|Aab|b|a =A(a|ab)|(b|a) =(b|a) (a|ab)* 代回(1)得:S=[(b|a) (a|ab)*]a|ε 4.文法G[A]:A→aB|ε B→Ab|a ( )按乔姆斯基(Chomsky)分类是 2型 文法       ?? () 3.给出与正规式R=((ab)*|b)*(a|(ba)*)a 等价的NFA 解: 4.构造一个DFA M,它接受字母表(={a,b,c}上,以a或b开始的字符串,或以c开始但所含的a不多于一个的字符串 解: 第五章:自顶向下语法分析 [考点] 求首符号集(对符号串)、向前看集(对非终结符)、可选集(对规则) 语法分析方法分类:自顶向下分析和自底向上分析 自顶向下分析法:回溯问题和左递归带来的无限循环问题 消除文法的左递归的方法 LL(1)分析法:含义:第一个“L”:从左到右扫描源程序,第二个“L”:最左推导,“1”:向前看1个符号,即查看输入串的当前符号 LL(1)文法的概念:对于文法G[S],其每个非终结符号的不同规则具有不相交的可选集Select,不含左递归 [题型] 选择题、综合题 [例题] 1.证明文法G[S] S→BA A→BS︱d B→aA︱bS︱c 是LL(1)文法 解:对每个规则求其select集 Select (S→BA)=First(BA)={a,b,c} Select (A→BS)=First(BS)={a,b,c} Select (A→d)=First(d)={d} Select (B→aA)=First(aA)={a} Select (B→bS)=First(bS)={b} Select (B→c)=First(c)={c} 因为该文法不含左递归规则;且文法中每一个非终结符号S,A,B的各个规则的可选集两两不相交 2.将文法G[S] 改写为等价的G[S],使G[S]不含左递归和左公共因子。   G[S]: S→SAe|Ae       A→dAbA|dA|d 解:S →AeS   S →AeS|ε   A →dA   A →AB|ε   B →bA |ε

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档