Está en la página 1de 21

ST0270-031

Clase 11
J.F. Cardona
Universidad EAFIT

23 de agosto de 2016

Agenda

Captulo 2. Sintaxis
de lenguajes regulares e independientes de
Comparacion
contexto

Gramaticas
con expresiones regulares
Jerarqua de Chomsky

de lenguajes regulares e independientes


Comparacion
de contexto

Propiedades de clausura de REG y CF


reflexi o n
R R REG
L R CF

estrella
R REG
L CF

uni o n o concatenaci o n
R1 R2 REG
L1 L2 CF

complemento
R REG
L < CF

intersecci o n
R1 R2 REG
L1 L2 < CF
L R CF

de lenguajes regulares e independientes


Comparacion
de contexto
Trans-literacion
o homomorfismo alfabetico

Definicion.
Considere dos alfabetos: fuente y el objetivo .

alfabetica

Una transliteracion
es una funcion:
h : {}

o imagen del caracter


La transliteracion
c es h (c ), un elemento del

conjunto objetivo. Si h (c ) =  , el caracter


es borrado.
es no-borrable si, para ningun
caracter

Una transliteracion
fuente c, este es
h (c ) =  .
La imagen de la cadena fuente a1 a2 . . . an , ai es la cadena
de imagenes

h (a1 )h (a2 ) . . . h (an ) obtenida de la concatenacion


de los caracteres
individuales.
de
de dos cadenas v y w es la concatenacion
La imagen de la concatenacion

las imagenes
de las cadenas:
H (v .w ) = h (v ).h (w )


Transliteracion
Ejemplo
describe el manejo de ciertos
La siguiente transliteracion

caracteres
por impresoras ya obsoletas:
h (c ) = c
h (c ) = c
h (c ) = 
h (stxt) = 
h (etxt) = 

Si c {a , b , . . . , z , 0, 1, . . . , 9};
o un espacio;
Si c es una marca de puntuacion
Si c {, , . . . , };

es
Un ejemplo de transliteracion
h (stxt the const. has value 3,14 etxt) =
the const.  has value 3,14


Gramaticas
con expresiones regulares

Gramaticas
independientes de contexto extendidas
La legibilidad de las expresiones regulares son buenas para
listas y estructuras similares.

Las gramaticas
independientes de contexto son confusas
para este tipo de casos.
La idea es combinar expresiones regulares y reglas

gramaticales
en la notacion:

Gramaticas
independientes de contexto extendidas o EBNF.
es una expresion
regular.
La parte derecha de una produccion


Gramaticas
con expresiones regulares
Ejemplo
Considere una lista de declaraciones de variables:

char text1, text2;


real temp, result;
int alpha, beta2, gamma;
Esta puede ser construida con una expresion regular, cuyo
alfabeto = {c , i , r , v ,0 ,0 ,0 ;0 } donde c , i , r son char, int,
real y v para el nombre de una variable:

((c | i | r )v (, v ) ; )+

por la gramatica

Esta lista puede ser definida tambien


D DE | E

E AN ;

A c|i|r

N v, N | v


Gramaticas
con expresiones regulares

Definicion

Una gramatica
independiente de contexto extendida o gramatica
EBNF; G = (V , , P , S ) que contiene exactamente | V | reglas
cada una de la forma A , donde A es un non-terminal y es
una expresion regular del alfabeto V .


Gramaticas
con expresiones regulares

Derivacion
La parte derecha de una regla extendida A es una
regular, la cual genera un conjunto infinito de
expresion
reglas:
Cada una vista como la parte derecha de una regla no
extendida teniendo muchas alternativas sin limite.
Por ejemplo: A (aB )+ es el conjunto de reglas:
A aB | aBaB | . . .


Gramaticas
con expresiones regulares

Derivacion
puede ser definida para las gramaticas

La derivacion
via la nocion
de derivaciones para las
extendidas tambien,
expresiones regulares.

Para una gramatica


EBNF G, considere una regla A ,
regular.
donde es una expresion
regular contiene operadores de eleccion

