You are on page 1of 14

1.

ZADATAK
0)
1)
2)
3)
4)
5)
6)

I0 = {

S -> A
A -> B-A
A -> B
B -> C*B
B -> C
C -> num
C -> id

[S -> .A, $],


[A -> .B-A, $],
[A -> .B, $],
[B -> .C*B, - | $],
[B -> .C, - | $],
[C -> .id, * | - | $],
[C -> .num, * | - | $] }

FIRST {-A$} = FIRST {$} = $


FIRST {*B (- | $)} = *
FIRST { (- | $)} = - | $

(I0, A) = {

[S -> A., $]

(I0, B) = {

[A -> B.-A, $],


[A -> B., $]
} = I2

(I0, C) = {

[B -> C.*B, - | $],


[B -> C., - | $] } = I3

(I0, id) = {

[C -> id., * | - | $]

} = I4

(I0, num) = {

[C ->num., * | - | $]

} = I5

(I2, -) = {

[A -> B-.A, $],


[A -> .B-A, $],
[A -> .B, $],
[B -> .C*B, - | $],
[B -> .C, - | $],

} = I1

[C -> .id, * | - | $],


[C -> .num, * | - | $] } = I6
(I3, *) = {

[B -> C*.B, - | $],


[B -> .C*B, - | $],
[B -> .C, - | $],
[C -> .id, * | - | $],
[C -> .num, * | - | $] } = I7

(I6, A) = {

[A -> B-A., $] } = I8

(I6, B) = {

[A -> B.-A, $],


[A -> B., $]
} = I2

(I6, C) = {

[B -> C.*B, - | $],


[B -> C., - | $] } = I3

(I6, id) = {

[C -> id., * | - | $]

(I6, num) = {

[C ->num., * | - | $]} = I5

(I7, B) = {

[B -> C*B., - | $]

(I7, C) = {

[B -> C.*B, - | $],


[B -> C., - | $] } = I3

(I7, id) = {

[C -> id., * | - | $]

(I7, num) = {

[C -> num., * | - | $] } = I5
*

0
1
2
3
4
5
6
7
8
9

S7
R6
R5

} = I4

} = I9

} = I4

Id
S4

num
S5

A
1

B
2

C
3

2
9

3
3

Accept
R2
R4
R6
R5

S6
R4
R6
R5
S4
S4

S5
S5
R1
R3

2. ZADATAK
0)
1)
2)
3)
4)
5)

I0 = {

E -> E
E -> E+E
E -> E*E
E -> E^E
E -> (E)
E -> id

E -> .E
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id }

(I0, E) = {

E -> E.
E -> E.+E
E -> E.*E
E -> E.^E

} = I1

E -> (.E)
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I2

(I0, id) = {

E -> id.

} = I3

