设文法G,它的产生式给定如下:
A→i:=E
E→E+E
E→E*E
E→i
第1题
考察下列关于表达式的文法:
S→E
E→E?E|E!E|(E)|a
该文法是二义文法,假设规定该文法中?的运算优先级高于!,?满足右结合,!满足左结合。试构造该文法的无冲突的SLR(1)分析表。
第2题
已知二义文法G[S]为:
S→if S else S
S→if S
S→S: S
S→a
该文法终结符的优先性和结合性说明如下:
(1)else与最近的if结合;
(2)“;”与“a”优先性高于if;
(3)“;”与“a”优先性高于else;
(4)终结符之间满足左结合。
根据上述条件,为文法G[S]构造无冲突的SLR(1)分析表。
第3题
已知文法为:
S→aAa|aBb|bAb|bBa
A→x
B→x
该文法是LR(1)文法,但不是LALR(1)文法。
对于这种说法你认为正确吗?
第4题
请指出下面的LR分析表(a)、(b)和(c)分属LR(0)、SLR(1)和LR(1)中的哪一种?并说明理由。
(a)
状态 | ACTION | GOTO | ||
b | # | S | B | |
0 | S4 | 1 | 2 | |
1 | acc | |||
2 | S5 | 5 | ||
3 | r1 | |||
4 | r2 | |||
5 | r1 |
(b)
状态 | ACTION | GOTO | ||
a | b | # | T | |
0 | S2 | S4 | 1 | |
1 | acc | |||
2 | S2 | S4 | ||
3 | r1 | r1 | r1 | |
4 | r2 | r2 | r2 |
(c)
状态 | ACTION | GOTO | ||
1 | k | # | P | |
0 | S 2 | S 4 | 2 | |
1 | aC C | |||
2 | S 2 | S 4 | ||
3 | r2 | |||
4 | r1 |
第5题
行语法分析的过程(给出分析过程每一步的动作及堆栈和缓冲区的变化情况)。
E→E+T|T
T→T*F|F
F→(E)|i
第7题
为语言{ambn|n>m>10}写三个文法,它们分别是二义文法、LR(1)文法以及非LR(1)且非二义文法。并且每个文法的产生式不能超过4个。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!