Está en la página 1de 8

Ejercicio 4.6.

2
S -> S
1) S -> SS+
2) S -> SS*
3) S -> a

Sig(S) = { $, +, *, a}

S -> .S
S -> .SS+
S -> .SS*
S -> .a
S -> S.
S -> S.S+
S -> S.S*
S -> .SS+
S -> .SS*
S -> .a
S -> a.
S -> SS.+
S -> SS.*
S -> S.S+
S -> S.S*
S -> .SS+
S -> .SS*
S -> .a
S -> SS+.
S -> SS*.

Estado
0
1
2
3
4
5

Ejercicio 4.6.3
Pila
0
02
01
012
013
0135
01
012
013
0134
01

Smbolo
a
S
Sa
SS
SS*
S
Sa
SS
SS+
S

Entrada
aa*a+$
a*a+$
a*a+$
*a+$
*a+$
a+$
a+$
+$
+$
$
$

Accin
D2
S->a
D2
S->a
D5
S->SS*
D2
S->a
D4
S->SS+
aceptar

D2
D2 ac
R3 R3 R3 R3
D4 D5 D2
R1 R1 R1 R1
R2 R2 R2 R2

Ir_A
S
1
3
3

Ejercicio 4.6.4
a)
S -> S
1) S -> 0S1
2) S -> 01

b)

Sig(S) = {$,0,1}

S -> .S
S -> .0S1
S -> .01
S -> S.
S -> 0.S1
S -> 0.1
S -> .0S1
S -> .01
S -> 0S.1
S -> 01.
S -> 0S1.

Estado

0
1
2
3
4
5

D2

0
02
022
0222
02224
0223
02235
023
0235
01
$

ac
D2 D4
D5
R2 R2 R2
R1 R1 R1

S -> S
1) S -> +SS
2) S -> *SS
3) S -> a

Pila

S -> .S
S -> .+SS
S -> .*SS
S -> .a
S -> S.
S -> +.SS
S -> .+SS
S -> .*SS
S -> .a
S -> *.SS
S -> .+SS
S -> .*SS
S -> .a
S -> a.

Smbolo
0
00
000
0001
00S
00S1
0S
0S1
S

Entrada
000111$
00111$
0111$
111$
11$
11$
1$
1$
$
$

Accin
D2
D2
D2
D4
R2 (S->01)
D5
R1 (S->0S1)
D5
R1 (S->0S1
aceptar

Ir_A
S
1
3

Sig(S) = {$, +, *, a}

Estado
0
1
2
3
4
5
6
7
8

D2 D3 D4

Ir_A
S
1

ac
D2
D2
R3
D2
D2
R1
R2

D3
D3
R3
D3
D3
R1
R2

D4
D4
R3 R3
D4
D4
R1 R1
R2 R2

5
6
7
8

c)

S -> +S.S
S -> .+SS
S -> .*SS
S -> .a
S -> *S.S
S -> .+SS
S -> .*SS
S -> .a
S -> +SS.
S -> *SS.

S -> S
1) S -> S(S)S
2) S ->

Pila

Smbolo

0
02
023
0234
0236
02364
02368
025
0254
01

Entrada
+*aaa$
*aaa$
aaa$
aa$
aa$
a$
a$
a$
$
$

+
+*
+*a
+*S
+*Sa
+*SS
+S
+Sa
+SS

Accin
D2
D3
D4
R3 (S -> a)
D4
R3 (S -> a)
R2 (S -> *SS)
D4
R3(S -> +SS)
aceptar

Sig(S) = {$, (, )}

S -> .S
S -> .S(S)S
S -> .
S -> S.
S -> S.(S)S
S -> .
S -> S(.S)S
S -> .S(S)S
S -> .
S -> S (S.)S
S -> S(S).S
S -> .S(S)S
S -> .
S -> S(S)S.

R/ La gramtica es muy ambigua para este analizador

Estado
0
1
2
3
4
5
6

D2
D3
R2

Ir_A
S
1

ac
R2

R2
D2

D5
6
R1

R1

R1

d)
1)
2)
3)
4)
5)

S -> S
S -> S+S
S -> SS
S -> (S)
S -> S*
S -> a
S -> .S
S -> .S+S
S -> .SS
S -> .(S)
S -> .S*
S -> .a
S -> S.
S -> S.+S
S -> S.S
S -> S.*
S -> .S+S
S -> .SS
S -> .(S)
S -> .S*
S -> .a
S -> (.S)
S -> .S+S
S -> .SS
S -> .(S)
S -> .S*
S -> .a
S -> a.
S -> S+.S
S -> .S+S
S -> .SS
S -> .(S)
S -> .S*
S -> .a
S -> SS.
S -> (S.)
S -> S.+S
S -> S.S
S -> S.*
S -> .S+S
S -> .SS
S -> .(S)
S -> .S*
S -> .a
S -> S*.
S -> S+S.
S -> (S).

Sig(S) = {$, +, *, (, ), a}

Estado
0
1
2
3
4
5
6
7
8
9
Pila
0
02
023
026
0264
02643
02648
026
0269
01
017
01
013
015
01

D2
D4 D7 D2
D2
R5 R5 R5
D2
R2 R2 R2
D4 D7 D2
R4 R4 R4
R1 R1 R1
R3 R3 R3
Smbolo
(
(a
(S
(S+
(S+a
(S+S
(S
(S)
S
S*
S
Sa
SS
S

D3
D3
D3
R5 R5
D3
R2 R2
D9 D1
R4 R4
R1 R1
R3 R3

Entrada
(a+a)*a$
a+a)*a$
+a)*a$
+a)*a$
a)*a$
)*a$
)*a$
)*a$
*a$
*a$
a$
a$
$
$
$

