SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
6/9/2008




                                                              Autómata de estados finito
                                                 Un autómata de estados finito (FSA) es un grafo con
                                                    arcos dirigidos y con etiqueta, dos tipos de nodos
                                                    (estado final y no final), y un estado inicial único:

                                                 Esto es también llamado
                                                 máquina de estados.
                Gramáticas Regulares
                                                 ¿que cadena, que se inicia en
                                                 estado A, termina en estado C?
                       Sección 3.3.2




                                                 El lenguaje aceptado por la máquina M es un conjunto de
                                                    cadenas que se mueve del nodo inicial a un nodo
                                                    final, o más formalmente: T(M) = { | (A,) = C}
                                                    donde A es el nodo inicial y C un nodo final.


                                             1                                                          2




                       Mas FSA                                Autómatas Deterministicos

                                                 Deterministicos: Para cada estado y para cada miembro
Un FSA puede tener más de un estado final:         del alfabeto existe exactamente una transición.
                                                 No-deterministicos FSA (NDFSA): remueve la restricción.
                                                 • En cada nodo existe 0, 1, o más de una transición
                                                   para cada símbolo del alfabeto.
                                                 • Una cadena es aceptada si existe algún sendero del
                                                   estado inicial a algún estado final.
                                                 Ejemplo de un FSA no deterministico (NDFSA):

                                                 01 es aceptado vía el sendero:
                                                    ABD
                                                 A pesar de que 01 puede tomar
                                                  también los siguientes senderos:
                                                    ACC o ABC
                                                 y C no es el estado final.


                                             3                                                          4




                                                                                                                  1
6/9/2008




           Equivalencia de FSA y NDFSA                                Expresiones regulares

Resultado inicial importante:                          Se puede escribir lenguaje regular como una expresión:
  NDFSA = DFSA

Subconjuntos de estados son
Estados en DFSA.
Siga el subconjunto en que                             0*11*(0|100*1)1*|0*11*1
puede estar.




Cualquier cadena desde
{A} a {D} o {CD}                                       Operadores:
representa un sendero                                  • Concatenación
desde A a D en el                                      • O (| o algunas veces escrito como )
NDFA original.                                         • Cerramiento de Kleene (* - 0 o más instancias)


                                                   5                                                            6




                Gramáticas regulares                       Equivalencia de FSA y gramáticas regulares

Una gramática regular es una gramática
de contexto libre donde toda
producción es una gramática de
contexto libre de una de dos formas:
        • X  aY
        •X  a
   para X, Y  N, a  T




Teorema: L(G) para una gramática regular G es un
  equivalente a T(M) para FSA M.

La prueba es “constructiva”. Esto es dado G o M,
   podemos construir el otro [siguiente slide]


                                                   7                                                            8




                                                                                                                          2
6/9/2008




                    BNF extendido                                 Notación EBNF para sentencias de asignación

Existe una notación extendida para las reglas de BNF.         <sentencia de asignación>::= <variable>= <expresión aritmética>
   No le añade poder a la sintaxis, es solo una manera        <expresión aritmética>::=              <término> {[ + | - ] <término>}*
   de escribir las producciones:                              <término>::=        <primario> {[ * | -]<primario>}*
| - Escoger                                                   <primario>::=       <variable>|<número>|
( ) - Agrupar                                                                     (<expresión aritmética>)
{}* - Repetir - 0 o más veces                                 <variable>::=       <identificador>|
{}+ - Repetir - 1 o más veces                                                     <identificador>[<lista subscrita>]
[ ] - Opcional                                                <lista subscrita>::=<expresión aritmética>
Ejemplo: identificador – una letra seguida de 0 o más                                    {,<expresión aritmética>}*
   letras o dígitos:
   BNF extendido            BNF regular
   I  L { L | D }*         I  L | L M
   L  a | b |...           M  CM | C
   D  0 | 1 |...           C  L | D
                            L  a | b |...
                            D  0 | 1 |...

                                                         9                                                                         10




                Diagramas sintácticos                            Diagrama sintáctico para expresiones regulares

También llamados diagramas de ferrocarril.




Trace un sendero en la red: Una L seguida o repetida
  por mallas a través de L y D, por ejemplo, BNF
  extendido:
  L  L (L | D)*



                                                         11                                                                        12




                                                                                                                                              3
6/9/2008




                                        ¿Por que nos preocupamos de lenguajes
                                                      regulares?

                                   Programas están compuestos de tokens:
                                   • Identificador
                                   • Número
                                   • Palabra clave
                                   • Símbolos especiales
                                   Cada una de estas puede ser definidas por gramáticas
                                     regulares. (siguiente slide.)



                                   Problema: Como podemos manejar operadores de símbolos
                                     múltiples (por Ej.., ++ en C, =+ en C, := en Pascal)?
                                          ?? –estados finales múltiples?




                              13                                                          14




