Está en la página 1de 11

ANALIZADOR DESCENDENTE

NO RECURSIVO
PARA EL DESARROLLO DE LA MATRIZ M HAREMOS LO
SIGUIENTE:

1. CALCULO DEL FIRST
2. CALCULO DEL FOLLOW
3. DESARROLLO DE LA MATRIZ
REGLAS DE LA GRAMATICA
GRAMATICA:

1. E -> TE'
2. T -> FT'
3. F -> (E)
4. F -> a
5. E' -> +TE'
6. E' ->
7. T' -> *FT'
8. T' ->
MATRIZ
( a + * ) $
E
1 1
T
2 2
F
3 4
E
5 6 6
T
8 7 8 8
FIRST
REGLA N1 :

E TE '

PRIMERO (E) PRIMERO (TE ')
PRIMERO (T)
PRIMERO (FT)
PRIMERO (F)
PRIMERO ( ( ) U PRIMERO (a)

M[E, ( ] REGLA 1
M[E, a] REGLA 2
REGLA N2 :

T FT '

PRIMERO (T) PRIMERO (FT')
PRIMERO(F)
PRIMERO ( ( ) U PRIMERO (a)

M[T, ( ] REGLA 1
M[T, a] REGLA 2
REGLA N3 :

F ( E )

PRIMERO (F) PRIMERO(E)
PRIMERO ( ( )
M[F, ( ] REGLA 3
REGLA N4 :

F a

PRIMERO (F) PRIMERO ( a )
PRIMERO( a )

M[F, ( ] REGLA 4
REGLA N5 :

E' +TE'

PRIMERO (E) PRIMERO (+TE ')
PRIMERO( + )

M[E ', + ] REGLA 5
REGLA N6 :

E '

PRIMERO (E) PRIMERO ( )
PRIMERO( )

M[E ', ] REGLA 6
REGLA N7 :

T' *FT'

PRIMERO (T) PRIMERO ( *FT ' )
PRIMERO( * )

M[T ', * ] REGLA 7
REGLA N8 :

T'

PRIMERO (T ' ) PRIMERO ()
PRIMERO( )

M[T ', ] REGLA 8
FOLLOWS
R1 :

E

POR SER ESTADO INICIAL SE ASIGNA $ (SIMBOLO DE FIN DE LINEA O ACPETACION)
PARA BUSCAR LOS FOLLOWS DEL ETADO DE E, BUSCAMOS AL LADO DERECHO DE LAS
PRODUCCIONES QUE SE ENCUNTRE.


E = {$, ( }

SIGUIENTE ( E ) SIGUINTE (TE)
SIGUIENTE (FT)
SIGUIENTE (F)
SIGUIENTE ( ( E ) )
SIGUIENTE ( ) )

M[E] = { $, ) }
R.2 :

E

BUSCAMOS AL LADO DERECHO DE LAS PRODUCCIONES QUE E SE ENCUNTRE.

SIGUIENTE ( E ) SIGUINTE (TE)
SIGUIENTE ( )

//AGREGAMOS EL FIRST DE E

E = { $, ) }
R.3 :

T

BUSCAMOS AL LADO DERECHO DE LAS PRODUCCIONES QUE T SE ENCUNTRE.

SIGUIENTE ( T ) SIGUINTE (+TE)
SIGUIENTE ( + )

//AGREGAMOS EL FIRST DE E

E = { +, $ , ) }

También podría gustarte