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

Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,8neutron8
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computationBipul Roy Bpl
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaAtahualpa Acosta
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4shah zeb
 
Theory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsTheory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsRushabh2428
 
Theory of computing
Theory of computingTheory of computing
Theory of computingRanjan Kumar
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languagesparmeet834
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Introduction to the theory of computation
Introduction to the theory of computationIntroduction to the theory of computation
Introduction to the theory of computationprasadmvreddy
 

La actualidad más candente (20)

Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computation
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Theory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsTheory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and Problems
 
1 ejercicio mt.
1 ejercicio mt.1 ejercicio mt.
1 ejercicio mt.
 
Lesson 05
Lesson 05Lesson 05
Lesson 05
 
Theory of computing
Theory of computingTheory of computing
Theory of computing
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languages
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Tipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según ChomskyTipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según Chomsky
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Ch2 finite automaton
Ch2 finite automatonCh2 finite automaton
Ch2 finite automaton
 
Introduction to the theory of computation
Introduction to the theory of computationIntroduction to the theory of computation
Introduction to the theory of computation
 

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

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Último (10)

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
 
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
 
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)
 
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...
 
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
 
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
 
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
 
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
 

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.