Beruflich Dokumente
Kultur Dokumente
EJEMPLO 1
P={
(1) S' S
(1) S S D
(2) S D
(3) D T L ;
(4) T int
(5) L identificador
(6) L L , identificador
}
I 0 = clausura ({S' S})= { S' S, S S D, S D, D T L ; , T int}
Ir-a(I 0,S) = clausura ({S' S , S S D}) = { S' S , S S D, D T L ; , T int} = I 1
Ir-a(I 0,D) = clausura ({S D }) = { S D } = I 2
Ir-a(I 0,T) = clausura ({D T L ;} ) = {D T L ; , L identificador, L L , identificador} = I 3
Ir-a(I 0, int ) = clausura ({ T int ) } ) = { T int } = I 4
X V Ir-a (I 2, X) =
Ir-a (I 3, L) = clausura ({D T L ; , L L , identificador}) = {D T L ; , L L , identificador}= I 6
Ir-a (I 3, identificador) = clausura ({L identificador }) = {L identificador } = I 7
X V Ir-a (I 4, X) =
X V Ir-a (I 5, X) =
Ir-a(I 6, ; ) = clausura ({D T L ; }) = {D T L ; } = I 8
Ir-a(I 6, , ) = clausura ({L L , identificador}) = {L L , identificador} = I 9
X V Ir-a (I 7, X) =
X V Ir-a (I 8, X) =
Ir-a (I 9, identificador) = clausura ({ L L , identificador } ) = { L L , identificador } = I 10
X V Ir-a (I 10, X) =
EJEMPLO 1
AUTMATA FINITO DETERMINISTA QUE RECONOCE PREFIJOS VIABLES
0
1
2
3
4
5
6
7
8
9
10
S
1
D
2
5
T
3
3
int
4
4
identificador
10
EJEMPLO 1
REPRESENTACIN GRFICA DEL AUTMATA FINITO DETERMINISTA
QUE RECONOCE PREFIJOS VIABLES
2
D
4
int
int
D
1
T
,
id
9
10
id
7
EJEMPLO 1
COLECCIN CANNICA DE LR(0) ELEMENTOS
I 0 = { S' S, S S D, S D, D T L ; , T int}
I 1 = { S' S , S S D, D T L ; , T int}
I 2 = { S D }
I 3 = {D T L ; , L identificador, L L , identificador}
I 4 = {T int }
I 5 = {S S D }
I 6 = {D T L ; , L L , identificador}
I 7 = {L identificador }
I 8 = {D T L ; }
I 9 = {L L , identificador}
I 10 = { L L , identificador }
EJEMPLO 1
PRIMERO
int
int
int
identificador
S
D
T
L
SIGUIENTE
$, int
$, int
identificador
; , ,
Estado
0
1
2
3
4
5
6
7
8
9
10
int
d4
d4
r2
Accin
identificador
Ir a
,
$
ACEPTAR
r2
d7
r4
S
1
D
2
5
T
3
3
r1
r1
d8
r5
d9
r5
r3
r3
d 10
r6
r6
7
EJEMPLO 1
PILA
0
0 int 4
0T3
0 T 3 id 7
0T3L6
0T3L6;8
0D2
0S1
0 S 1 int 4
0S1T3
0 S 1 T 3 id 7
0S1T3L6
0S1T3L6,9
0 S 1 T 3 L 6 , 9 id 10
0S1T3L6
0S1T3L6;8
0S1D5
0S1
ENTRADA
int id; int id, id ; $
id; int id, id ; $
id; int id, id ; $
; int id, id ; $
; int id, id ; $
int id, id ; $
int id, id ; $
int id, id ; $
id, id ; $
id, id ; $
, id ; $
, id ; $
id ; $
;$
;$
$
$
$
ACCIN
d4
r 4: T int
d7
r 5: L identificador
d8
r 3: D T L ;
r 2: S D
d4
r 4: T int
d7
r 5: L identificador
d9
d 10
r 6: L L, identificador
d8
r 3: D T L ;
r 1: S S D
ACEPTAR
EJERCICIO 1
P={
(1) S S
(1) S T identificador ( L ) ;
(2) T T *
(3) T int
(4) L L , T
(5) L T
}
EJEMPLO 2
CONSTRUCCIN DE LA COLECCIN CANNICA DE LR(0)-ELEMENTOS
P={
(1) E' E
(1) E E + T
(2) E T
(3) T T * F
(4) T F
(5) F ( E )
(6) F identificador
(7) F nmero
}
X V Ir-a (I 6, X) =
Ir-a(I 7,T) = clausura ({E E + T , T T * F}) = {E E + T , T T * F}) = I 10
Ir-a(I 7,F) = clausura ({T F } ) = I 3
Ir-a(I 7, ( ) = clausura ({ F ( E ) } ) = I 4
Ir-a(I 7, identificador) = clausura ({ F identificador } ) = I 5
Ir-a(I 7, nmero) = clausura ({ F nmero } ) = I 6
Ir-a(I 7, E ) = Ir-a(I 7, + ) = Ir-a(I 7, * ) = Ir-a(I 7, ) ) =
Ir-a(I 8,F) = clausura ({T T * F } ) = {T T * F } = I 11
Ir-a(I 8, ( ) = clausura ({ F ( E ) } ) = I 4
Ir-a(I 8, identificador) = clausura ({ F identificador } ) = I 5
Ir-a(I 8, nmero) = clausura ({ F nmero } ) = I 6
Ir-a(I 8, E ) = Ir-a(I 8, T ) = Ir-a(I 8, + ) = Ir-a(I 8, * ) = Ir-a(I 8, ) ) =
Ir-a (I 9, +) = clausura ({E E + T })= I 7
Ir-a(I 9, ) ) = clausura ({ F ( E ) } ) = { F ( E ) } = I 12
Ir-a(I 9, E ) = Ir-a(I 9, T ) = Ir-a(I 9, F) = Ir-a(I 9, ( ) = Ir-a(I 9,*) = Ir-a(I 9, identificador) = Ir-a(I 9, nmero) =
12
0
1
2
3
4
5
6
7
8
9
10
11
12
E
1
T
2
F
3
(
4
identificador
5
nmero
6
7
8
9
10
3
11
4
4
5
5
6
6
12
8
13
EJEMPLO 2
REPRESENTACIN GRFICA DEL AUTMATA FINITO DETERMINISTA
QUE RECONOCE PREFIJOS VIABLES
T
10
F
3
F
(
12
id
id
id
id
n
n
T
2
11
8
*
14
(,
(,
(,
(,
PRIMERO
identificador, nmero
identificador, nmero
identificador, nmero
identificador, nmero
SIGUIENTE
$
+, ), $
+, *, ), $
+, *, ), $
Estado
0
1
2
3
4
5
6
7
8
9
10
11
12
+
d7
r2
r4
(
d4
d8
r4
r6
r7
d8
r3
r5
d6
r6
r7
E
1
F
3
10
3
11
r6
r7
d5
d5
d 12
r1
r3
r5
Ir a
T
2
ACEPTAR
r2
r4
d5
d4
d4
d7
r1
r3
r5
nmero
d6
r2
r4
d4
r6
r7
Accin
identificador
d5
d6
d6
r1
r3
r5
16
EJEMPLO 2
PILA
0
0n6
0F3
0T2
0T2*8
0T2*8(4
0 T 2 * 8 ( 4 id 5
0T2*8(4F3
0T2*8(4T2
0T2*8(4E9
0T2*8(4E9+7
0 T 2 * 8 ( 4 E 9 + 7 id 5
0T2*8(4E9+7F3
0 T 2 * 8 ( 4 E 9 + 7 T 10
0T2*8(4E9
0 T 2 * 8 ( 4 E 9 ) 12
0 T 2 * 8 F 11
0T2
0E1
ENTRADA
n * ( id + id ) $
* ( id + id ) $
* ( id + id ) $
* ( id + id ) $
( id + id ) $
id + id ) $
+ id ) $
+ id ) $
+ id ) $
+ id ) $
id ) $
)$
)$
)$
)$
$
$
$
$
ACCIN
d6
r 7: F nmero
r 4: T F
d8
d4
d5
r 6: F identificador
r 4: T F
r 2: E T
d7
d5
r 6: F identificador
r 4: T F
r 2: E E + T
d 12
r 5: F ( E )
r 3: T T * F
r 2: E T
ACEPTAR
17
0
1
2
3
4
5
6
7
8
9
S
1
L
2
R
3
*
4
identificador
5
6
8
20
R
3
*
R
*
*
4
id
7
L
8
id
id
5
21
22
S
L
R
SIGUIENTE
$
$, =
$, =
Estado
0
1
2
3
4
5
6
7
8
9
*
d4
Accin
identificador
d5
S
1
R
3
ACEPTAR
r5
r2
d 6, r 5
d4
d5
r4
r4
d4
r3
r5
Ir a
L
2
d5
r3
r5
r1
23
ENTRADA
id = * id $
= * id $
= * id $
ACCIN
d5
r 4: L id
CONFLICTO: d 6, r 5
24
EE+E
EE*E
E(E)
E ID
E NUM
Primero
(, ID, NUM
Siguiente
$, ), +, *
25
Ir_a (I2, E) = { E ( E ) , E E + E , E E * E } = I7
Ir_a (I2, () = { E ( E ) , E E + E , E E * E , E ( E ) , E ID, E NUM } = I2
Ir_a (I2, ID) = { E ID } = I3
Ir_a (I2, NUM) = { E NUM } = I4
X V: Ir_a (I3, X) =
X V: Ir_a (I4, X) =
Ir_a (I5, E) = { E E + E , E E + E , E E * E } = I8
Ir_a (I5, () = { E ( E ) , E E + E , E E * E , E ( E ) , E ID, E NUM } = I2
26
5
5
5
6
6
6
ID
3
NUM
4
E
1
2
2
3
3
4
4
8
9
(
2
10
28
d5
d6
(
d2
r4
r5
d3
d6
d6, r1
d6, r2
r3
d4
r4
r5
d2
d2
d5
d5, r1
d5, r2
r3
NUM
d4
Aceptar
d2
r4
r5
ID
d3
Ir a
E
1
r4
r5
d3
d3
d10
r1
r2
r3
d4
d4
8
9
r1
r2
r3
29
ENTRADA
ID + ID * ID $
+ ID * ID $
+ ID * ID $
V * ID $
* id $
* id $
ACCIN
d3
r 4: E ID
d5
d3
r 4: E ID
Conflicto: d 6, r 1
30
33
EJEMPLO 5
AUTMATA FINITO DETERMINISTA QUE RECONOCE PREFIJOS VIABLES
0
1
2
3
4
5
6
7
8
9
S
1
C
2
a
3
d
4
5
8
6
3
7
4
34
a
S
C
a
C
a
7
a
C
3
8
d
d
4
35
36
PRIMERO
a, d
a, d
SIGUIENTE
$
$, a, d
Estado
0
1
2
3
4
5
6
7
8
9
a
d3
Accin
d
d4
Ir a
$
S
1
C
2
ACEPTAR
d6
d3
r3
d7
d4
r3
5
8
r1
d6
d7
9
r3
r2
r2
r2
37
EJEMPLO 5
PILA
0
0a3
0a3d4
0a3C8
0C2
0C2a6
0C2a6a6
0C2a6a6d7
0C2a6a6C9
0C2a6C9
0C2C5
0S1
ENTRADA
adaad$
daad$
aad$
aad$
aad$
ad$
d$
$
$
$
$
$
ACCIN
d3
d4
r 3: C d
r 2: C a C
d6
d6
d7
r 3: C d
r 2: C a C
r 2: C a C
r 1: C C C
ACEPTAR
38
41
EJEMPLO 6
AUTMATA FINITO DETERMINISTA QUE RECONOCE PREFIJOS VIABLES
0
1
2
3
4
5
6
7
8
9
10
11
12
S
1
L
2
R
3
*
4
identificador
5
6
8
10
11
12
10
13
11
12
42
=
6
13
L
10
R
3
R
11
4
id
L
id
id
5
id
8
12
43
S
L
R
SIGUIENTE
$
$, =
$, =
Estado
0
1
2
3
4
5
6
7
8
9
10
11
12
13
*
d4
Accin
identificador
d5
S
1
Ir a
L
2
R
3
10
10
13
ACEPTAR
r5
r2
d6
d4
d5
r4
r4
d 11
d 12
r3
r5
r3
r5
r1
r5
d 11
d 12
r4
r3
45
EJEMPLO 6
PILA
0
0 id 5
0L2
0L2=6
0 L 2 = 6 * 11
0 L 2 = 6 * 11 id 12
0 L 2 = 6 * 11 L 10
0 L 2 = 6 * 11 R 13
0 L 2 = 6 L 10
0L2=6R9
0S1
ENTRADA
id = * id $
= * id $
= * id $
* id $
id $
$
$
$
$
$
$
ACCIN
d5
r 4: L id
d6
d 11
d 12
r 4: L id
r 5: R L
r 3: L * R
r 5: R L
r 1: S L = R
ACEPTAR
46
EJEMPLO 7
AUTMATA FINITO DETERMINISTA QUE RECONOCE PREFIJOS VIABLES
0
1
2
3-6
4-7
5
8-9
S
1
C
2
a
3-6
d
4-7
5
8-9
3-6
3-6
4-7
4-7
48
S
C
0
a
C
3-6
8-9
d
d
4-7
49
EJEMPLO 7
S
C
PRIMERO
a, d
a, d
SIGUIENTE
$
$, a, d
Estado
0
1
2
3-6
4-7
5
8-9
a
d 3-6
Accin
d
d 4-7
d 3-6
d 3-6
r3
d 4-7
d 4-7
r3
r2
r2
Ir a
$
S
1
C
2
5
8-9
r3
r1
r2
50
Estados
nuevos
0
1
2
3
4
5
6
PILA
0
0a3
0a3d4
0a3C6
0C2
0C2a3
0C2a3a3
0C2a3a3d4
0C2a3a3C6
0C2a3C6
0C2C5
0S1
Accin
d
d3
Ir a
$
d4
ACEPTAR
d3
d3
r3
d4
d4
r3
r2
r2
ENTRADA
adaad$
daad$
aad$
aad$
aad$
ad$
d$
$
$
$
$
$
5
6
r3
r1
r2
ACCIN
d3
d4
r 3: C d
r 2: C a C
d3
d3
d4
r 3: C d
r 2: C a C
r 2: C a C
r 1: C C C
ACEPTAR
51
PRIMERO
*, identificador
*, identificador
*, identificador
S
L
R
SIGUIENTE
$
$, =
$, =
Estado
0
1
2
3
4-11
5-12
6
7-13
8-10
9
*
d 4-11
Accin
identificador
d 5-12
S
1
R
3
8-10
7-13
8-10
ACEPTAR
r5
r2
d6
d 4-11
d 5-12
r4
r4
d 4-11
r3
r5
Ir a
L
2
d 5-12
r3
r5
r1
53
54
X V Ir-a (I 1, X) =
S
A
B
SIGUIENTE
$
d, e
d, e
Estado
0
1
2
3
4
5
6-9
7
8
10
11
12
13
a
d2
b
d3
Accin
d
S
1
Ir a
A
4
7
5
8
ACEPTAR
d6
d9
d 10
r 5, r 6
d 12
d 11
r 5, r 6
d 13
r1
r3
r4
r2
59
60
Estado
0
1
2
3
4
5
6
7
8
9
10
11
12
+
E1
d7
r2
r4
E1
r6
r7
E1
E1
d7
r1
r3
r5
*
E1
E4
d8
r4
E1
r6
r7
E1
E1
E4
d8
r3
r5
(
d4
E4
E5
E5
d4
E5
E5
d4
d4
E4
E5
E5
E5
)
E2
E2
r2
r4
E2
r6
r7
E2
E2
d 12
r1
r3
r5
Accin
identificador
d5
E4
E5
E5
d5
E5
E5
d5
d5
E4
E5
E5
E5
nmero
d6
E4
E5
E5
d6
E5
E5
d6
d6
E4
E5
E5
E5
$
E3
ACEPTAR
r2
r4
E3
r6
r7
E3
E3
E3
r1
r3
r5
E
1
Ir a
T
2
F
3
10
3
11
62
Smbolo inesperado
Falta identificador, nmero o parntesis izquierdo
Accin: se inserta un identificador en la entrada
Parntesis derecho inesperado
Accin: se elimina el parntesis derecho de la entrada
Final inesperado de la cadena de entrada
Accin: el anlisis finaliza
E4:
o Smbolo inesperado
o Se espera el smbolo + o final de la entrada
o Accin: se elimina el smbolo de la entrada
E5:
o Smbolo inesperado
o Se espera uno de los siguientes smbolo: +, * , ) o el final de la entrada
o Accin: se elimina el smbolo de la entrada
63
ENTRADA
+ id * + n id) $
id + id * + n id) $
+ id * + n id) $
+ id * + n id) $
+ id * + n id) $
+ id * + n id) $
id * + n id) $
* + n id) $
* + n id) $
* + n id) $
+ n id) $
id + n id) $
+ n id) $
+ n id) $
+ n id) $
+ n id) $
n id) $
id) $
)$
)$
)$
)$
$
ACCIN
E1: se ha insertado un id en la entrada
d5
r 6: F id
r 4: T F
r 2: E T
d7
d5
r 6: F id
r 4: T F
d8
E1: se ha insertado un id en la entrada
d5
r 6: F id
r 3: T T * F
r 1: E E +T
d7
d6
E5: se id elimina de la entrada
r 7: F n
r 4: T F
r 1: E E +T
E2: se elimina ) de la entrada
ACEPTAR
64
Estado
0
1
2
3
4
5
6
7
8
9
10
11
12
+
E1
d7
r2
r4
E1
r6
r7
E1
E1
d7
r1
r3
r5
*
E1
E4
d8
r4
E1
r6
r7
E1
E1
E4
d8
r3
r5
(
d4
E4
r2
r4
d4
r6
r7
d4
d4
E4
r1
r3
r5
)
E2
E2
r2
r4
E2
r6
r7
E2
E2
d 12
r1
r3
r5
Accin
identificador
d5
E4
r2
r4
d5
r6
r7
d5
d5
E4
r1
r3
r5
nmero
d6
E4
r2
r4
d6
r6
r7
d6
d6
E4
r1
r3
r5
$
E3
ACEPTAR
r2
r4
E3
r6
r7
E3
E3
E3
r1
r3
r5
E
1
Ir a
T
2
F
3
10
3
11
65
ENTRADA
+ id * + n id) $
id + id * + n id) $
+ id * + n id) $
+ id * + n id) $
+ id * + n id) $
+ id * + n id) $
id * + n id) $
* + n id) $
* + n id) $
* + n id) $
+ n id) $
id + n id) $
+ n id) $
+ n id) $
+ n id) $
+ n id) $
n id) $
id) $
id) $
id) $
id) $
)$
$
ACCIN
E1: se ha insertado un id en la entrada
d5
r 6: F id
r 4: T F
r 2: E T
d7
d5
r 6: F id
r 4: T F
d8
E1: se ha insertado un id en la entrada
d5
r 6: F id
r 3: T T * F
r 1: E E +T
d7
d6
r 7: F n
r 4: T F
r 1: E E +T
E4: se elimina id de la entrada
E2: se elimina ) de la entrada
ACEPTAR
66