SlideShare una empresa de Scribd logo
Instituto Tecnol´ogico de Costa Rica
Ingenier´ıa en Computadores
Ver´onica Mora Lezcano
Lenguajes, compiladores e int´erpretes
Operaci´on primero y siguiente
• Primero (α): devuelve el conjunto de terminales que inician con las cadenas derivadas de α.
• Siguiente (α): devuelven el conjunto de terminales que pueden aparecen inmediatamente de la
derecha de α.
Ejemplo:
Suponga la gram´atica:
INICIO → jBGn
B → zf | h
G → o | ε
Primero (INICIO) = { j }
Primero (B) = { z, h }
Primero (G) = { o, ε }
Siguiente (INICIO) = { $ }
Siguiente (B) = { o, ε, n }
Siguiente (G) = { n }
Construcci´on de la TASP
Entrada: Una gram´atica G
Salida: La tabla de an´alisis sint´actico M
Para cada regla X → α de G
• Para terminal t de PRIMERO (α)
A˜nadir X → α a M[X, t]
• Si ε ∈ PRIMERO (α)
A˜nadir X → α a M[X, b], ∀ b ∈ SIGUIENTE (x)
Si ε ∈ PRIMERO (α) y ∈ SIGUIENTE (X)
A˜nadir X → α a M[X, $]
• Poner error en todas las entradas no definidas de M
An´alisis Ascendente por tablas (¿C´omo construir la tabla?)
Cerradura(E)= {E → .TE´’
T → .FT´’
F → .(E)
F → .id}
Ir A( I, X ) es la cerradura A → αX.β donde I es el conjunto { A → αX.β }
1
Ir A(E,() = { F → (.E)
E → .TE´’
T → .FT´’
F → .(E)
F → .id}
Gram´atica:
E → TE´’
E’ → +TE´’ | ε
T → FT´’
T’ → *FT´’ | ε
F → (E) | id
Reglas de Desplazar y Reducir
Conflictos
Shift-Reduce: Existe un problema entre saber si se debe hacer shift o reduce.
Por ejemplo:
CONDICION → if (EXP) SENTENCIA | if (EXP) SENTENCIA SENTENCIA
SENTENCIA → SENTENCIA print (id) | print (id)
Reduce-Reduce: Existe un problema porque no se sabe por cual producci´on se debe hacer reduce.
Expr → Expr Op Expr
Expr → Expr - Expr
Expr → (Expr)
Expr → Expr -
Expr → num
Op → -
2

Más contenido relacionado

La actualidad más candente

S08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptxS08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptx
santiago549575
 
Capitulo 12
Capitulo 12Capitulo 12
Capitulo 12
SITEMADEAPRENDIZAJE
 
Act 2 gz_parte_ii
Act 2 gz_parte_iiAct 2 gz_parte_ii
Act 2 gz_parte_ii
GustavoAZamarM
 
Función lineal: ejercitacion
Función lineal: ejercitacionFunción lineal: ejercitacion
Función lineal: ejercitacion
pablokala78
 
Examen
ExamenExamen
Examen
Frank Lin
 
Ii und introd-deriv.-int
Ii und introd-deriv.-intIi und introd-deriv.-int
Ii und introd-deriv.-int
jhon barrantes lingab
 
Programa en mat lab de runge kutta
Programa en mat lab de runge  kuttaPrograma en mat lab de runge  kutta
Programa en mat lab de runge kutta
Jose Luis Ambrocio
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
catacrak
 
calculo de Derivadas
calculo de Derivadascalculo de Derivadas
calculo de Derivadas
sebalema_27
 
Matemáticas
MatemáticasMatemáticas
Matemáticas
venus_turaniana
 
Práctico 5 Derivadas
Práctico 5 DerivadasPráctico 5 Derivadas
Práctico 5 Derivadasguestecc8d0e
 
Simulación - Algoritmo lineal
Simulación - Algoritmo linealSimulación - Algoritmo lineal
Simulación - Algoritmo lineal
José Antonio Sandoval Acosta
 
Hector pirela secuenciales
Hector pirela secuencialesHector pirela secuenciales
Hector pirela secuenciales
HectorPirela2
 

La actualidad más candente (19)

Caja negra
Caja negraCaja negra
Caja negra
 
Derivadas. teoremas
Derivadas. teoremasDerivadas. teoremas
Derivadas. teoremas
 
S08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptxS08.s1 Material Complementario.pptx
S08.s1 Material Complementario.pptx
 
Capitulo 12
Capitulo 12Capitulo 12
Capitulo 12
 
Act 2 gz_parte_ii
Act 2 gz_parte_iiAct 2 gz_parte_ii
Act 2 gz_parte_ii
 
Función lineal: ejercitacion
Función lineal: ejercitacionFunción lineal: ejercitacion
Función lineal: ejercitacion
 
Examen
ExamenExamen
Examen
 
Ii und introd-deriv.-int
Ii und introd-deriv.-intIi und introd-deriv.-int
Ii und introd-deriv.-int
 
Programa en mat lab de runge kutta
Programa en mat lab de runge  kuttaPrograma en mat lab de runge  kutta
Programa en mat lab de runge kutta
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Programa x cuadro
Programa x   cuadroPrograma x   cuadro
Programa x cuadro
 
calculo de Derivadas
calculo de Derivadascalculo de Derivadas
calculo de Derivadas
 
Práctico_ 5 Derivadas
Práctico_ 5 DerivadasPráctico_ 5 Derivadas
Práctico_ 5 Derivadas
 
Matemáticas
MatemáticasMatemáticas
Matemáticas
 
Práctico 5 Derivadas
Práctico 5 DerivadasPráctico 5 Derivadas
Práctico 5 Derivadas
 
Simulación - Algoritmo lineal
Simulación - Algoritmo linealSimulación - Algoritmo lineal
Simulación - Algoritmo lineal
 
Derivadas
DerivadasDerivadas
Derivadas
 
Función seno y coseno t
Función seno y coseno tFunción seno y coseno t
Función seno y coseno t
 
Hector pirela secuenciales
Hector pirela secuencialesHector pirela secuenciales
Hector pirela secuenciales
 

Similar a Semana 8

ESTRUCTURAS DISCRETAS TAREA 2
ESTRUCTURAS DISCRETAS TAREA 2ESTRUCTURAS DISCRETAS TAREA 2
ESTRUCTURAS DISCRETAS TAREA 2
Maxicar
 
2 ESTRUCTURAS DISCRETAS TAREA 2
2 ESTRUCTURAS DISCRETAS TAREA 22 ESTRUCTURAS DISCRETAS TAREA 2
2 ESTRUCTURAS DISCRETAS TAREA 2
Maxicar
 
A Sintactico Descendente
A Sintactico DescendenteA Sintactico Descendente
A Sintactico Descendente
Leonel Morales Díaz
 
Estudio intuitivo eso4_blog05
Estudio intuitivo eso4_blog05Estudio intuitivo eso4_blog05
Estudio intuitivo eso4_blog05
Marta Martín
 
Integración
IntegraciónIntegración
La derivada de una funciòn
La derivada de una funciònLa derivada de una funciòn
La derivada de una funciòn
jaimer279
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
Bertha Canaviri
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
Jesus Rodriguez
 
Apunte mt 2
Apunte mt 2Apunte mt 2
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
Bertha Canaviri
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
Bertha Canaviri
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
Bertha Canaviri
 
Ejercicios
EjerciciosEjercicios
Ing mets11 lagrange
Ing mets11 lagrangeIng mets11 lagrange
Ing mets11 lagrange
FES-Acatlan UNAM
 
Analisis sintactico10
Analisis sintactico10Analisis sintactico10
Analisis sintactico10Emanuel Gs
 
Ex resuelto cc0708
Ex resuelto cc0708Ex resuelto cc0708
Ex resuelto cc0708
dhanniell
 
Matrices
MatricesMatrices
Matrices
12edgar
 
Unidad3_ adriana peña
Unidad3_ adriana peñaUnidad3_ adriana peña
Unidad3_ adriana peña
adriana_silva
 

Similar a Semana 8 (20)

Semana 7
Semana 7Semana 7
Semana 7
 
ESTRUCTURAS DISCRETAS TAREA 2
ESTRUCTURAS DISCRETAS TAREA 2ESTRUCTURAS DISCRETAS TAREA 2
ESTRUCTURAS DISCRETAS TAREA 2
 
2 ESTRUCTURAS DISCRETAS TAREA 2
2 ESTRUCTURAS DISCRETAS TAREA 22 ESTRUCTURAS DISCRETAS TAREA 2
2 ESTRUCTURAS DISCRETAS TAREA 2
 
A Sintactico Descendente
A Sintactico DescendenteA Sintactico Descendente
A Sintactico Descendente
 
Estudio intuitivo eso4_blog05
Estudio intuitivo eso4_blog05Estudio intuitivo eso4_blog05
Estudio intuitivo eso4_blog05
 
Integración
IntegraciónIntegración
Integración
 
La derivada de una funciòn
La derivada de una funciònLa derivada de una funciòn
La derivada de una funciòn
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
matlab
matlabmatlab
matlab
 
Apunte mt 2
Apunte mt 2Apunte mt 2
Apunte mt 2
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Ing mets11 lagrange
Ing mets11 lagrangeIng mets11 lagrange
Ing mets11 lagrange
 
Analisis sintactico10
Analisis sintactico10Analisis sintactico10
Analisis sintactico10
 
Ex resuelto cc0708
Ex resuelto cc0708Ex resuelto cc0708
Ex resuelto cc0708
 
Matrices
MatricesMatrices
Matrices
 
Unidad3_ adriana peña
Unidad3_ adriana peñaUnidad3_ adriana peña
Unidad3_ adriana peña
 

Más de Verónica Mora Lezcano

Semana12
Semana12Semana12
Semana 5
Semana 5Semana 5

Más de Verónica Mora Lezcano (7)

Semana12
Semana12Semana12
Semana12
 
Semana11
Semana11Semana11
Semana11
 
Semana10
Semana10Semana10
Semana10
 
Resumen (semana 9)
Resumen (semana 9)Resumen (semana 9)
Resumen (semana 9)
 
Semana 6
Semana 6Semana 6
Semana 6
 
Semana 5
Semana 5Semana 5
Semana 5
 
Semana 3
Semana 3Semana 3
Semana 3
 

Semana 8

  • 1. Instituto Tecnol´ogico de Costa Rica Ingenier´ıa en Computadores Ver´onica Mora Lezcano Lenguajes, compiladores e int´erpretes Operaci´on primero y siguiente • Primero (α): devuelve el conjunto de terminales que inician con las cadenas derivadas de α. • Siguiente (α): devuelven el conjunto de terminales que pueden aparecen inmediatamente de la derecha de α. Ejemplo: Suponga la gram´atica: INICIO → jBGn B → zf | h G → o | ε Primero (INICIO) = { j } Primero (B) = { z, h } Primero (G) = { o, ε } Siguiente (INICIO) = { $ } Siguiente (B) = { o, ε, n } Siguiente (G) = { n } Construcci´on de la TASP Entrada: Una gram´atica G Salida: La tabla de an´alisis sint´actico M Para cada regla X → α de G • Para terminal t de PRIMERO (α) A˜nadir X → α a M[X, t] • Si ε ∈ PRIMERO (α) A˜nadir X → α a M[X, b], ∀ b ∈ SIGUIENTE (x) Si ε ∈ PRIMERO (α) y ∈ SIGUIENTE (X) A˜nadir X → α a M[X, $] • Poner error en todas las entradas no definidas de M An´alisis Ascendente por tablas (¿C´omo construir la tabla?) Cerradura(E)= {E → .TE´’ T → .FT´’ F → .(E) F → .id} Ir A( I, X ) es la cerradura A → αX.β donde I es el conjunto { A → αX.β } 1
  • 2. Ir A(E,() = { F → (.E) E → .TE´’ T → .FT´’ F → .(E) F → .id} Gram´atica: E → TE´’ E’ → +TE´’ | ε T → FT´’ T’ → *FT´’ | ε F → (E) | id Reglas de Desplazar y Reducir Conflictos Shift-Reduce: Existe un problema entre saber si se debe hacer shift o reduce. Por ejemplo: CONDICION → if (EXP) SENTENCIA | if (EXP) SENTENCIA SENTENCIA SENTENCIA → SENTENCIA print (id) | print (id) Reduce-Reduce: Existe un problema porque no se sabe por cual producci´on se debe hacer reduce. Expr → Expr Op Expr Expr → Expr - Expr Expr → (Expr) Expr → Expr - Expr → num Op → - 2