欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    编译原理课程研讨题.docx

    • 资源ID:16993760       资源大小:25.35KB        全文页数:12页
    • 资源格式: DOCX        下载积分:6金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要6金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    编译原理课程研讨题.docx

    1、编译原理课程研讨题第一次研讨、第一批(第 3周)1.讨论:(1) 编译方法与解释方法的主要区别(2) 编译程序组合中分端(前端/后端)和分遍(单遍/多遍)的作用(3) 编译程序生成方法中自编译与自展的含义2.编写PL/O程序,功能:输入正整数n,求sum = 1! + 2 ! + . + n!3.扩充PL/O语言文法的定义,增加实数类型和数组类型 例:Var i:i nteger;r:real;A:array1.10of real;Ai:=r;4.设有下列文法G1S和G2S: 1)指出文法的类型2)证明两者等价G1 S:S aAb |bBaA aA |aB Bb |bG2S:S aA |bBA

    2、 aA |aCB bB |bDCbDa5.构造一个文法,使其语言是奇数集,且每个奇数不以 0开头6.文法GS的一个句子abbba的语法树如下图:a1) GS可能包含哪些产生式?2) 给出句子abbba的规范推导3) 求出句子abbba的句柄。7 .设有上下文无关文法 GS: S aAb A aB A a B bA Bb 试构造与GS等价的正规文法。8实验一识别标识符(A)第一次研讨、第二批(第 4 周)1 编写PL/O程序,输入正整数 n、XI、X2、xn,计算:S=刀Xi! i=1n 2构造下列语言的文法,并分析比较(1)L1(G)=anbn|n 1(2)L2(G)=(ab) n|n 1(3

    3、)L3(G)=a nbm|n,m 0(4)L4(G)=a nbm|n,m 13.定义一个文法,产生表达式 E: 1 )含有双目运算符 +, * 2) + 的优先级高于 *3) + 右结合, * 左结合4) 运算对象为标识符 i5) 可用括号改变算符的优先级4扩充 PL/0 语言文法的定义 , 增加 for 语句的功能 for 语句的示例如下:for i:= 1 to 100 do s:=s+i;5.定义一个文法,产生下列语言:该语言由 a、 b 符号串组成,串中 a 和 b 的个数相同6证明下列文法为二义文法 (能否转换为等价的非二义文法 ?) G1S: S A A AA A aAb A ab

    4、 G2S: S aSb S Sb S b7试写出Vt = 0,1,分别满足下述要求的正则表达式: 所有以 1 开始和 0 结束的符号串。 恰含有 3 个 1 的所有符号所组成的集合。 集合01, 1。 所有以 111 结束的符号串。8实验一 识别标识符 (B)1 构造一个DFA,接受刀=a b上由正规式as*(a|bajb定义的字符串并给出相 应的正规文法。2.写出 简单查询语句 的文法.例如:有2个关系R ( a,b,c), S (c,d,e)以下是简单查询语句的样例:语句 1:SELECT a, b FROM R WHERE a=15 OR b18;语句 2:SELECT R.a, S.c

    5、 FROM R , S WHERE R.c=S.c AND R.b18;3下面文法GS产生a b字符数相等的非空 a b字符串S aB | bAB bS|aBB | bA aS | bAA | a1)证明该文法是二义的。2)修改上述文法,使之非二义。4. 试用有限自动机的等价性证明以下 2个正规式(a|b)* |aa)*b和(a|b)*b是等价 的,并给出相应的正规文法。5.写出工=a,b上L= w | w中的a的个数为偶数的正规式,构造接受L的DFA6.构造一个最简的DFA M,接受工=a b上同时满足下列条件的符号串:1 )以 a 开头,以 b 结尾;2)符号串中包含 “aba。”7.有一

    6、台自动售货机,接收 1 分和 2分硬币,出售 3分一块的硬糖。顾客每次 向机器中投放一个硬币,当投放硬币额 =3 分时,机器会给顾客一块硬糖(只给 糖不找钱)。1)写出售后机售糖的正规表达式;2)构造识别上述正规表达式的最简 DFA。8.实验二 词法分析 (A)1.给出 嵌套查询语句 的文法例如:有2个关系R ( a,b,c),S (c,d,e)。以下是嵌套查询语句的样例:语句:SELECT a,bFROM RWHERE R.c in (SELECT S.c FROM S WHERE d=15);2.构造一个最简DFA M,接受=d,.,e, 上的正规式 dd .dd (edd )表示的无符号

    7、数的集合。其中 d 为 09 的数字。3 正规文法(又称为右线性文法):文法中每一条产生式a 的形式都为: Af aB 或 Aa。左线性文法:每一条产生式 a 的形式都为:A Ba或Aa。 设计一个算法,把给定的左线性文法转换为等价的右线性文法。4.构造一个DFA M,接受工=a,b上满足下列条件的符号串:1)以a开头,以b结尾;2)不包含 “aba。”5.对一个文法若消除了左递归,提取了左公共因子后是否一定为 LL(1 )文法?试举例说明。6已知文法GE的定义如下:E E + T | TT T * F | FF (E) | i试构造一组递归下降分析子程序,使之识别 GE所产生的语言。7.语言

    8、可接受的合法文件名为: device:name.extension其中 device、name、extension是长度至少为 1的字符串,而且第一部分( device:)和第三部分(.extension)可缺省。试画出识别这种文件名的最简 DFA。8实验二 词法分析 (B)1.设有文法 GS: S SaF | F F FbP | P P c | d(1)构造GS的算符优先关系表(2)分别给出 cadbdac# 和 dbcabc# 的分析过程2.已知文法GP的定义如下:P begin D S endD D; d | dS S; s | s试构造一组递归下降分析程序,使之识别 GP所产生的语言3

    9、.设有文法 GS: Sa B c | b A B Aa A b | b Bb |证明GS是一个LL(1)文法。构造GS的预测分析表。(3)给出 baabbb 的分析过程。4.设有文法 GS: (0) S (1S) S SaA (2) S a (3) A AbS (4) A b(1)构造GS的LR(0)项目规范族 C=IO,I1,In构造SLR(1)分析表,判断GS的文法类型(3) 写出句子 aabba 的分析过程5 .设采用自底向上的移进-归约语法分析,属性文法 GA如下:A a B print“O”A c print“1”B A b print“2”(1) 输入为aacbb 时,打印的符号串

    10、是什么?写出aacbb的语法制导分析过程6.设有文法 GE: E E+T | EVT | TT T*F | T A F | F F num | bool |(E)设计GE的语义子程序,对表达式进行类型检查并翻译为逆波兰式7.设有文法 Gnumber: number num numnu m digit num | digit digit O | 1 | 2 | 3 | 4 | 5 | 6 | 7| 8 | 9设计Gnumber的语义子程序,计算实数 number的值。8.实验三 语法分析 (A)1 .设有文法 GS: S A A A m D n | B B a | m S n S | DbS(1

    11、)构造GS的算符优先关系表。(2)给出 aman# 和 maban# 的分析过程。(3)由(2)说明算符优先分析算法的局限性。2.设有文法 GE: EETE |(E)| iT + | * 证明GE是一个非LL文法。把GE等价改写为LL文法G1E,并构造其预测分析表。(3) 给出句子( i+i)* (i+i) 的分析过程。3.设有文法 GS: S Ab | BaA aA | aB a将其改造成LL(1)文法,并编写递归下降分析程序,使之识别 GS所产生的4.设有文法 GS: (0) S (1) S aS (2) S bA (3) A dA (4) A d(1)构造GS的LR(O)项目规范族 C=

    12、lo,li,In,(2)说明GS属于哪一种LR文法,构造相应的LR分析表(3)写出句子aabbd的分析过程。5.写出表达式 (ab*c)/(ab)d 的四元式,逆波兰式及三元式序列6.条件语句的语法简写为: S iSeS | iS | S ; S | a其中:i代表if,e代表else, a代表赋值语句。如果规定:(1)else与其左边最近的if结合;(2);服从左结合。请给出文法中i、e和;的优先关系,然后构造出无二义的 LR分析表,并对输入串iiaea写出分析过程。7.设采用自底向上的移进-归约语法分析,属性文法 GE如下:E E + T print“O”E T print“1”T T *

    13、 F print“2”T F print“3”F (E) print“4”F i print“5”写出 i*(i+i*i) 的语法制导分析过程,打印的符号串是什么?8.实验三 语法分析 (B)1以下是简单表达式(只含有加、减运算)计算的一个属性文法 G(E)E TR R.in :=T.val ; E.val := R.val R +TRi R1.in := R.in + T.val ; R.val := R1.val R -TR1 R1.in := R.in - T.val ; R.val := R1.val R R.val := R.in T num T.val := lexval(num)

    14、 其中:lexval(num)表示从词法分析程序得到的常数的值。试给出表达式8-3+6 的语法树和相应的带标注语法分析树。2教材 P224 第 4题。3写出下列语句的三地址中间代码(四元式序列) : while (AC or B=1) then C:=C+1 else while (AC goto L26)B=B+17)Goto L4(8)L2: write ( B )2)找出题1)流图中的回边与循环7把下列中间代码序列划分为基本块并作出其流图1) read(x) read(y)(3)A := 10 if xy goto (5)A := 20 x := x+1(7)y := y-1(8)if

    15、y 0 or s s) the n s:=s+i; i:=i -1;end;5设有基本块D:=A -CE:=A*CF:=D*ES:=2T:=A-CQ:=A*CG:=2*SJ:=T*QK:=G*5L:=K+JM:=L假设基本块出口时只有 M 还被引用,写出 DAG 优化后的四元序列 6写出对下列四元式进行优化后的结果。for (k=1 ; k=100; k+) m=i+10*k; n=j+10*k ;(1) (=,1,-,k)(2)(j,100,k,9)(3)(*,10,k,t1)(4)(+,i,t1,m)(5)(*,10,k,t2)(6)(+,j,t2,n)(7)(+,k,1,k)(8)(j,-,-,2)7设计一个算法,对逆波兰算术表达式解释执行 .例 1: 输入 3 4 5 + * 输出 27例 2: 输入 3 4 5 * + 输出 238实验四语义分析(B)或实验五中间代码生成(B)


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开