$
ac

Ir_A
S
1
5
6

R5
8
R2
R4
R1
R3
Accin

D2
D3
R5 ( S -> a )
D4
D3
R5 ( S -> a )
R1 ( S -> S+S )
D9
R3 ( S -> (S) )
D7
R4 ( S -> S* )
D3
R5 ( S -> a )
R2 ( S -> SS )
aceptar

e)
1)
2)
3)
4)

S -> S
S -> (L)
S -> a
L -> L,S
L -> S
S -> .S
S -> .(L)
S -> .a
L -> .L,S
L -> .S
S -> S.
L -> S.
S -> (.L)
L -> .L,S
L -> .S
S -> .(L)
S -> .a
S -> a.
L -> L.,S
S -> (L.)
L -> L.,S
L -> L,.S
S -> .(L)
S -> .a
S -> (L).
L -> L,S.

Sig(S) = {$, , , )}
Sig(L) = { , , )}

Estado
0
1
2
3
4
5
6
7
8
Pila
0
02
022
0223
0221
0225
02256
022563
022568
0225
02257
025
0256
02563
02568
025
0256
02562
025623
025621
025625
0256257
02568
025
0257
01

D2
R4

a
D3

R4
D2

R2
D6
D6

S
1

L
4

Ac
D3

R2

R2

D7
D2

D3

R1
R3

R1
R3

Smbolo

Entrada
((a,a),a,(a))$
(a,a),a,(a))$
a,a),a,(a))$
,a),a,(a))$
,a),a,(a))$
,a),a,(a))$
a),a,(a))$
),a,(a))$
),a,(a))$
),a,(a))$
,a,(a))$
,a,(a))$
a,(a))$
,(a))$
,(a))$
,(a))$
(a))$
a))$
))$
))$
))$
)$
)$
)$
$
$

(
((
((a
((S
((L
((L,
((L,a
((L,S
((L
((L)
(L
(L,
(L,a
(L,S
(L
(L,
(L,(
(L,(a
(L,(S
(L,(L
(L,(L)
(L,S
(L
(L)
S

Ir_A

R1
Accin
D2
D2
D3
R2
R4
D6
D3
R2
R3
D7
R1
D6
D3
R2
R3
D6
D2
D3
R2
R4
D7
R1
R3
D7
R1
aceptar

f)

S -> S
1) S -> aSbS
2) S -> bSaS
3) S ->

Sig(S) = {$, a, b)

S -> .S
S -> .aSbS
S -> .bSaS
S -> .
S -> S.
S -> a.SbS
S -> .aSbS
S -> .bSaS
S -> .
S -> b.SaS
S -> .aSbS
S -> .bSaS
S -> .
S -> .
S -> aS.bS
S -> bS.aS
S -> aSb.S
S -> .aSbS
S -> .bSaS
S -> .
S -> bSa.S
S -> .aSbS
S -> .bSaS
S -> .
S -> aSbS.
S -> bSaS.

R/ La gramtica no aplica para este analizador.

Estado
0
1
2
3
4
5
6
7
8
9
10
Pila
0
02
022
0222

Smbolo
a
aa
aab

D2 D2 D3

Ir_A
S
1

ac
D2 D2 D3
D2 D2 D3
R3 R3
D7
D8
D2 D2 D3
D2 D2 D3
R1 R1
R2 R2

5
6

9
10

Entrada
Accin
aabbab$ D2
abbab$ D2
bbab$ D2
bab$

g)
1)
2)
3)
4)
5)
6)
7)
8)

bexpr -> bexpr


bexpr -> bexpr or bterm
bexpr -> bterm
bterm -> bterm and bfactor
bterm -> bfactor
bfactor -> not bfactor
bfactor -> ( bexpr )
bfactor -> true
bfactor -> false

Sig(bexpr) = {$, or, ) }


Sig(bterm) = {$, or, and, ) }
Sig(bfactor) = {$, or, and, ) }

NOTA: por comodidad se expres la gramtica


de la siguiente manera:
E = bexpr
T = bterm
F = bfactor

E -> .E
E -> .E or T
E -> .T
T -> .T and F
T -> .F
F -> .not F
F -> .( E )
F -> .true
F -> .false
E -> E.
E -> E .or T
E -> T.
T -> T. and F
T -> F.
F -> not .F
F -> .not F
F -> .( E )
F -> .true
F -> .false
F -> ( .E )
E -> .E or T
E -> .T
T -> .T and F
T -> .F
F -> .not F
F -> .( E )
F -> .true
F -> .false
F -> true.
F -> false.
E -> E or .T
T -> .T and F
T -> .F
F -> .not F
F -> .( E )
F -> .true
F -> .false
T -> T and .F
F -> .not F
F -> .( E )
F -> .true
F -> .false
F -> not F.
F -> ( E .)
E -> E or T.
T -> T. and F
T -> T and F.
F -> ( E ).

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

or

and not
D4

D8
R2
R4

true false
D6

D5
D5

R7
R8

E
1

Ir_A
T
2

F
3

10
3

Ac
R2
R4
D6
D6

D7
D7

R7
R8
D5
D5

D7

R2
R4

D4
D4
R5
D8
R1
R3
R6

D5

D9
R4
D4

R7
R8

4
R7
R8

D6
D6

D7
D7

12

R5

R5

R5

R3
R6

R3
R6

R3
R6

3
13

También podría gustarte