第一题
问题描述
第一问
FIRSTVT | LASTVT | |
S | o,a | r |
N | a | o |
W | i,a,o | o,i,t |
第二问
说明:
为方便表示,用<,=,>表示算符的优先符号
第三问
不满足算符优先文法,因为终结符对存在多个优先关系。
第二题
问题描述
第一问
FIRSTVT | LASTVT | |
S | u,h | n |
T | o | o,i,u |
P | u,h | o,i,u |
第二问
说明:
为方便表示,用<,=,>表示算符的优先
第三问
不满足算符优先文法,因为终结符对存在多个优先关系。
第三题
第一问
拓广文法如下:
(0)S'->S
(1)S->XjtU
(2)S->Xj
(3)X->iU
(4)X->yX
(5)U->y
第二问
LR(1)的项目集规范族如下:
I0:
S'->·S,#
S->·XjtU,#
S->·Xj,#
X->·iU,j
X->·yX,j
I1:
S'->S·,#
I2:
S->X·jtU,#
S->X·j,#
I3:
X->i·U,j
U->·y,j
I4:
X->y·X,j
X->·iU,j
X->·yX,j
I5:
S->Xj·tU,#
S->Xj·,#
I6:
X->iU·,j
I7:
U->y·,j
I8:
X->yX·,j
I9:
S->Xjt·U,#
U->·y,#
I10:
S->XjtU·,#
I11:
U->y·,#
有限状态机如下:
第三问
构造的LR(1)分析表如下:
ACTION | GOTO | |||||||
状态 | i | j | t | y | # | S | U | X |
0 | s3 | s4 | 1 | 2 | ||||
1 | acc | |||||||
2 | s5 | |||||||
3 | s7 | 6 | ||||||
4 | s3 | s4 | 8 | |||||
5 | s9 | r2 | ||||||
6 | r3 | |||||||
7 | r5 | |||||||
8 | r4 | |||||||
9 | s11 | 10 | ||||||
10 | r1 | |||||||
11 | r5 |
第四问
不存在多重定义入口,是LR(1)文法!
第四题
第一问
拓广后的文法如下:
(0)S'->S
(1)S->FaT
(2)S->eT
(3)F->dTe
(4)F->d
(5)T->m
第二问
LR(1)的项目集规范族如下:
I0:
S'->·S,#
S->·FaT,#
S->·eT,#
F->·dTe,a
F->·d,a
I1:
S'->S·,#
I2:
S->F·aT,#
I3:
S->e·T,#
T->·m,#
I4:
F->d·Te,a
F->d·,a
T->·m,e
I5:
S->Fa·T,#
T->·m,#
I6:
S->eT·,#
I7:
T->m·,#
I8:
F->dT·e,a
I9:
T->m·,a
I10:
S->FaT·,#
I11:
F->dTe·,a
有限状态机如下:
第三问
构造的LR(1)分析表如下:
ACTION | GOTO | |||||||
状态 | a | d | e | m | # | S | F | T |
0 | s4 | s3 | 1 | 2 | ||||
1 | acc | |||||||
2 | s5 | |||||||
3 | s7 | 6 | ||||||
4 | r4 | s9 | 8 | |||||
5 | s7 | 10 | ||||||
6 | r2 | |||||||
7 | r5 | |||||||
8 | s11 | |||||||
9 | r5 | |||||||
10 | r1 | |||||||
11 | r3 |
第四问
不存在多重定义入口,是LR(1)文法!