Muestras de clases de token                            Resumen de FSA

                                   Barrido (Scanner) para un lenguajes tiende a ser un
                                     gigante NDFSA para la gramática (es decir, tiene
                                     reglas  desde el estado inicial al estado inicial de
                                     cada tipo de token del slide anterior).


                                                             integer
                                                   
                                                            identifier
                                                       
                                                             keyword
                                                   
                                                             symbol




                              15                                                          16




                                                                                                     4

Weitere ähnliche Inhalte

Was ist angesagt?

Leccion A Tutorial 3
Leccion A Tutorial 3Leccion A Tutorial 3
Leccion A Tutorial 3
UVM
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
joeshego
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
Moises Morales
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_c
kikeMerck
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
Ricardo Quintero
 

Was ist angesagt? (20)

Poo4
Poo4Poo4
Poo4
 
Leccion A Tutorial 3
Leccion A Tutorial 3Leccion A Tutorial 3
Leccion A Tutorial 3
 
Autómatas finitos no deterministas
Autómatas finitos no deterministasAutómatas finitos no deterministas
Autómatas finitos no deterministas
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
 
Automatas Infinitos
Automatas Infinitos Automatas Infinitos
Automatas Infinitos
 
Módulo 5 (sin estilo)
Módulo 5 (sin estilo)Módulo 5 (sin estilo)
Módulo 5 (sin estilo)
 
Autómata finito
Autómata finitoAutómata finito
Autómata finito
 
Nfda
NfdaNfda
Nfda
 
Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7
 
Trabajo de matematica
Trabajo de matematicaTrabajo de matematica
Trabajo de matematica
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 
Punteros yo
Punteros yoPunteros yo
Punteros yo
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
 
Condiciones
CondicionesCondiciones
Condiciones
 
Tarea3
Tarea3Tarea3
Tarea3
 
Elementos de un programa c++
Elementos de un programa c++Elementos de un programa c++
Elementos de un programa c++
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_c
 
Introducción a C++
Introducción a C++Introducción a C++
Introducción a C++
 
Hematuria
HematuriaHematuria
Hematuria
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 

Ähnlich wie Gramaticas Regulares

Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
_05mauricio
 
Presentación Autómatas Finito No Deterministico
Presentación  Autómatas Finito No DeterministicoPresentación  Autómatas Finito No Deterministico
Presentación Autómatas Finito No Deterministico
Scarlinr
 
No determinista autómatas finitos
No determinista autómatas finitosNo determinista autómatas finitos
No determinista autómatas finitos
Juan Garcia
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
Germania Rodriguez
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
die_dex
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes Formales
Diego Perdomo
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos
Asu RaGu
 

Ähnlich wie Gramaticas Regulares (20)

33col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp0233col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp02
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredith
 
Presentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministicoPresentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministico
 
Presentación de NFDA de Automata
Presentación de NFDA de AutomataPresentación de NFDA de Automata
Presentación de NFDA de Automata
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Presentación Autómatas Finito No Deterministico
Presentación  Autómatas Finito No DeterministicoPresentación  Autómatas Finito No Deterministico
Presentación Autómatas Finito No Deterministico
 
No determinista autómatas finitos
No determinista autómatas finitosNo determinista autómatas finitos
No determinista autómatas finitos
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Conversion
ConversionConversion
Conversion
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Clase 6
Clase 6Clase 6
Clase 6
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes Formales
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Capitulo3.1
Capitulo3.1Capitulo3.1
Capitulo3.1
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos
 
Intrucciones 16 bits.pdf
Intrucciones 16 bits.pdfIntrucciones 16 bits.pdf
Intrucciones 16 bits.pdf
 
Autómatas Finitos
Autómatas FinitosAutómatas Finitos
Autómatas Finitos
 

Mehr von johanna20

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
johanna20
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2
johanna20
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
johanna20
 
Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalares
johanna20
 
examen fisica c
examen fisica cexamen fisica c
examen fisica c
johanna20
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisica
johanna20
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004
johanna20
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercial
johanna20
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizaciones
johanna20
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
johanna20
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte I
johanna20
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contable
johanna20
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicos
johanna20
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacion
johanna20
 

Mehr von johanna20 (20)

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Adt
AdtAdt
Adt
 
Arreglos
ArreglosArreglos
Arreglos
 
Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalares
 
examen fisica c
examen fisica cexamen fisica c
examen fisica c
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisica
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercial
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizaciones
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte I
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contable
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicos
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacion
 
Color
ColorColor
Color
 
Clipping
ClippingClipping
Clipping
 
Iluminacion
IluminacionIluminacion
Iluminacion
 
Hilos
HilosHilos
Hilos
 

Kürzlich hochgeladen

Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
MIGUELANGELLEGUIAGUZ
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
i7ingenieria
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
sonapo
 

Kürzlich hochgeladen (20)