(I1, +) = {

E -> E+.E
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I4

(I0, () = {

(I1, *) = {

E -> E*.E
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I5

E -> E^.E
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I6

E -> (E.)
E -> E.+E
E -> E.*E
E -> E.^E

} = I7

E -> (.E)
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I2

(I2, id) = {

E -> id.

} = I3

(I4, E) = {

E -> E+E.
E -> E.+E
E -> E.*E
E -> E.^E

} = I8

E -> (.E)
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I2

(I1, ^) = {

(I2, E) = {

(I2, () = {

(I4, () = {

(I4, id) = {

E -> id.

} = I3

(I5, E) = {

E -> E*E.
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I9

E -> (.E)
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I2

(I5, id) = {

E -> id.

} = I3

(I6, E) = {

E-> E^E.
E -> .E+E
E -> .E*E
E -> .E^E
E -> .(E)
E -> .id

} = I10

(I7, )) = {

E -> (E).

} = I11

(I10, E) = {

E -> E.+E
E -> E.*E
E -> E.^E

} = I12

(I5, () = {

Follow(E) = {+, *, ^, ), $}

0
1
2
3
4
5
6
7
8
9
10
11
12

0
1
2
3
4
5
6
7
8
9
10
11
12

Id
S3
S3

(
S2

S2

Id
S3

(
S2

S3

S6

S4

S5

Accept

R5

R5

R5

R5
8
9
10

S11
R1
R2
R3
R4

S6
R1S6
R2S6
R3
R4
S6

S4
R1S4
R2S4
R3
R4
S4

S5
R1S5
R2S5
R3
R4
S5

R1
R2
R3
R4

S6

S5

S4

Accept

R5

R5

R5

R5

S2

12

E
1
7

S2
S2
S2

S2

E
1
7

R5
S3
S3
S3

S2
S2
S2

S3

S3

S2
R5

S3
S3
S3

8
9
10
S11
R1
R2
R3
R4

S6
S6
S6
R3
R4
S6

S5
S5
R2
R3
R4
S5

S6
R1
R2
R3
R4
S4

R1
R2
R3
R4

12

3. ZADATAK

0)
1)
2)
3)
4)
5)
6)
7)
8)
9)

E -> E
E -> E+T
E -> E-T
E -> T
T -> T*F
T -> T/F
T -> T%F
T -> F
F -> (E)
F -> id

I0 = {

(I0, E) = {

(I0, T) = {

[E -> .E, $]
[E -> .E+T, $ | + | -]
[E -> .E-T, $ | + | -]
[E -> .T, $ | + | -]
[T -> .T*F, $ | + | - | * | / | %]
[T -> .T/F, $ | + | - | * | / | %]
[T -> .T%F, $ | + | - | * | / | %]
[T -> .F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %] }

[E -> E., $]
[E -> E.+T, $ | + | -]
[E -> E.-T, $ | + | -]

} = I1

[E -> T., $ | + | -]
[T -> T.*F, $ | + | - | * | / | %]
[T -> T./F, $ | + | - | * | / | %]
[T -> T.%F, $ | + | - | * | / | %]

(I0, F) = {

[T -> F., $ | + | - | * | / | %] } = I3

(I0, () = {

[F -> (.E), $ | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | -]

} = I2

[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4

(I0, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I1, +) = {

[E -> E+.T, $ | + | -]
[T -> .T*F, $ | + | - | * | / | %]
[T -> .T/F, $ | + | - | * | / | %]
[T -> .T%F, $ | + | - | * | / | %]
[T -> .F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %]

} = I6

[E -> E-.T, $ | + | -]
[T -> .T*F, $ | + | - | * | / | %]
[T -> .T/F, $ | + | - | * | / | %]
[T -> .T%F, $ | + | - | * | / | %]
[T -> .F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %]

} = I7

(I1, -) = {

(I2, *) = {

[T -> T*.F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %] } = I8

(I2, /) = {

[T -> T/.F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %] } = I9

(I2, %) = {

[T -> T%.F, $ | + | - | * | / | %]
[F -> .(E), $ | + | - | * | / | %]
[F -> .id, $ | + | - | * | / | %] } = I10

(I4, E) = {

[F -> (E.), $ | + | - | * | / | %]
[E -> E.+T, ) | + | -]
[E -> E.-T, ) | + | - ]
} = I11

(I4, T) = {

[E -> T., ) | + | -]
[T -> T.*F, ) | + | - | * | / | %]
[T -> T./F, ) | + | - | * | / | %]
[T -> T.%F, ) | + | - | * | / | %]

(I4, F) = {

[T -> F., ) | + | - | * | / | %]

(I4, () = {

[F -> (.E), ) | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | -]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I12

} = I3pr

} = I4pr

(I4, id) = {

[F -> id., ) | + | - | * | / | %] } = I5pr

(I6, T) = {

[E -> E+T., $ | + | -]
[T -> T.*F, $ | + | - | * | / | %]
[T -> T./F, $ | + | - | * | / | %]
[T -> T.%F, $ | + | - | * | / | %]

} = I13

(I6, F) = {

[T -> F., $ | + | - | * | / | %]

} = I3

