- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编 译 原 理
课程学习研讨题
上海大学计算机学院
《编译原理》课程组
2016年3月
第一次研讨、第一批(第3周)
1.讨论:
(1)编译方法与解释方法的主要区别
(2)编译程序组合中分端(前端/后端)和分遍(单遍/多遍)的作用
(3)编译程序生成方法中自编译与自展的含义
2.编写PL/0程序,功能:
输入正整数n,求sum = 1! + 2 ! + ... + n!
3.扩充PL/0语言文法的定义,增加实数类型和数组类型。
例:
Var i:integer;
r:real;
A:array[1..10]of real;
……
A[i]:=r;
4.设有下列文法G1[S]和 G2[S]:1)指出文法的类型 2)证明两者等价
G1[S]:S→aAb | bBa
A→aA | a
B→Bb | b
G2[S]:S→aA | bB
A→aA | aC
B→bB | bD
C→b
D→a
5. 构造一个文法,使其语言是奇数集,且每个奇数不以0开头。
6.文法G[S] 的一个句子abbba 的语法树如下图:
S
A B a
A b b B
a b
1) G[S]可能包含哪些产生式?
2) 给出句子abbba的规范推导。
3) 求出句子abbba 的句柄。
7.设有上下文无关文法G[S]:S→aAb A→aB A→a B→bA B→b
试构造与G[S]等价的正规文法。
8 实验一 识别标识符(A)
第一次研讨、第二批(第4周)
1.编写PL/0程序,输入正整数n、x1、x2、…、xn,计算:S= ∑ xi/i! i=1~n。
2.构造下列语言的文法,并分析比较
(1)L1(G)={anbn|n≥1}
(2)L2(G)={(ab) n|n≥1}
(3)L3(G)={anbm|n,m≥0}
(4)L4(G)={anbm|n,m≥1}
3.定义一个文法,产生表达式E:
1)含有双目运算符 +,*
2)+ 的优先级高于*
3)+ 右结合,* 左结合
4)运算对象为标识符 i
5)可用括号改变算符的优先级
4.扩充PL/0语言文法的定义, 增加for语句的功能。
for语句的示例如下:
for i:= 1 to 100 do s:=s+i;
5.定义一个文法,产生下列语言:
该语言由a、b符号串组成,串中a和b的个数相同
6.证明下列文法为二义文法(能否转换为等价的非二义文法?)
G1[S]:S→A A→AA A→aAb A→ab
G2[S]:S→aSb S→Sb S→b
7.试写出VT={0,1},分别满足下述要求的正则表达式:
所有以1开始和0结束的符号串。
恰含有3个1的所有符号所组成的集合。
集合{01,1}。
所有以111结束的符号串。
8.实验一 识别标识符(B)
第二次研讨、第一批(第5周)
1.构造一个DFA,接受∑={a,b}上由正规式aa*(a|ba)*b 定义的字符串并给出相应的正规文法。
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 FROM R , S WHERE R.c=S.c AND R.b18;
3.下面文法G[S]产生a、b字符数相等的非空a、b字符串。
S → aB | bA
B → bS | aBB | b
A → aS | bAA | a
1)证明该文法是二义的。
2)修改上述文法,使之非二义。
4.试用有限自动机的等价性证明以下2个正规式((a|b)*?|aa)*b和(a|b)*b是等价的,并给出相应的正规文法。
5.写出Σ={a,b}上L={ w | w 中的a 的个数为偶数}的正规式,构造接受L的 DFA。
6. 构造一个最简的DFA M,接受Σ={a,b}上同时满足下列条件的符号串:
1)以a开头,以b结尾;
2)符号串中包含“aba”。
7.有一台自动售货机,接收1分和2分硬币,出售3分一块的硬糖。顾客每次向机器中投放一个硬币,当投放硬币额=3分时,机器会给顾客一块硬糖(只给糖不找钱)。
1)写出售后机售糖的正规表
文档评论(0)