Java Reference
In-Depth Information
s
4
= f[F ::=
(
E
)
,
+/*/#
],
[E::= E
+
T,
+/)
],
[E::= T,
+/)
],
[T ::= T
*
F,
+/*/)
],
[T ::= F,
+/*/)
],
[F ::=
(
E
)
,
+/*/)
],
[F ::=
id
,
+/*/)
]g
goto(s
4
,E) =s
8
goto(s
4
,T) =s
9
goto(s
4
,F) =s
10
goto(s
4
,
(
) =s
11
goto(s
4
,
id
) =s
12
s
15
= f[F ::=
(
E
)
,
+/*/#
]g
s
5
= f[F ::=
id
,
+/*/#
]g
s
16
= f[E::=E
+
T,
+/)
],
[T ::= T
*
F,
+/*/)
],
[T ::= F,
+/*/)
],
[F ::=
(
E
)
,
+/*/)
],
[F ::=
id
,
+/*/)
]g
goto(s
16
,T) =s
19
goto(s
16
,F) =s
10
goto(s
16
,
(
) =s
11
goto(s
16
,
id
) =s
12
s
6
= f[E::=E
+
T,
+/#
],
[T ::= T
*
F,
+/*/#
],
[T ::= F,
+/*/#
],
[F ::=
(
E
)
,
+/*/#]
,
[F ::=
id
,
+/*/#
]g
goto(s
6
,T) =s
13
goto(s
6
,F) =s
3
goto(s
6
,
(
) =s
4
goto(s
6
,
id
) =s
5
s
17
= f[T ::=T
*
F,
+/*/)
],
[F ::=
(
E
)
,
+/*/)
],
[F ::=
id
,
+/*/)
]g
goto(s
17
,F) =s
20
goto(s
17
,
(
) =s
11
goto(s
17
,
id
) =s
12
s
7
= f[T ::=T
*
F,
+/*/#
],
[F ::=
(
E
)
,
+/*/#
],
[F ::=
id
,
+/*/#
]g
goto(s
7
,F) =s
14
goto(s
7
,
(
) =s
4
goto(s
7
,
id
)
s
18
= f[F ::=
(
E
)
,
+/*/)
],
[E::=E
+
T,
+/)
]g
goto(s
18
,
)
) =s
21
goto(s
18
,
+
) =s
16
=s
5
goto(s
19
,
*
) =s
17
s
8
= f[F ::=
(
E
)
,
+/*/#
],
[E::=E
+
T,
+/
)]g
goto(s
8
,
)
) =s
15
goto(s
8
,
+
) =s
16
s
19
= f[E::=E
+
T,
+/)
],
[T ::=T
*
F,
+/*/)
]g
goto(s
9
,
*
)
s
9
= f[E::=T,
+/
)],
[T ::=T
*
F,
+/*/
)]g
=s
17
s
20
= f[T ::=T
*
F,
+/*/)
]g
s
10
= f[T ::=F,
+/*/
)]g
s
21
= f[F ::=
(
E
)
,
+/*/)
]g
Merging the states and re-computing the gotos gives us the LALR(1) canonical collection
illustrated in the table below.
s
0
=
s
6:16
=
f[E
0
::= E,
#
],
[E::= E
+
T,
+/#
],
[E::= T,
+/#
],
[T ::= T
*
F,
+/*/#
],
[T ::= F,
+/*/#
],
[F ::=
(
E
)
,
+/*/#
],
[F ::=
id
,
+/*/#
]g
goto(s
0
,E) =s
1
goto(s
0
,T) =s
2:9
goto(s
0
,F) =s
3:10
goto(s
0
,
(
) =s
4:11
goto(s
0
,
id
) =s
5:12
f[E::=E
+
T,
+/)/#
],
[T ::= T
*
F,
+/*/)/#
],
[T ::= F,
+/*/)/#
],
[F ::=
(
E
)
,
+/*/)/#]
,
[F ::=
id
,
+/*/)/#
]g
goto(s
6:16
,T) =s
13:19
goto(s
6:16
,F) =s
3:10
goto(s
6:16
,
(
) =s
4:11
goto(s
6:16
,
id
) =s
5:12
s
1
=
s
7:17
=
f[E
0
::=E,
#
],
[E::=E
+
T,
+/#
]g
goto(s
1
,
+
) =s
6:16
f[T ::=T
*
F,
+/*/)/#
],
[F ::=
(
E
)
,
+/*/)/#
],
[F ::=
id
,
+/*/)/#
]g
goto(s
7:17
,F)
=s
14:20
goto(s
7:17
,
(
)
=s
4:11
goto(s
7:17
,
id
)
=s
5:12
Search WWH ::
Custom Search