Skip to content

XJTUSE-编译原理-第五章-HOMEWORK ​

第一题 ​

问题描述 ​

第一问 ​

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

第二问 ​

说明:

为方便表示,用表示算符的优先

第三问 ​

不满足算符优先文法,因为终结符对存在多个优先关系。

第三题 ​

友情链接:《编译原理》LR 分析法与构造 LR(1) 分析表的步骤 - 例题解析 - xpwi - 博客园

第一问 ​

拓广文法如下:

(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)文法!