SlideShare una empresa de Scribd logo
1 de 69
Autómatas de pila no deterministas. ,[object Object],Por: Oscar Eduardo Sánchez Garcia.
1. Introducción
Construcción de compiladores Teoría de Lenguajes Formales y Autómatas Matemáticas
 
Análisis Lexicográfico Análisis Sintáctico Análisis Semántico Optimización Preparación para la generación de código Generación de código Fases del Compilador 1 1  Fases del Compilador según Karen A. Lemone Autómatas de pila no deterministas
2. Pila
La pila ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],A C A F G
3. Autómata de pila no determinista (ADPND)
3.1 Generalidades z Ejemplo
z ¿Acepta  aab ? 3.1.1
¿Acepta  aab ? z
¿Acepta  aab ? z a)
¿Acepta  aab ? z a) H A
¿Acepta  aab ? z a) H A H a
¿Acepta  aab ? z a) H A H a Falló
¿Acepta  aab ? z b)
¿Acepta  aab ? z b)
¿Acepta  aab ? z b) z
¿Acepta  aab ? z b) z z
¿Acepta  aab ? z b) z z Falló
¿Acepta  aab ? z c)
¿Acepta  aab ? z c)
¿Acepta  aab ? z c) B H A
¿Acepta  aab ? z c) B H A B H b F
¿Acepta  aab ? z c) B H A B H b F B H b E a H a
¿Acepta  aab ? z c) B H A B H b F B H b E a H a El autómata acepta  aab
z ¿Acepta  ab ? 3.1.2
z ¿Acepta  ab ? No 3.1.2
z ¿Acepta  aba ? 3.1.3
z ¿Acepta  aba ? No 3.1.3
3.2 Descripción instantánea z B H A B H b F B H b E a H a (  q 1 ,  aab ,  z )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  (  ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  (  q 3 ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  (  q 3 ,  ab ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  (  q 3 ,  ab ,  AHB )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  (  ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  (  q 3 ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  (  q 3 ,  b ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  (  q 3 ,  b ,  FbHB )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  ( q 3 , b, FbHB) ├─ ─  (  ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  ( q 3 , b, FbHB) ├─ ─  (  q 4 ,  ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  ( q 3 , b, FbHB) ├─ ─  (  q 4 ,  ε ,  )
3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z)  ├──  ( q 3 , ab, AHB) ├─ ─  ( q 3 , b, FbHB) ├─ ─  (  q 4 ,  ε ,  aHaEbHB )
3.3 Especificación formal de un ADPND M = (  Q,  Σ ,  Γ ,  Δ , s, F, z) Q = { q 1 , q 2 , q 3 , q 4  } Σ  = { a, b } Γ  = { z, A, B, E, F, H, a, b} s = q 1  F = { q 2 , q 4  }
Δ (  q 3 ,  b ,  F  ) = { (  q 4 ,  aHaE )}
Δ (  ,  ,  ) = { (  ,  )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ (  q 1 ,  ,  ) = { (  ,  )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ (  q 1 ,  a , ) = { (  ,  )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ (  q 1 ,  a ,  z  ) = { (  ,  )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ (  q 1 ,  a ,  z  ) = { (  q 3 ,  )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ (  q 1 ,  a ,  z  ) = { (  q 3 ,  AHB )} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
Δ ( q 1 , a, z ) = { ( q 1 ,  AH), ( q 2 ,  z), ( q 3 , AHB) }   Δ ( q 1 , a, A ) = { ( q 2 , a)} Δ ( q 2 , b, b ) = { ( q 2 , b)} Δ ( q 2 , a, z ) = { ( q 3 , z)} Δ ( q 3 , a, A ) = { ( q 3 , Fb)} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)} La transiciones quedan:
El autómata queda  M = (  Q,  Σ ,  Γ ,  Δ , s, F, z) donde Q = { q 1 , q 2 , q 3 , q 4  } Σ  = { a, b } Γ  = { z, A, B, E, F, H, a, b} s = q 1   F = { q 2 , q 4  } y  Δ , la regla de transición, está dada por  Δ ( q 1 , a, z ) = { ( q 1 ,  AH), ( q 2 ,  z), ( q 3 , AHB) }   Δ ( q 1 , a, A ) = { ( q 2 , a)} Δ ( q 2 , b, b ) = { ( q 2 , b)} Δ ( q 2 , a, z ) = { ( q 3 , z)} Δ ( q 3 , a, A ) = { ( q 3 , Fb)} Δ ( q 3 , b, F ) = { ( q 4,  aHaE)}
3.4 Definición de autómata de pila no determinista 1 . Un autómata de pila no determinista es una 7-tupla M = (  Q,  Σ ,  Γ ,  Δ , s, F, z )  donde Q es un conjunto finito de estados Σ  es un alfabeto de entrada Γ  es un alfabeto llamado alfabeto de la pila Δ  es una regla de transición,  Δ : Q    (  Σ     { ε } )     Γ  P( Q     Γ  *) s    Q es el estado inicial o de partida F    Q es el conjunto de estados finales o de aceptación z     Γ  es el símbolo inicial o de partida ___________________________ 1   Basada en la definición de Kelly y de Isasi-Martínez-Borrajo
Δ  :  Q      (  Σ     { ε } )      Γ      P(  Q      Γ  *  ) Δ (  q 3 ,  b ,  F   ) = { (  q 4 ,  aHaE  ) }
3.5 Definición de lenguaje aceptado por un autómata de pila no determinista 1 . Sea M = (  Q,  Σ ,  Γ ,  Δ , s, F, z ) un autómata de pila no determinista.  El lenguaje aceptado por M se denota por L(M) y es el conjunto __________________________ 1  Dean Kelly
3.6 Ejemplo 2 Acepta:  ab ,  aabb ,  aaabbb ,  aaaabbbb , … Es decir acepta el lenguaje { ab ,  aabb ,  aaabbb ,  aaaabbbb , …} Formalmente acepta el lenguaje:  { a i b i  | i    1}
3.7 Método de construcción  de un ADPND a partir de una Gramática independiente del contexto Ejemplo:
4.7 Método de construcción de un ADPND a partir de una Gramática independiente del contexto Ejemplo: Gramática independiente del Contexto: S    AB A    aAa | b B    bBa |  ε
4.7 Método de construcción de un ADPND a partir de una Gramática independiente del contexto Ejemplo: Gramática independiente del Contexto: S    AB A    aAa | b B      bBa  |  ε
4.8 Método de construcción de una gramática independiente del contexto a partir de un ADPND ADPND M  con estado inicial q 1 ,  F = { q 3  }  y transiciones: Δ ( q 1 , a, z ) = { ( q 1 ,  Az) } Δ ( q 2 , b, A ) = { ( q 2 ,  ε )} Δ ( q 1 , a, A ) = { ( q 1 , AA)} Δ ( q 2 ,  ε , A ) = { ( q 2 ,  ε )} Δ ( q 1 , b, A ) = { ( q 2 ,  ε )} Δ ( q 2 ,  ε , z ) = { ( q 3,  ε )} Gramática independiente del contexto con símbolo inicial [q 1 zq 3 ] [q 1 Aq 2 ]   b [q 2 Aq 2 ]   b |  ε [q 2 zq 3 ]    ε [q 1 zq 1 ]    a[q 1 Aq 1 ] [q 1 zq 1 ]  |  a [q 1 Aq 2 ] [q 2 zq 1 ]  |  a[q 1 Aq 3 ] [q 3 zq 1 ] [q 1 zq 2 ]    a[q 1 Aq 1 ] [q 1 zq 2 ]  |  a [q 1 Aq 2 ] [q 2 zq 2 ]  |  a[q 1 Aq 3 ] [q 3 zq 2 ] [q 1 zq 3 ]    a[q 1 Aq 1 ] [q 1 zq 3 ]  |  a [q 1 Aq 2 ] [q 2 zq 3 ]  |  a[q 1 Aq 3 ] [q 3 zq 3 ] [q 1 Aq 1 ]    a[q 1 Aq 1 ] [q 1 Aq 1 ]  |  a [q 1 Aq 2 ] [q 2 Aq 1 ]  |  a[q 1 Aq 3 ] [q 3 Aq 1 ] [q 1 Aq 2 ]    a[q 1 Aq 1 ] [q 1 Aq 2 ]  |  a [q 1 Aq 2 ] [q 2 Aq 2 ]  |  a[q 1 Aq 3 ] [q 3 Aq 2 ] [q 1 Aq 3 ]    a[q 1 Aq 1 ] [q 1 Aq 3 ]  |  a [q 1 Aq 2 ] [q 2 Aq 3 ]  |  a[q 1 Aq 3 ] [q 3 Aq 3 ]
4.9 Aplicación Ejemplo: Especificar la sintaxis de una expresión algebraica (problema simplificado) Gramática independiente del Contexto: S    S+T | T T    T*F | F F    a | (S)  Palabras que el autómata debe aceptar (a+a)*a+a*a a*(a+(a+a)) (a+a*(a+a))*(a*a)
ADPND para especificar la sintaxis de una expresión algebraica (problema simplificado) El autómata es una guía para escribir el código del compilador
4.10 Poder de representación { a i b i c i  | i    0  } { a i b i  | i  1} … {ai | i  0} … Autómata Finito no determinista Lenguajes regulares Autómata de pila no determinista Lenguajes independientes del contexto Todos los lenguajes
Lenguaje independiente del contexto S    S+T | T T    T*F | F F    a | (S)
4.11 Autómatas y lenguajes de programación de computadores ,[object Object],[object Object],[object Object],[object Object],[object Object],Identificadores Enteros Reales Operadores Cadenas de caracteres Autómata Finito no determinista Autómata de pila no determinista Análisis léxico Análisis sintáctico
5. Aplicaciones
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Investigación y desarrollo
[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Desarrollo momento 3
Desarrollo momento 3Desarrollo momento 3
Desarrollo momento 3Jose Rojas
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajesJean Bernard
 
Articulo Autómata (push down)
Articulo Autómata (push down)Articulo Autómata (push down)
Articulo Autómata (push down)Scarlinr
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatasPedro Roman
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNSalvador Fernández Fernández
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)Videoconferencias UTPL
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoangiepao1717
 

La actualidad más candente (20)

Desarrollo momento 3
Desarrollo momento 3Desarrollo momento 3
Desarrollo momento 3
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajes
 
Automatas[1]
Automatas[1]Automatas[1]
Automatas[1]
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Articulo Autómata (push down)
Articulo Autómata (push down)Articulo Autómata (push down)
Articulo Autómata (push down)
 
33 col2 301405
33 col2 30140533 col2 301405
33 col2 301405
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
Tipos de autómatas, y operaciones de conjunto entre autómatas
Tipos de autómatas, y operaciones de conjunto entre autómatasTipos de autómatas, y operaciones de conjunto entre autómatas
Tipos de autómatas, y operaciones de conjunto entre autómatas
 
Máquinas de turing
Máquinas de turingMáquinas de turing
Máquinas de turing
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
 
Formulas lineas de espera
Formulas lineas de esperaFormulas lineas de espera
Formulas lineas de espera
 
De palabras y lenguajes
De palabras y lenguajesDe palabras y lenguajes
De palabras y lenguajes
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
 
m discretas
m discretasm discretas
m discretas
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
 

Similar a Automatas de pila_no_det

Relaciones y funciones por Karen Coyago
Relaciones y funciones por Karen CoyagoRelaciones y funciones por Karen Coyago
Relaciones y funciones por Karen CoyagoKarenCoyagoTituaa
 
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 conjuntosBertha 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 conjuntosBertha 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 conjuntosBertha 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 conjuntosBertha Canaviri
 
Gramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátGramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátIvan Vladimir Meza-Ruiz
 
Máquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaMáquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaIvan Vladimir Meza-Ruiz
 
Espacios vectoriales ppt
Espacios vectoriales pptEspacios vectoriales ppt
Espacios vectoriales pptCarlos Iza
 
Gramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátGramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátIvan Vladimir Meza-Ruiz
 
Autómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAutómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAliciaSandovalCamacho
 

Similar a Automatas de pila_no_det (20)

Autómatas de pila
Autómatas de pila Autómatas de pila
Autómatas de pila
 
Relaciones y funciones por Karen Coyago
Relaciones y funciones por Karen CoyagoRelaciones y funciones por Karen Coyago
Relaciones y funciones por Karen Coyago
 
03 relaciones (2)
03 relaciones (2)03 relaciones (2)
03 relaciones (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
 
Depende del contexto
Depende del contextoDepende del contexto
Depende del contexto
 
La máquina sin memoria
La máquina sin memoriaLa máquina sin memoria
La máquina sin memoria
 
Revisando la jerarquía de chomsky
Revisando la jerarquía de chomskyRevisando la jerarquía de chomsky
Revisando la jerarquía de chomsky
 
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
 
Gramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátGramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitát
 
Máquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaMáquinas de turing o máquinas con cola
Máquinas de turing o máquinas con cola
 
TAREA EXAMEN
TAREA EXAMENTAREA EXAMEN
TAREA EXAMEN
 
Recapitulación
RecapitulaciónRecapitulación
Recapitulación
 
Espacios vectoriales ppt
Espacios vectoriales pptEspacios vectoriales ppt
Espacios vectoriales ppt
 
Espacios vectoriales
Espacios vectorialesEspacios vectoriales
Espacios vectoriales
 
Gramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitátGramáticas libres de contexto en su habitát
Gramáticas libres de contexto en su habitát
 
Revisando la jerarquía de chomsky
Revisando la jerarquía de chomskyRevisando la jerarquía de chomsky
Revisando la jerarquía de chomsky
 
Expocision u3
Expocision  u3Expocision  u3
Expocision u3
 
Autómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAutómata finito no determinista e investigacion
Autómata finito no determinista e investigacion
 

Más de Oscar Eduardo

Más de Oscar Eduardo (20)

Introducción a IngSW_2022.pptx
Introducción a IngSW_2022.pptxIntroducción a IngSW_2022.pptx
Introducción a IngSW_2022.pptx
 
Inventario tic
Inventario ticInventario tic
Inventario tic
 
Trayecto de actividades_diplomado
Trayecto de actividades_diplomadoTrayecto de actividades_diplomado
Trayecto de actividades_diplomado
 
Modelo pruebas
Modelo pruebasModelo pruebas
Modelo pruebas
 
Framework Android
Framework AndroidFramework Android
Framework Android
 
Comunicación
ComunicaciónComunicación
Comunicación
 
Modelos de Mediación
Modelos de MediaciónModelos de Mediación
Modelos de Mediación
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
User stories
User storiesUser stories
User stories
 
App upb móvil 20141
App upb móvil 20141App upb móvil 20141
App upb móvil 20141
 
Subir una aplicación a google play
Subir una aplicación a google playSubir una aplicación a google play
Subir una aplicación a google play
 
Analisis sintáctico
Analisis sintácticoAnalisis sintáctico
Analisis sintáctico
 
Iswiii
IswiiiIswiii
Iswiii
 
Presentacion rup
Presentacion rupPresentacion rup
Presentacion rup
 
Arquitectura sistema
Arquitectura sistemaArquitectura sistema
Arquitectura sistema
 
Doctic modelopropuestadeintervencin
Doctic modelopropuestadeintervencinDoctic modelopropuestadeintervencin
Doctic modelopropuestadeintervencin
 
Isw
IswIsw
Isw
 
Iswii
IswiiIswii
Iswii
 
Cod intermedio
Cod intermedioCod intermedio
Cod intermedio
 
Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Automatas de pila_no_det

  • 1.
  • 3. Construcción de compiladores Teoría de Lenguajes Formales y Autómatas Matemáticas
  • 4.  
  • 5. Análisis Lexicográfico Análisis Sintáctico Análisis Semántico Optimización Preparación para la generación de código Generación de código Fases del Compilador 1 1 Fases del Compilador según Karen A. Lemone Autómatas de pila no deterministas
  • 7.
  • 8. 3. Autómata de pila no determinista (ADPND)
  • 10. z ¿Acepta aab ? 3.1.1
  • 12. ¿Acepta aab ? z a)
  • 13. ¿Acepta aab ? z a) H A
  • 14. ¿Acepta aab ? z a) H A H a
  • 15. ¿Acepta aab ? z a) H A H a Falló
  • 16. ¿Acepta aab ? z b)
  • 17. ¿Acepta aab ? z b)
  • 18. ¿Acepta aab ? z b) z
  • 19. ¿Acepta aab ? z b) z z
  • 20. ¿Acepta aab ? z b) z z Falló
  • 21. ¿Acepta aab ? z c)
  • 22. ¿Acepta aab ? z c)
  • 23. ¿Acepta aab ? z c) B H A
  • 24. ¿Acepta aab ? z c) B H A B H b F
  • 25. ¿Acepta aab ? z c) B H A B H b F B H b E a H a
  • 26. ¿Acepta aab ? z c) B H A B H b F B H b E a H a El autómata acepta aab
  • 27. z ¿Acepta ab ? 3.1.2
  • 28. z ¿Acepta ab ? No 3.1.2
  • 29. z ¿Acepta aba ? 3.1.3
  • 30. z ¿Acepta aba ? No 3.1.3
  • 31. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab , z )
  • 32. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( , , )
  • 33. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , , )
  • 34. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab , )
  • 35. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab , AHB )
  • 36. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( , , )
  • 37. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , , )
  • 38. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b , )
  • 39. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b , FbHB )
  • 40. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b, FbHB) ├─ ─ ( , , )
  • 41. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b, FbHB) ├─ ─ ( q 4 , , )
  • 42. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b, FbHB) ├─ ─ ( q 4 , ε , )
  • 43. 3.2 Descripción instantánea z B H A B H b F B H b E a H a ( q 1 , aab, z) ├── ( q 3 , ab, AHB) ├─ ─ ( q 3 , b, FbHB) ├─ ─ ( q 4 , ε , aHaEbHB )
  • 44. 3.3 Especificación formal de un ADPND M = ( Q, Σ , Γ , Δ , s, F, z) Q = { q 1 , q 2 , q 3 , q 4 } Σ = { a, b } Γ = { z, A, B, E, F, H, a, b} s = q 1 F = { q 2 , q 4 }
  • 45. Δ ( q 3 , b , F ) = { ( q 4 , aHaE )}
  • 46. Δ ( , , ) = { ( , )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 47. Δ ( q 1 , , ) = { ( , )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 48. Δ ( q 1 , a , ) = { ( , )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 49. Δ ( q 1 , a , z ) = { ( , )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 50. Δ ( q 1 , a , z ) = { ( q 3 , )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 51. Δ ( q 1 , a , z ) = { ( q 3 , AHB )} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 52. Δ ( q 1 , a, z ) = { ( q 1 , AH), ( q 2 , z), ( q 3 , AHB) } Δ ( q 1 , a, A ) = { ( q 2 , a)} Δ ( q 2 , b, b ) = { ( q 2 , b)} Δ ( q 2 , a, z ) = { ( q 3 , z)} Δ ( q 3 , a, A ) = { ( q 3 , Fb)} Δ ( q 3 , b, F ) = { ( q 4, aHaE)} La transiciones quedan:
  • 53. El autómata queda M = ( Q, Σ , Γ , Δ , s, F, z) donde Q = { q 1 , q 2 , q 3 , q 4 } Σ = { a, b } Γ = { z, A, B, E, F, H, a, b} s = q 1 F = { q 2 , q 4 } y Δ , la regla de transición, está dada por Δ ( q 1 , a, z ) = { ( q 1 , AH), ( q 2 , z), ( q 3 , AHB) } Δ ( q 1 , a, A ) = { ( q 2 , a)} Δ ( q 2 , b, b ) = { ( q 2 , b)} Δ ( q 2 , a, z ) = { ( q 3 , z)} Δ ( q 3 , a, A ) = { ( q 3 , Fb)} Δ ( q 3 , b, F ) = { ( q 4, aHaE)}
  • 54. 3.4 Definición de autómata de pila no determinista 1 . Un autómata de pila no determinista es una 7-tupla M = ( Q, Σ , Γ , Δ , s, F, z ) donde Q es un conjunto finito de estados Σ es un alfabeto de entrada Γ es un alfabeto llamado alfabeto de la pila Δ es una regla de transición, Δ : Q  ( Σ  { ε } )  Γ  P( Q  Γ *) s  Q es el estado inicial o de partida F  Q es el conjunto de estados finales o de aceptación z  Γ es el símbolo inicial o de partida ___________________________ 1 Basada en la definición de Kelly y de Isasi-Martínez-Borrajo
  • 55. Δ : Q  ( Σ  { ε } )  Γ  P( Q  Γ * ) Δ ( q 3 , b , F ) = { ( q 4 , aHaE ) }
  • 56. 3.5 Definición de lenguaje aceptado por un autómata de pila no determinista 1 . Sea M = ( Q, Σ , Γ , Δ , s, F, z ) un autómata de pila no determinista. El lenguaje aceptado por M se denota por L(M) y es el conjunto __________________________ 1 Dean Kelly
  • 57. 3.6 Ejemplo 2 Acepta: ab , aabb , aaabbb , aaaabbbb , … Es decir acepta el lenguaje { ab , aabb , aaabbb , aaaabbbb , …} Formalmente acepta el lenguaje: { a i b i | i  1}
  • 58. 3.7 Método de construcción de un ADPND a partir de una Gramática independiente del contexto Ejemplo:
  • 59. 4.7 Método de construcción de un ADPND a partir de una Gramática independiente del contexto Ejemplo: Gramática independiente del Contexto: S  AB A  aAa | b B  bBa | ε
  • 60. 4.7 Método de construcción de un ADPND a partir de una Gramática independiente del contexto Ejemplo: Gramática independiente del Contexto: S  AB A  aAa | b B  bBa | ε
  • 61. 4.8 Método de construcción de una gramática independiente del contexto a partir de un ADPND ADPND M con estado inicial q 1 , F = { q 3 } y transiciones: Δ ( q 1 , a, z ) = { ( q 1 , Az) } Δ ( q 2 , b, A ) = { ( q 2 , ε )} Δ ( q 1 , a, A ) = { ( q 1 , AA)} Δ ( q 2 , ε , A ) = { ( q 2 , ε )} Δ ( q 1 , b, A ) = { ( q 2 , ε )} Δ ( q 2 , ε , z ) = { ( q 3, ε )} Gramática independiente del contexto con símbolo inicial [q 1 zq 3 ] [q 1 Aq 2 ]  b [q 2 Aq 2 ]  b | ε [q 2 zq 3 ]  ε [q 1 zq 1 ]  a[q 1 Aq 1 ] [q 1 zq 1 ] | a [q 1 Aq 2 ] [q 2 zq 1 ] | a[q 1 Aq 3 ] [q 3 zq 1 ] [q 1 zq 2 ]  a[q 1 Aq 1 ] [q 1 zq 2 ] | a [q 1 Aq 2 ] [q 2 zq 2 ] | a[q 1 Aq 3 ] [q 3 zq 2 ] [q 1 zq 3 ]  a[q 1 Aq 1 ] [q 1 zq 3 ] | a [q 1 Aq 2 ] [q 2 zq 3 ] | a[q 1 Aq 3 ] [q 3 zq 3 ] [q 1 Aq 1 ]  a[q 1 Aq 1 ] [q 1 Aq 1 ] | a [q 1 Aq 2 ] [q 2 Aq 1 ] | a[q 1 Aq 3 ] [q 3 Aq 1 ] [q 1 Aq 2 ]  a[q 1 Aq 1 ] [q 1 Aq 2 ] | a [q 1 Aq 2 ] [q 2 Aq 2 ] | a[q 1 Aq 3 ] [q 3 Aq 2 ] [q 1 Aq 3 ]  a[q 1 Aq 1 ] [q 1 Aq 3 ] | a [q 1 Aq 2 ] [q 2 Aq 3 ] | a[q 1 Aq 3 ] [q 3 Aq 3 ]
  • 62. 4.9 Aplicación Ejemplo: Especificar la sintaxis de una expresión algebraica (problema simplificado) Gramática independiente del Contexto: S  S+T | T T  T*F | F F  a | (S) Palabras que el autómata debe aceptar (a+a)*a+a*a a*(a+(a+a)) (a+a*(a+a))*(a*a)
  • 63. ADPND para especificar la sintaxis de una expresión algebraica (problema simplificado) El autómata es una guía para escribir el código del compilador
  • 64. 4.10 Poder de representación { a i b i c i | i  0 } { a i b i | i  1} … {ai | i  0} … Autómata Finito no determinista Lenguajes regulares Autómata de pila no determinista Lenguajes independientes del contexto Todos los lenguajes
  • 65. Lenguaje independiente del contexto S  S+T | T T  T*F | F F  a | (S)
  • 66.
  • 68.
  • 69.