欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    编译系统课堂练习.ppt

    • 资源ID:6231223       资源大小:533KB        全文页数:49页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译系统课堂练习.ppt

    练习,1、程序语言一般分为(1)和(2)两大类。其中(3)与人类自然语言比较接近,(4)又称为面向机器的语言。A 高级语言B 专用程序语言C 低级语言D 通用程序语言A C A C,练习,2、面向机器的语言是指(1),其特点是(2)。(1)A.用于解决机器硬件设计问题的语言B.特定计算机系统所固有的语言C.各种计算机系统都通用的语言D.只能在一台计算机上使用的语言(2)A.程序执行效率低,编写效率低,可读性差B.程序执行效率低,编写效率高,可读性强C.程序执行效率高,编写效率高,可读性强D.程序执行效率高,编写效率低,可读性差B D,练习,3、编译程序是将(1)翻译成(2);汇编程序是将(3)翻译成(4)。A.汇编语言程序B.高级语言程序C.机器语言程序D.汇编语言程序 或 机器语言程序E.汇编语言程序 或 高级语言程序B D A C,练习,4、编译程序的工作过程可以划分为(1)等六个阶段,同时还伴有(2)和(3)。(1)词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。(2)表格管理(3)出错处理5、编译程序可以发现源程序的全部(1)错误和部分(2)错误。A.语用B.语义C.语法D.运行C B,练习,6、要在某台机器上为某种语言构造一个编译程序(编译器),必须掌握的内容有(1)。A.汇编语言B.源语言C.目标语言D.程序设计方法学 E.编译方法 F.测试方法 G.机器语言B C E7、一个编译程序,不仅包含词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成,还应包括(1)。其中(2)和(3)不是每个编译程序都必需的。词法分析器用于识别(4)。语法分析器可以发现源程序中的(5)。(1)表格处理和出错处理(2)中间代码生成(3)代码优化(4)单词(5)语法错误,练习,8、程序语言的语言处理程序是一种(1)。(2)都是程序语言的处理程序,两者的主要区别在于(3)。(1)A.系统软件B.应用软件C.实时软件D.分布式系统软件(2)A.高级语言程序 和 低级语言程序B.解释程序 和 编译程序C.编译程序 和 操作系统D.系统程序 和 应用程序(3)A.单用户与多用户的差别B.对用户程序的查错能力不同C.机器执行的效率不同D.是否生成目标代码A B D,练习,9、编译器必须完成的工作有(1)。A.词法分析B.语法分析C.语义分析D.中间代码生成E.代码优化F.目标代码生成A B C F因为代码优化是为了提高目标程序的质量,不是必须的,没有优化源程序一样能够转化为目标代码。而中间代码生成是为代码优化服务的,没有代码优化的编译器可以直接生成目标代码。,练习,10、编译时,语法分析器的任务包括(1)。A.分析单词是怎样构成的B.分析单词串是如何构成语句和说明的C.分析语句和说明是如何构成程序的D.分析程序的结构B C D,练习,11、与编译程序相比,解释程序通常缺少(1),同时,解释程序(2),它处理语言时采用的方法是(3)。(1)A.中间代码生成 B.目标代码生成C.词法分析D.语法分析 E.代码优化(2)A.比较简单,可以移植性好,执行速度快B.比较复杂,可以移植性好,执行速度快C.比较简单,可以移植性差,执行速度慢D.比较简单,可以移植性好,执行速度慢(3)A.源程序语句被直接解释执行B.将源程序逐句转化成中间代码,解释执行C.先将源程序解释转化为目标代码,再执行D.以上方法都行(1)B E(2)D(3)B,练习,12、判断:“含有代码优化的编译器的执行效率高”。错。含有代码优化的编译器,其优化是指对生成的目标代码进行了优化,而不是编译器本身得到了优化,所以,它提高的是目标代码的执行效率,而不是编译器本身的执行效率。13.判断:“解释方式与编译方式的区别在于解释程序对源程序没有真正进行翻译”。错。编译方式和解释方式实际上都进行的翻译,只是编译相当于笔译,而解释相当于口译。解释方式下,不将于源程序彻底翻译成目标代码,而是每读入一条语句,将其翻译成中间代码,解释其含义并执行,然后再读入下一条语句,再翻译执行。编译方式和解释方式的根本区别在于“是否生成了目标代码”。,例9 文法GS:(1)SaSBE(2)SaBE(3)EBBE(4)aBab(5)bBbb(6)bEbe(7)eEee求对应的语言。,原则:G生成的每个串都在L(G)中 L(G)中的每个串确实能被G生成,答案:L(G)=anbnen|n1,练习,例10 LG=ambn|m,n 0 求对应文法,答案:SAB或SaSAaA|aSaBBbB|bBbB|b,练习,例11 LG=ambn|m,n=0 求对应文法,答案:SAB或SaSAaA|SBBbB|BbB|,独自增长型!,练习,例12 LG=anbn|n 0 求对应文法,答案:SaSb或AaB|abSabBAb,卷心菜型!,例13 LG=anbn|n=0 求对应文法,答案:SaSb或AaB|S BAb,练习,例14 LG=anbbn|n 0 求对应文法(独心的),答案:SaAbAaAbAb,卷心菜型!,例15 LG=ambn|n=m=1 求对应文法(混合型),答案:SaAbAaAb AAbA,练习,例16 文法GS:SAB 求对应的语言。AaAb|abBBc|,答案:LG=ambmcn|m0,n=0,例17 请写出非0开头的正偶数集的文法,答案:S2|4|6|8SHTH1|2|9|HBB0|1|2|9T0|2|4|6|8,文法的等价,若 L(G1)=L(G2),则称文法G1和G2是等价的。即:两个不同的文法能够产生相同的语言。例如文法G1A:A0R 与 G2S:S0S1 等价 A01 S01 RA1,E E T T F F i1*i2+i3短语:i1,i2,i3,i1*i2,i1*i2+i3直接短语:i1,i2,i3 句柄:i1,例GE:EE+T|T TT*F|F F(E)|i求句型i*i+i的短语、直接短语、句柄,练习,1.“符号就是字符”,这种说法正确吗?A.正确 B.不正确,B,2.文法GS:SA0 SB1 AS1 A1 BS0 B0 该文法是Chomsky(1)型文法,该文法所描述的所有只含四个符号的句子是(2)。,(1)3(2)1010,0110,1001,0101,4.文法GS:Sb|bBBbS 该文法所描述的语言是?A.L(G)=bi|i0 B.L(G)=b2i|i0 C.L(G)=b2i+1|i0 D.L(G)=b2i+1|i1,C,5.一个语言的文法是?A.唯一的 B.不唯一 C.个数有限的,B,6.已知语言L=anbbn|n=1,写出对应文法。,答案:SaAb AaAb|b,7.文法GE:EE1|E0|Ea|Ec|a|b|c下列符号串是该文法的句子的有:A.ab0B.a0c01C.aaaD.bc10,答案:B C D,8.文法GE:EE+T|TTT*F|FF(E)|a写出该文法句型 E+F*(E+T)的短语、直接短语和句柄。,9.文法GS:SAAB|if A then A else ABC|B+C|+CCD|C*D|*DDx|(A)|-D(1)哪些是终结符,哪些是非终结符?(2)构造下列符号串推导的语法树:if x+x then x*x else x写出其短语、直接短语和句柄。,11.文法GS:Sa|(T)|TT,S|S请给出句子(a,(a,a)的最左、最右推导。,正规文法正规式 举例,例:正规文法GS:SaA,将正规文法正规式。SaAaAAdAAaAd,SaASaAaAAdAAaAd,SaA|aAaA|dAAa|d,Sa(A|)A(a|d)AAa|d,Sa(A|)A(a|d)*(a|d),Sa(a|d)*(a|d)|),Sa(a|d)*,课后习题:8,正规式正规文法 举例,例:正规式 r=0(0|1)*,将正规式正规文法。,S0(0|1)*,S0A A(0|1)*,S0AA(0|1)A A,S0AA0A|1AA,S0AA0AA1AA,返回,举例:求最小化DFA,返回,P70 例2,举例:求FA所对应的正规式R,解:,FA 正规式,则:R=(a|b)*(aa|bb)(a|b)*,举例:为 R=(a|b)*abb 构造NFA N,使得L(N)=L(R)。,P68 例1,正规式FA,举例:求与文法GS等价的 NFA MGS:SaASbBSAaBAbABaSBbAB右线性文法,正规文法FA 举例,与f(A,a)=B 对应的产生式为:AaB对终态结点Z,增加产生式:ZNFA的初态对应文法的开始符号NFA的输入字符集对应文法的 VT,FA正规文法,GS:AaBAbDBbCCaACbDCDaBDbDD,例12:文法GE:EE+T|T构造预测分析表。TT*F|FFi|(E),解:(1)消除左递归:VN排列为 E,T,F消除E一切直接左递归:ETETT*FFiE+TE|TFF(E)消除T的一切直接左递归:ETETFTFiE+TE|T*FT|F(E)F没有左递归。文法无左公共因子。所以,提取左公共因子和消除左递归后的文法为:ETETFTFiE+TE T*FT F(E)E T,(2)判断改写后的文法是否为LL(1)文法:可推导出的VN表:EETTF否是否是否求First集:First(E)=i,(First(E)=+,First(T)=i,(First(T)=*,First(F)=i,(First(TE)=First(T)=i,(First(FT)=First(F)=i,(求Follow集:Follow(E)=#,)Follow(E)=Follow(E)Follow(E)=#,)Follow(T)=(First(E)-)Follow(E)=+,#,)Follow(T)=Follow(T)Follow(T)=+,#,)Follow(F)=(First(T)-)Follow(T)Follow(T)=*,+,#,),求各产生式的SELECT集:SELECT(ETE)=First(TE)=i,(SELECT(E+TE)=First(+TE)=+SELECT(E)=Follow(E)=#,)SELECT(TFT)=First(FT)=i,(SELECT(T*FT)=First(*FT)=*SELECT(T)=Follow(T)=+,#,)SELECT(F(E)=First(E)=(SELECT(Fi)=First(i)=i 判定:SELECT(E+TE)SELECT(E)=SELECT(T*FT)SELECT(T)=SELECT(F(E)SELECT(Fi)=所以该文法是LL(1)文法,可以使用预测分析法。,(3)构造预测分析表:,构造预测分析表的方法:对每个VT或“#”用符号a表示。若aSELECT(A),则把A放入MA,a中。(所有空白的MA,a表示出错。),Select(ETE)=i,(Select(E+TE)=+Select(E)=#,)Select(TFT)=i,(Select(T*FT)=*Select(T)=+,#,)Select(F(E)=(Select(Fi)=i,(4)预测分析输入串#i+i*i#,构造识别活前缀的有穷自动机(项目集规范族法),例如 文法G:(1)S aAcBe(2)A b(3)A Ab(4)B d构造对应的LR(0)项目集规范族。,步骤一:拓广文法(0)S S(1)S aAcBe(2)A b(3)A Ab(4)B d,步骤二:构造项目集规范族步骤三:判别(无“移进-归约冲突”和“归约-归约冲突”),I0 S SS aAcBe,I1I0-SI1S S,I2I0-aI2 S aAcBe A bA Ab,I3I2-AI3 S aAcBe A Ab,I4I2-bI4 A b,I5I3-cI5 S aAcBe B d,I6I3-bI6 A Ab,I7I5-BI7 S aAcBe,I8I5-dI8 B d,I9I7-eI9 S aAcBe,I0 S SS aAcBe,返 回,步骤四:根据项目集规范族 构造 DFA,例如:构造如下DFA对应的 LR(0)分析表,LR(0)分析表,另例,文法GE(1)E T+E(2)E T(3)T i*T(4)T i(5)T(E),步骤一:拓广文法(0)S E(1)E T+E(2)E T(3)T i*T(4)T i(5)T(E)步骤二:构造LR(0)项目集规范族(见下页)步骤三:判别LR(0)项目集中是否存在冲突(移进-归约冲突 和 归约-归约冲突)步骤四:构造DFA步骤五:构造 LR(0)分析表步骤六:分析句子,存在冲突,存在冲突,存在冲突,Follow(S)=#Follow(D)=,#对于I3:Follow(S),=故能使用SLR(1)分析,例 文法G:(0)S S(1)S rD(2)D D,i(3)D i,

    注意事项

    本文(编译系统课堂练习.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开