- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
已知文法G[S]: S?AB A?aBa|? B?bAb|? (1)(2分)求该文法的LR(0)项目集规范族。 (2)(2分)求出S, A, B的first集和 follow集。 (3)(6分)该文法是否为SLR(1)文法? 若是,构造出相应的SLR(1)分析表,若不是,则阐明其理由。 (注意:对每一个含有冲突的状态,列出引起冲突的输入符号以及冲突的类型) * 练习: 一.单选题(ABCD中选择其一)(每空1分,共20分) 二.解答下列各题(文法变换,如消除左递归;找出句型中的短语、句柄;写出语句的四元式目标代码、T型图、递归子程序、自动机构造、文法求语言等) 1.(6分)给出下面文法G[S]所产生的语言. S?aS|bA|? ① A?aS|a ② 解: ②代入①: S?aS| b(aS|a )| ? 即 S?aS| baS|ba | ? S?(a|ba)S| (ba| ?) 所以 S=(a|ba)* (ba| ?) 二.解答下列各题 2.(12分)构造下述文法G[S]对应的自动机. S?A0 ① A?A0|S1|0 ② 该自动机是确定的吗?若不确定,则对它确定化.该自动机对应的语言是什么? 解: q0 A S 0 0 1 0 该自动机是不确定的. 二.2 q0 A S 0 0 1 0 1 A S A,S A A q0 F 1 0 NFA M 1 [A] [A,S] [A,S] [A,S] [A] [A] [q0] F’ 1 0 DFA M’ 1 2 3 0 0 1 0 二.2 S?A0 ① A?A0|S1|0 ② 求:(1)文法对应的DFA。 (2)该自动机(或文法)对应的语言是什么? q0 A S 0 0 1 0 两种方法求语言. 方法一: 由文法求出正则式R. 方法二: 由NFA求正则式R. 二.2 S?A0 ① A?A0|S1|0 ② 该自动机对应的语言是什么? q0 A S 0 0 1 0 方法一: 由文法求出正则式. 由①代入②, A?A0|A01|0 A?A(0|01)|0 A=0(0|01)* 代入①, S=0(0|01)*0 方法二,由自动机求R. 0 q0 A S 0 0 1 y x ? ? x A y 0 0 0 01 R=0(0|01)*0 二.3. (4分)将下列语句翻译成四元式代码: IF a<b OR cd THEN s:=a ELSE s:=c+d (设当前四元式编号从10开始)。 解: (10)(j<, a, b, 14) 真 (11) (j, _, _, 12) (12) (j, c, d, 14) 真 (13) (j, _, _, 16) 假 (14) (:=, a, _, s) (15) (j, _, _, 18) (16) (+, c, d, T1) (17) (:=, T1,_ , s) (18) 三(10分).构造下列正则式对应的最小的DFA. 1(01)*(0* | 1*) 0 解: 1 F E F E D,F D B C D,E C B B A F ? 1 0 NFA 1 B F 1 0 A C D E ? ? 1 0 0 0 1 [F] 1 [DF] [DF] [E] [F] [E] 1 [BDE] [DF] [CDF] [E] [CDF] [BDE] [BDE] [A] F’ 1 0 DFA 三(10分).构造下列正则式对应的最小的DFA. 1(01)*(0* | 1*) 0 解: 1 [F] 1 [DF] [DF] [E] [F] [E] 1 [BDE] [DF] [CDF] [E] [CDF] [BDE] [BDE] [A] F’ 1 0 DFA 1 2 5 1 0 1 4 1 0 0 0 6 3 1 1 2 3 4 5 6 三(10分).构造下列正则式对应的最小的DFA. 1(01)*(0* | 1*) 0 1 2 5 1 0 1 4 1 0 0 0 6 3 1 解:最小化: P0=({1,2,4},{3,5,6}) (2)考察{1,2,4}: 因为{1}0无定义, {2,4}0={3,6} {3,5,6} 所以P1=({1},{2,4},{3,5,6}) (3)考察{3,5,6}和{2,4}: 因为:{3}1有定义,{5,6}1无定义. {5}0有定义,{6}0无定义.显然2和4可区分. P2
文档评论(0)