implemenatcion de un data mart en logistica
implemenatcion de un data mart en logisticaimplemenatcion de un data mart en logistica
implemenatcion de un data mart en logistica
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercado
 
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptxADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Manual para las 3 clases de tsunami de ventas.pdf
Manual para las 3 clases de tsunami de ventas.pdfManual para las 3 clases de tsunami de ventas.pdf
Manual para las 3 clases de tsunami de ventas.pdf
 
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJODERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
 
mapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfmapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdf
 
EL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialesEL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de sociales
 
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedadesLas sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
 
Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Renta
 
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 

Gramaticas Regulares

  • 1. 6/9/2008 Autómata de estados finito Un autómata de estados finito (FSA) es un grafo con arcos dirigidos y con etiqueta, dos tipos de nodos (estado final y no final), y un estado inicial único: Esto es también llamado máquina de estados. Gramáticas Regulares ¿que cadena, que se inicia en estado A, termina en estado C? Sección 3.3.2 El lenguaje aceptado por la máquina M es un conjunto de cadenas que se mueve del nodo inicial a un nodo final, o más formalmente: T(M) = { | (A,) = C} donde A es el nodo inicial y C un nodo final. 1 2 Mas FSA Autómatas Deterministicos Deterministicos: Para cada estado y para cada miembro Un FSA puede tener más de un estado final: del alfabeto existe exactamente una transición. No-deterministicos FSA (NDFSA): remueve la restricción. • En cada nodo existe 0, 1, o más de una transición para cada símbolo del alfabeto. • Una cadena es aceptada si existe algún sendero del estado inicial a algún estado final. Ejemplo de un FSA no deterministico (NDFSA): 01 es aceptado vía el sendero: ABD A pesar de que 01 puede tomar también los siguientes senderos: ACC o ABC y C no es el estado final. 3 4 1
  • 2. 6/9/2008 Equivalencia de FSA y NDFSA Expresiones regulares Resultado inicial importante: Se puede escribir lenguaje regular como una expresión: NDFSA = DFSA Subconjuntos de estados son Estados en DFSA. Siga el subconjunto en que 0*11*(0|100*1)1*|0*11*1 puede estar. Cualquier cadena desde {A} a {D} o {CD} Operadores: representa un sendero • Concatenación desde A a D en el • O (| o algunas veces escrito como ) NDFA original. • Cerramiento de Kleene (* - 0 o más instancias) 5 6 Gramáticas regulares Equivalencia de FSA y gramáticas regulares Una gramática regular es una gramática de contexto libre donde toda producción es una gramática de contexto libre de una de dos formas: • X  aY •X  a para X, Y  N, a  T Teorema: L(G) para una gramática regular G es un equivalente a T(M) para FSA M. La prueba es “constructiva”. Esto es dado G o M, podemos construir el otro [siguiente slide] 7 8 2
  • 3. 6/9/2008 BNF extendido Notación EBNF para sentencias de asignación Existe una notación extendida para las reglas de BNF. <sentencia de asignación>::= <variable>= <expresión aritmética> No le añade poder a la sintaxis, es solo una manera <expresión aritmética>::= <término> {[ + | - ] <término>}* de escribir las producciones: <término>::= <primario> {[ * | -]<primario>}* | - Escoger <primario>::= <variable>|<número>| ( ) - Agrupar (<expresión aritmética>) {}* - Repetir - 0 o más veces <variable>::= <identificador>| {}+ - Repetir - 1 o más veces <identificador>[<lista subscrita>] [ ] - Opcional <lista subscrita>::=<expresión aritmética> Ejemplo: identificador – una letra seguida de 0 o más {,<expresión aritmética>}* letras o dígitos: BNF extendido BNF regular I  L { L | D }* I  L | L M L  a | b |... M  CM | C D  0 | 1 |... C  L | D L  a | b |... D  0 | 1 |... 9 10 Diagramas sintácticos Diagrama sintáctico para expresiones regulares También llamados diagramas de ferrocarril. Trace un sendero en la red: Una L seguida o repetida por mallas a través de L y D, por ejemplo, BNF extendido: L  L (L | D)* 11 12 3
  • 4. 6/9/2008 ¿Por que nos preocupamos de lenguajes regulares? Programas están compuestos de tokens: • Identificador • Número • Palabra clave • Símbolos especiales Cada una de estas puede ser definidas por gramáticas regulares. (siguiente slide.) Problema: Como podemos manejar operadores de símbolos múltiples (por Ej.., ++ en C, =+ en C, := en Pascal)? ?? –estados finales múltiples? 13 14 Muestras de clases de token Resumen de FSA Barrido (Scanner) para un lenguajes tiende a ser un gigante NDFSA para la gramática (es decir, tiene reglas  desde el estado inicial al estado inicial de cada tipo de token del slide anterior). integer   identifier  keyword  symbol 15 16 4