22
TEOR TEOR Í Í A DE AUT A DE AUT Ó Ó MATAS Y LENGUAJES FORMALES MATAS Y LENGUAJES FORMALES Tema 7. Tema 7. - - Lenguajes Regulares Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS SEGUNDO CURSO, SEGUNDO CUATRIMESTRE

Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

  • Upload
    ngoanh

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

TEORTEORÍÍA DE AUTA DE AUTÓÓMATAS Y LENGUAJES FORMALESMATAS Y LENGUAJES FORMALES

Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

UNIVERSIDAD DE CÓRDOBAESCUELA POLITÉCNICA SUPERIOR

DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

SEGUNDO CURSO, SEGUNDO CUATRIMESTRE

Page 2: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

2

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Paso 1: AutPaso 1: Autóómata mata AA11 sinsin estados inestados inúútiles, que reconoce tiles, que reconoce el lenguaje denotado por el lenguaje denotado por a a* b*a a* b*

ConstrucciConstruccióón del Autn del Autóómata que reconoce mata que reconoce el lenguajeel lenguaje complementariocomplementario

Page 3: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

3

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Paso 2: AutPaso 2: Autóómata mata AA11 concon un estado inun estado inúútiltil

ConstrucciConstruccióón del Autn del Autóómata que reconoce mata que reconoce el lenguajeel lenguaje complementariocomplementario

Page 4: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

4

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Paso 3: AutPaso 3: Autóómata que reconoce mata que reconoce el lenguaje complementarioel lenguaje complementario

ConstrucciConstruccióón del Autn del Autóómata que reconoce mata que reconoce elel lenguajelenguaje complementariocomplementario

Page 5: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

5

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata mata AA22 que reconoce el lenguaje denotado por que reconoce el lenguaje denotado por (a b)*(a b)*

IntersecciInterseccióónn de lenguajes regularesde lenguajes regulares

Page 6: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

6

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata mata AA22 concon un estado un estado ininúútiltil

IntersecciInterseccióónn de lenguajes regularesde lenguajes regulares

Page 7: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

7

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata que reconoce el lenguaje obtenido al realizar la mata que reconoce el lenguaje obtenido al realizar la intersecciinterseccióónnde L (de L (AA11) y L () y L (AA22))

IntersecciInterseccióónn de lenguajes regularesde lenguajes regulares

Page 8: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

8

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata mata con estados incon estados inúútilestiles que reconoce el lenguaje obtenido al que reconoce el lenguaje obtenido al realizar la realizar la intersecciinterseccióónn de L (de L (AA11) y L () y L (AA22))

IntersecciInterseccióónn de lenguajes regularesde lenguajes regulares

Page 9: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

9

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata que reconoce el lenguaje obtenido al realizar la mata que reconoce el lenguaje obtenido al realizar la diferenciadiferenciade L (de L (AA11) ) -- L (L (AA22))

DiferenciaDiferencia de lenguajes regularesde lenguajes regulares

Page 10: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

10

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata mata con estados incon estados inúútiles tiles que reconoce el lenguaje obtenido al que reconoce el lenguaje obtenido al realizar la realizar la diferenciadiferencia de L (de L (AA11) ) -- L (L (AA22))

DiferenciaDiferencia de lenguajes regularesde lenguajes regulares

Page 11: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

11

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Lenguaje reflejo o inversoLenguaje reflejo o inverso

AutAutóómata mata AA33 que reconoce el lenguaje denotado por que reconoce el lenguaje denotado por a b* (a+a b* (a+εε))

Page 12: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

12

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Lenguaje reflejo o inversoLenguaje reflejo o inverso

AutAutóómata mata no deterministano determinista que reconoce el lenguaje reflejo de L (que reconoce el lenguaje reflejo de L (AA33), ), es decir, reconoce el lenguaje denotado por es decir, reconoce el lenguaje denotado por (a+(a+εε) b*a) b*a

Page 13: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

13

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

AutAutóómata mata A4A4 que reconoce los identificadores del lenguaje de Cque reconoce los identificadores del lenguaje de C

Homomorfismo inversoHomomorfismo inverso

Page 14: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

14

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Homomorfismo inversoHomomorfismo inverso

AutAutóómata que reconoce el lenguaje mata que reconoce el lenguaje hh--11 (L (A (L (A 44))))

Homomorfismo

h : Γ = {0, 1} → Σ∗ = {l, d, g}∗

h(0) = l d

h(1) = l s d

Page 15: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

15

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

RepresentaciRepresentacióón grn grááfica de un lenguaje incluido en otrofica de un lenguaje incluido en otro

Page 16: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

16

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Algoritmo Detectar-ciclos (primera parte)[1] inicio[2] Alcanzables ← {q 0} y q 0 no marcado[3] Visitados ← ∅[4] Ciclo ← falso[5] mientras (Ciclo = falso) y (haya un estado no marcado q ∈ Alcanzables)[6] hacer[7] Marcar el estado q

[8] Visitados ← Visitados ∪ {q} [9] Auxiliar ← {q’| ∃σ ∈ Σ ∧ δ(q, σ) = q’ }[10] si Visitados ∩ Auxiliar ≠ ∅[11] entonces Ciclo ← verdadero[12] si no[13] para q ∈ Auxiliar − Alcanzables hacer[14] Alcanzables ← Alcanzables ∪ {q} y q no marcado[15] fin para[16] fin si[17] fin mientras

DetecciDeteccióón de ciclosn de ciclos

Page 17: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

17

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Algoritmo Detectar-ciclos (segunda parte)…

[18] si (Ciclo = falso)[19] entonces escribir “Autómata sin ciclos”[20] si no escribir “Autómata con ciclos”[21] fin si[22] fin

DetecciDeteccióón de ciclosn de ciclos

Page 18: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

18

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

DetecciDeteccióón de ciclosn de ciclos

Page 19: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

19

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

DetecciDeteccióón de ciclosn de ciclos

Traza del algoritmo de DetecciTraza del algoritmo de Deteccióón de ciclosn de ciclos

Page 20: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

20

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

Desigualdad de dos Lenguajes Desigualdad de dos Lenguajes

L3 = L1 L3 = L1 ∆∆ L 2 = L1 L 2 = L1 ∪∪ L 2 L 2 –– L1 L1 ∩∩ L2 L2 ≠≠ ∅∅

Page 21: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

21

TeorTeoríía de Auta de Autóómatas y Lenguajes Formales matas y Lenguajes Formales Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

LexLex: Generador de analizadores l: Generador de analizadores lééxicosxicos

Page 22: Tema 7.- Lenguajes Regulares - Universidad de CórdobaA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 7.- Lenguajes Regulares UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO

TEORTEORÍÍA DE AUTA DE AUTÓÓMATAS Y LENGUAJES FORMALESMATAS Y LENGUAJES FORMALES

Tema 7.Tema 7.-- Lenguajes RegularesLenguajes Regulares

UNIVERSIDAD DE CÓRDOBAESCUELA POLITÉCNICA SUPERIOR

DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

SEGUNDO CURSO, SEGUNDO CUATRIMESTRE