Esta expresion
y opcion.

(choice): estrella, cruz, union

Sea 0 una cadena derivada de , que no contiene ningun

operador de eleccion.
Para cualquiera (posiblemente vacas) cadenas y existe
de un paso:
una derivacion

A 0


Gramaticas
con expresiones regulares

Derivacion
de multiples

Entonces podemos definir derivacion


pasos
iniciando desde el axioma y produciendo cadenas terminales;

y finalmente el lenguaje generado por una gramatica


EBNF,

en el misma manera como gramaticas


basicas.


Gramaticas
con expresiones regulares

Ejemplo

La gramatica
G
E [+ | ]T ((+ | )T )

T F (( | /)F )

F (a |0 (0 E 0 )0 )

izquierda
La derivacion
E T +T T F +T T a+T T a+F T

a+aT a+aF F
a+aaF a+aaa


Gramaticas
con expresiones regulares

Ejemplo
E

F
a


Gramaticas
con expresiones regulares

Ambiguedad
en gramaticas
extendidas

Una gramatica
ambigua permanece ambigua si es escrita

como una gramatica


extendida.

En las gramaticas
EBNF una forma diferente de ambiguedad
regular es ambigua.
puede surgir si la expresion
Por ejemplo la siguiente expresion regular es ambigua:
a b | ab

Como consecuencia de lo anterior la gramatica


extendida:
S a bS | ab S | c
es ambigua.
Tambien

Jerarqua de Chomsky

para PSG (Phrase Structure


Es una esquema de clasificacion
Grammar) y sus correspondientes PSL (Phrase Structure
Language) que ellos generan.
Los PSG pueden ser clasificados en una jerarqua.
de una gramatica

La clasificacion
acuerdo a la jerarqua de

Chomsky es basado unicamente


en la presencia de ciertos
patrones en las producciones.
nombrados con numeros

Estan
desde el 0 al 3.

general.
Donde 0 es la gramatica
mas


Gramatica
tipo 0

Nombre
Sin restricciones
Forma de las reglas

donde , ( V )+
Familia del lenguaje
Recursivamente enumerable
Tipo de reconocedor

Maquinas
de Turing


Gramatica
tipo 1
Nombre
Sensitiva al contexto
Forma de las reglas

donde , ( V )+ y | || |.
Familia del lenguaje
Contextual o dependiente del contexto
Tipo de reconocedor

Maquinas
de Turing con complejidad del espacio limitada por la
longitud de la cadena de entrada.


Gramatica
tipo 2

Nombre
Independiente al contexto o BNF
Forma de las reglas
A
donde A es un non-terminal (A V) y ( V ) .
Familia del lenguaje
Independiente del contexto (CF) o algebraica.
Tipo de reconocedor

Automata
de pila.


Gramatica
tipo 3
Nombre
Regular o unilineal (lineal por la derecha o por la izquierda).
Forma de las reglas
Lineal por la derecha
A uB
Lineal por la izquierda
A Bu
donde A es un non-terminal (A V) y u y B (V )
Familia del lenguaje
Regular REG o racional o de estado finito.
Tipo de reconocedor

Automata
finito.

Jerarqua de Chomsky

Ejemplo de una gramatica


tipo 1 de lenguaje de potencia igual de
tres elementos
L = {a n b n c n | n l }

Este es generado por la gramatica


sensitiva al contexto:
1.S aSBC
2.S abC

3.CB BC
4.bB bb

5.bC bc
6.cC cc

Jerarqua de Chomsky

Ejemplo. Gramatica
tipo 1 de replica
con centro
El lenguaje L = {ycy | y {a , b }+ } contiene frases como:
aabcaab.

La gramatica:
SX a
X aXA
X bXB

XA XA 0
XB XB 0

A 0A
A 0B
B 0A
B 0B

AA 0
BA 0
AB 0
BB 0

genera frase de dicho lenguaje L .

A 0 a a
B 0 a b
A 0 a aa
A 0 b ab

B 0 a ba
B 0 b bb
Xa ca
Xb cb

También podría gustarte