(I6, () = {

[F -> (.E), $ | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4pr

(I6, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I7, T) = {

[E -> E-T., $ | + | -]
[T -> T.*F, $ | + | - | * | / | %]
[T -> T./F, $ | + | - | * | / | %]
[T -> T.%F, $ | + | - | * | / | %]

} = I14

(I7, F) = {

[T -> F., $ | + | - | * | / | %]

} = I3

(I7, () = {

[F -> (.E), $ | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4pr

(I7, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I8, F) = {

[T -> T*F., $ | + | - | * | / | %]

} = I15

(I8, () = {

[F -> (.E), $ | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4pr

(I8, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I9, F) = {

[T -> T/F., $ | + | - | * | / | %] } = I16

(I9, () = {

[F -> (.E), $ | + | - | * | / | %]

[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4pr

(I9, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I10, F) = {

[T -> T%F., $ | + | - | * | / | %]

} = I17

(I10, () = {

[F -> (.E), $ | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I4pr

(I10, id) = {

[F -> id., $ | + | - | * | / | %] } = I5

(I11, )) = {

[F -> (E)., $ | + | - | * | / | %] } = I18

(I11, +) = {

[E -> E+.T, ) | + | -]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I18

(I11, -) = {

(I12, *) = {

(I12, /) = {

(I12, %) = {

[E -> E-.T, ) | + | -]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I19

[T -> T*.F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I8pr

[T -> T/.F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I9pr

[T -> T%.F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

} = I10pr

I2 i I12 = I2novo = {

[E -> T., $ | ) | + | -]
[T -> T.*F, $ | ) | + | - | * | / | %]
[T -> T./F, $| ) | + | - | * | / | %]
[T -> T.%F, $| ) | + | - | * | / | %]

I3 i I3pr = I3novo = {

[T -> F., $ | ) | + | - | * | / | %]

I4 i I4pr = I4novo = {

[F -> (.E), $ | ) | + | - | * | / | %]
[E -> .E+T, ) | + | -]
[E -> .E-T, ) | + | -]
[E -> .T, ) | + | - | * | / | %]
[T -> .T*F, ) | + | - | * | / | %]
[T -> .T/F, ) | + | - | * | / | %]
[T -> .T%F, ) | + | - | * | / | %]
[T -> .F, ) | + | - | * | / | %]
[F -> .(E), ) | + | - | * | / | %]
[F -> .id, ) | + | - | * | / | %]

I5 i I5pr = I5novo = {

[F -> id., $ | ( | + | - | * | / | %]

I6 i I18 = I6novo = {

[E -> E+.T, $| ) | + | -]
[T -> .T*F, $ | ) | + | - | * | / | %]
[T -> .T/F, $ | ) | + | - | * | / | %]
[T -> .T%F, $ | ) | + | - | * | / | %]
[T -> .F, $ | ) | + | - | * | / | %]
[F -> .(E), $ | ) | + | - | * | / | %]
[F -> .id, $| ) | + | - | * | / | %]

I7 I I19 = I7novo = {

I8 I I8pr = I8novo = {

I9 I I9pr = I9novo = {

I10 I I10pr = I10novo = {

[E -> E-.T, $ | ) | + | -]
[T -> .T*F, $ | ) | + | - | * | / | %]
[T -> .T/F, $ | ) | + | - | * | / | %]
[T -> .T%F, $ | ) | + | - | * | / | %]
[T -> .F, $ | ) | + | - | * | / | %]
[F -> .(E), $ | ) | + | - | * | / | %]
[F -> .id, $ | ) | + | - | * | / | %]

[T -> T*.F, $ | ) | + | - | * | / | %]
[F -> .(E), $ | ) | + | - | * | / | %]
[F -> .id, $ | ) | + | - | * | / | %]

[T -> T/.F, $ | ) | + | - | * | / | %]
[F -> .(E), $ | ) | + | - | * | / | %]
[F -> .id, $ | ) | + | - | * | / | %]

[T -> T%.F, $ | ) | + | - | * | / | %]
[F -> .(E), $ | ) | + | - | * | / | %]
[F -> .id, $ | ) | + | - | * | / | %]

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

(
S4

R3
R7

S8
R7

S7
R3
R7

S6
R3
R7

S10
R7

id
S5

S5
R9

R9

R9

R9

R9

R9

S4
S4
S4
S4
S4

S8
S8
R4
R5
R6
R8

S7

S6

R1
R2
R4
R5
R6
R8

R1
R2
R4
R5
R6
R8

S10
S10
R4
R5
R6
R8

S9
S9
R4
R5
R6
R8

T
2

F
3

11

13
14

3
3
15
16
17

R9
S5
S5
S5
S5
S5

S18

E
1

Accept
R3
R7

S9
R7

S4

R1
R4
R5
R6
R8