Clasificación de Gramáticas
-
Upload
teresa-fernandez -
Category
Documents
-
view
8 -
download
0
description
Transcript of Clasificación de Gramáticas
CLASIFICACIÓN DE GRAMÁTICAS
1.1 DEFINICIONES BÁSICASEmpecemos por definir que es un lenguaje, pero para esto
tenemos que definir alfabeto. Alfabeto el conjunto no vacío y finito de símbolos, dichos
símbolos tienen una secuencia de longitud finita, cada secuencia se conoce como palabra o cadena, este último término se da para evitar la idea de identificar el término palabra con las palabras de algún lenguaje natural.
La cadena vacía, la cual se denota por el símbolo λ, es una
palabra sobre cualquier alfabeto y se define como una secuencia vacía de símbolos tomados de cualquiera que sea el alfabeto en cuestión.
Un lenguaje es un conjunto de cadenas, es decir está
compuesto por un alfabeto.Los lenguajes pueden ser bastantes grandes, por ejemplo el
lenguaje {1, 11, 111, 1111, 11111,...} formado por todas las cadenas finitas de unos. Obsérvese que este lenguaje es infinito (aunque cada cadena del mismo tenga la longitud finita). Cuando un lenguaje tiene un tamaño muy grande es difícil especificar que cadenas le pertenecen.
1.2 OPERACIONES CON CADENAS
LONGITUD Si w es una cadenas sobre cualquier alfabeto, su longitud se
denota mediante el símbolo | w | y se define como el número de símbolos que tiene la cadenas.
CONCATENACIÓNSi w y z son cadenas, la concatenación de w con z es la cadena
que se obtiene al añadir a la cadena w la palabra z, y se denota wz o w . z. Obsérvese que se tiene que:
| wz | = | w | + | z | IDENTIDADLa concatenación de la cadena vacía ε con cualquier otra
cadena w, no modifica a la palabra w. Por esta razón, ε se comporta como identidad con respecto a la operación de concatenación.
POTENCIALa potencia de una cadena sobre un alfabeto se define como
sigue: Sea w una cadena; para n Є N se define
Se dice que wi es la potencia i-ésima de w.
IGUALDADSi w y z son cadenas, se dice que w es igual a z, si tienen
la misma longitud y los mismos símbolos en la misma posición. Se denota mediante w=z.
PREFIJOSi w y x son cadenas, se dice que x es prefijo de w, si para
alguna cadena y se obtiene w = xy. Si se considera y = ε, entonces para w = xy se tiene que w = x, con lo que toda palabra puede considerarse prefijo de sí misma. La cadena vacía ε es prefijo de cualquier palabra.
SUBCADENAUna cadena w es una subcadena de otra cadena z si existen la
cadenas x e y para las cuales, z = xwy.
INVERSALa inversa o transpuesta de una palabra w, es la imagen refleja
de w. Para denotar la inversa de w se usa wç. Una definición más precisa de la misma puede ser la siguiente:
La inversa se "deshace" a sí misma. Es decir, ((x) ç )ç= x.
1.3 ESTRUCTURAS DE LAS GRAMÁTICAS
El sistema de estructuración de frases (secuencias arbitrarias finitas de símbolos) expresadas correctamente, es decir, si es una frase significativa, se define como gramática.
La gramática consiste en dos conjuntos finitos, uno de símbolos
no terminales y otro de símbolos terminales, un subconjunto finito de producciones y de un símbolo inicial. Su representación es:
(VN, VT, P, S)donde: VN. Símbolos No Terminales. Son los símbolos introducidos para la definición de la gramática y que no figuran en las sentencias del lenguaje, deben ser definidos por otras producciones (o reglas BNF); es decir, también aparecen en el lado izquierdo de las producciones. Los símbolos no terminales son variables sintácticas y se conocen No-terminales. VT. Símbolos Terminales. Son los símbolos que realmente aparecen en una frase. Nunca aparecerán en el lado izquierdo de una producción. Los símbolos terminales deben ser símbolos válidos del lenguaje. Sus elementos se denominan Terminales. Generan una única cadena, ella misma.
VN VT =ΦV* representa el conjunto de todas las cadenas posibles en V. P. Conjunto de Reglas de derivación. Son las reglas para la sustitución de cadenas y se denominan producciones Se definen por medio de un par ordenado, escritos sus elementos entre paréntesis y separados con una coma, o pueden estar por medio de la notación BNF (Backus Normal Form), teniendo una parte izquierda y una parte derecha separadas por una flecha, la cual se lee como: Se define como.
Imponiendo restricciones a las posibles formas de las
producciones se obtienen distintos tipos de gramáticas. Por ejemplo:Restricciones respecto a que pueden ser y .Restricciones de dónde se puede aplicar la transformación establecida por la producción. S. Es el símbolo no-terminal más importante del conjunto N, se le llama Símbolo inicial. Genera todas las cadenas del lenguaje.
Ejemplo 1:La gramática G1 define todas las tiras formadas por
varias aes seguidas de igual número de bes (que en la descripción algebraica sería: anbn), y su cuarteto quedaría de la siguiente manera:
G1 = (S, ab, P, S)Donde P es:
S abS aSb
PROPIEDADES DE UNA GRAMÁTICA Para decir que una cadena está dentro de una gramática
debemos tener elementos terminales. El estado inicial en las reglas de producción es cero y produce
una letra y además deja espacio para seguir produciendo. Si se va a repetir una letra o dígito se hace un ciclo. Una gramática puede tener varias producciones y la forma de
terminar el análisis es cuando la cadena contenga elementos terminales.
Los conjuntos de elementos terminales y no terminales son disjuntos.
Todas las producciones deberán contener, al menos, un elemento no terminal en su lado izquierdo.
II. CLASIFICACIÓN DE LAS GRAMÁTICAS Esta clasificación fue publicada por Noam Chomsky en el año 1959; introdujo entonces cuatro tipos de gramáticas a base de cambiar sólo el tipo de las reglas de derivación (las restricciones).
2.1 TIPO 0.- GRAMÁTICAS CON ESTRUCTURA DE FRASE No hay restricción en las producciones, es decir, P tiene la forma más general:
donde:
Є (N T)+
Є (N T)*
Es decir, que la parte izquierda de una regla pude ser una
cadena de símbolos cualesquiera de N y T, y la parte derecha lo mismo y además puede ser nula.
2.2 TIPO 1.- GRAMÁTICAS DEPENDIENTES DE CONTEXTO En ella la forma de la regla de P es la siguiente:
A donde:
, Є (N T)*A Є N Є (N T)+ , es decir debe ser no vacío. La producción no se aplica siempre, sino en determinados
contextos: solo se cambia A por gamma, pero sólo en el contexto formado por alfa...beta.
Ejemplo 2: Validar la cadena w = aabbcc con la gramática de contexto sensitivo:
G2= (a,b,c) , (B,C), P , S P: S aSBC|abC CB BC bB bb bC bc cB Bc cC cc Se toma del estado inicial aSBC, y se van derivando los elementos según las producciones, hasta obtener la cadena w:
S aSBC aabCBC
aabcBC aabBCC aabbcC aabbcc La cadena es válida. Ejemplo 3:
Validar la cadena w = xyxyxyyyG3= (x,y,z) , (X,Y,Z ), P , S
P: S xyXY|xxZ|yyZ X xY|xX xX xx Y yX|yY yY yy Z xyZ|xy|yx|yyY xZ xz yZ yz Obteniendo la cadena w:
S xyXY xyxYY xyxyXY xyxyxYY xyxyxyYY
xyxyxyY xyxyxyyY xyxyxyyy La cadena es válida
2.3 TIPO 2.- GRAMÁTICAS DE LIBRE CONTEXTO (GLC) La forma de P es ahora:
A donde:
A Є N y siendo el único no terminal. Є (N T)*
Es decir, el conjunto P es un subconjunto del producto cartesiano N x (N T)*
La denominación de contexto libre es porque se puede cambiar A por , independientemente del contexto en el que aparezca A. Ejemplo 4:
G4= (a,+,*,(,) ) , (T,F), P , E P: E E + T E T T T * F T F F (E) F a
Validar la cadena w= (a+a)*(a+a)
E T T*F T*(E) T*(E+T) T*(T+T) T*(F+F) T*(a+a) F*(a+a) (E)*(a+a) (E+T)*(a+a) (T+T)*(a+a) (F+T)*(a+a) (a+T)*(a+a) (a+F)*(a+a) (a+a)*(a+a) La cadena es válida
Ejemplo 5:
G5= (a,+,-,*,/,(,) ) , (T,F), P, E P: E E + T | E – T E T T T * F | T / F T F F (E) F a
Validar la cadena w= ( (a+a)-(a-a) ) * a/a
E T T/F T*F/F T*F/a T*a/a F*a/a (E)*a/a (E-T)*a/a (T-F)*a/a (F-F)*a/a ((E)-(E))*a/a ((E+T)-(E-T))*a/a ((T+F)-(T-F))*a/a ((F+a)-(F-a))*a/a ((a+a)-(a-a))*a/a La cadena es válida
2.4 TIPO 3.- GRAMÁTICAS REGULARES Las reglas de P son ahora de una de las dos formas:
A aBA a
donde: A,B Є N A Є T Las gramáticas regulares están muy relacionadas con la teoría de autómatas, puesto que el autómata de estados finitos es capaz de reconocer o analizar las cadenas de un lenguaje regular. A estas gramáticas se les llama regulares por la izquierda.
2.5 CARACTERÍSTICAS DE LA CLASIFICACIÓN
Cada gramática de un tipo es también del tipo anterior (Fig. 1). Cada una de ellas es mas restringida que la anterior, es decir,
comprende un menor número de lenguajes.
Cuanto menos restrictiva es una gramática, mas complejo es su análisis sintáctico.
Las mas sencillas son las de Tipo 3.
Fig. 1.- Los cuatro tipos de Gramáticas según Chomsky
GLOSARIOAlfabeto o Vocabulario. Conjunto de todos los símbolos que forman las sentencias del lenguaje. Cadena. Secuencia ordenada de los símbolos que forman un lenguaje. Gramática. Estructuración de cadenas expresadas correctamente. Lenguaje. Conjunto de cadenas. Símbolo. Es un componente elemental del vocabulario del lenguaje que se emplea para formar cadenas del lenguaje.