Siguiente: Equivalencia entre gramáticas lineales
Subir: Lenguajes regulares
Anterior: Lenguajes regulares
Índice General
Sea
un AFD.
Construimos una gramática lineal por la derecha
con
,
es decir, genera el mismo lenguaje que el AFD acepta.
es decir
, los estados del autómata determinan los símbolos
no-terminales de la gramática
-
, los símbolos del autómata determinan los
símbolos terminales de la gramática
, el estado inicial del autómata determina el
símbolo inicial de la gramática
El sistema de producciones
está dado por:
- Si
es una transición del AFD, con
y
, entonces añadimos a
la producción
.
- Si
es una transición del AFD, con
,
y
, entonces añadimos a
la producción
.
- Si
, entonces añadimos a
la producción
.
Ejemplo:
Entonces el sistema de producciones
de la gramática será:
Sea
una gramática lineal por la derecha,
es decir,
.
Construimos una autómata finito
con
, es decir, el autómata acepta
el mismo lenguaje que la gramática genera.
es decir,
-
, los símbolos terminales de la gramática
determinan los símbolos del autómata
-
, los símbolos no-terminales de la gramática
determinan los estados del autómata,
y añadimos un nuevo estado
, es decir,
, el símbolo inicial de la gramática determina el
estado inicial del autómata
Las transiciones
están dadas por:
- Si
es una producción de
, con
y
, entonces añadimos la transición
.
- Si
es una producción de
, con
y
, entonces añadimos la transición
.
- Si
es una producción de
,
entonces añadimos la transición
.
Observamos que el autómata construido es un autómata finito
no-determinista (AFND) que podemos convertir en un AFD si hace falta.
Ejemplo:
Para la gramática de arriba--renombrando los símbolos--convertimos
a la tabla de transiciones
Siguiente: Equivalencia entre gramáticas lineales
Subir: Lenguajes regulares
Anterior: Lenguajes regulares
Índice General
© 2006, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática