TEORA DE LENGUAJES
SESIN 4: LENGUAJE Y GRAMATICA
REFLEXIONA:
Temario:
1. Continuacin de Lenguajes y Gramtica
2. Jerarqua de gramaticas segn Chomsky.
3. Lenguajes, Gramtica y Autmatas.
4. Expresiones Regulares
LENGUAJE Y GRAMATICA
Continuacin
LENGUAJE Y GRAMATICA
GRAMTICAS FORMALES
Las gramticas de todos los lenguajes humanos conocidos tienen una cosa en
comn: estn organizadas por frases.
A su vez una frase para que sea sintcticamente correcta debe estar formada por
sujeto y predicado;
<frase>::= <sujeto><predicado>
<sujeto>::= juan / antonio / mara / pepa
<predicado>::= <verbo transitivo><objeto directo>
<predicado>::= <verbo intransitivo>
<verbo transitivo>::= ama / lava / peina / adora
<objeto directo>::= paula / antonio / sultn
<verbo intransitivo>::= corre / salta / camina
De modo anlogo
Queremos hacer una definicin formal de gramtica, para ello vamos a tratar de abstraer
lo principal de lo que en el lenguaje normal llamamos gramtica.
LENGUAJE Y GRAMATICA
Observamos que hay dos tipos de componentes: los que escribimos entre corchetes
<> y las que no.
Obsrvese que una verdadera frase est escrita slo con terminales y los no
terminales se usan slo en pasos intermedios, para construir con sintaxis correcta.
Lo fundamental de la gramtica son las reglas que nos van a permitir formar frases
correctas.
Slo las frases que formemos de acuerdo a esas reglas sern frases correctas del
lenguaje de nuestra gramtica.
Antes de pasar a definir lo que es una gramtica, daremos unas definiciones previas.
LENGUAJE Y GRAMATICA
REGLA O PRODUCCIN.
Dado un alfabeto , llamamos regla a un par ordenado que se escribe u:= v, donde u
y v son palabras sobre .
En realidad una regla nos va a permitir cambiar la palabra u por la palabra v siempre
que queramos, (pero no al revs, v por u).
DERIVACIN DIRECTA.
Sea x:= y una regla sobre un alfabeto y sea una palabra tal que = uxv, entonces
decimos que la palabra w = uyv es una derivacin directa de y lo escribimos w
o bien uxv uyv.
DERIVACIN
Decimos que la palabra w se obtiene por derivacin de , y lo escribimos w,
cuando w se obtiene de aplicando varias reglas sucesivamente (ms de una vez),
o sea usando ms de una derivacin directa.
LENGUAJE Y GRAMATICA
Ejemplos:
Sea ={a,,z} sean las reglas (1) ab:= aba, (2) aa:= o, (3) ma:=tea.
Sea la palabra calabaza, podemos escribir
(1)
calabaza (2)
calabaaza (calabaza calabaaza, usando la regla (1))
calabaaza calaboza
(3)
manta teanta
(3)
maestro(3) teaestro
rizoma (1)
rizotea (2) (1)
caballo cabaallo cabollo cabaollo
GRAMTICA.
Ejemplo:
LENGUAJE Y GRAMATICA
T = {juan, antonio, mara, pepa, ama, lava, peina, adora, paula, sultn, corre,
salta, camina}
N ={<frase>, <sujeto>, <predicado>, <verbo transitivo>, <verbo intransitivo>,
<objeto directo>}
<frase> es el axioma
LENGUAJE Y GRAMATICA
FORMA SENTENCIAL.
SENTENCIA.
Dada una gramtica G = (T, N, S, P) y una palabra que slo contiene smbolos
terminales ( T *) decimos que es una sentencia de G si puede derivarse desde
el axioma, es decir si S* .
Segn estas definiciones, todas las sentencias son formas sentenciales, pero no al
revs.
Cualquier derivacin del axioma es una forma sentencial, pero slo son sentencias
las derivaciones que contengan exclusivamente smbolos terminales de G.
Ejemplos:
LENGUAJE Y GRAMATICA
Sea la gramtica G3 = (T, N, S, P) dada por S:= xSy | xy, siendo T = {x,y}, el nico
no terminal es S, que adems necesariamente es el axioma. Las nicas derivaciones
posibles partiendo de S son del tipo
S xSy xxSyy .xxxxyyyy (tantas y como x)
xSy, xxSyy son formas sentenciales por que se derivan del axioma; no son
sentencias porque ambas palabras contienen el smbolo S que es no terminal.
xxxyyy es una sentencia porque puede ser derivada del axioma (derivarla) y slo
contiene smbolos terminales.
Sea la gramtica G1 dada en los ejemplos anteriores cuyas reglas son S:= xSy / xy
Las nicas derivaciones posibles partiendo de S son del tipo
S xSy xxSyy .xxxxyyyy (tantas y como x)
Por tanto podemos escribir L(G) = {xn yn : n>0}.
Si consideramos la gramtica G2 las sentencias son del tipo maria lava antonio juan
corre , etc, Todas las sentencias constituyen el lenguaje de G2.
LENGUAJE Y GRAMATICA
GRAMTICAS EQUIVALENTES.
Dos gramticas decimos que son equivalentes si tienen el mismo lenguaje asociado.
Ejemplos:
Sean G1=(T ={x,y}, N ={S}, S, P ={S:= xSy, S:= xy}) y
G2=(T ={x,y}, N ={A,B}, A, P ={A:= xBy, B:= xBy, B:= })
Ambas gramticas son equivalentes, G1 G2.
El mayor problema que nos encontramos es dada una gramtica y una palabra
escrita sobre el alfabeto de smbolos terminales, decidir si la palabra pertenece o no
al lenguaje de la gramtica, es decir si se puede obtener como una derivacin del
axioma.
JERARQUA DE GRAMATICAS SEGN CHOMSKY
Las gramticas fueron clasificadas por Noah Chomsky, segn la forma de las reglas en:
Gramticas tipo 1 o dependientes del contexto: la parte derecha de todas las reglas
debe obtenerse por sustitucin de exactamente un smbolo no terminal de la palabra
que aparece a la izquierda de dicha regla y no hay ninguna regla compresora salvo
quiz S:= , siendo S el axioma. Formalmente
P = {A:= w : w , AN}
JERARQUA DE GRAMATICAS SEGN CHOMSKY
Gramticas tipo 3 o regulares: no hay ninguna regla compresora salvo quiz S:=,
siendo S el axioma; adems la parte izquierda de todas las reglas debe ser
exactamente un nico no terminal y la parte derecha o es un nico smbolo terminal
o bien es un terminal seguido de un no terminal o al revs. Las gramticas regulares
se dividen en dos clases atendiendo a esta ltima condicin.
Gramtica lineal a la izquierda, sus reglas son de uno de los tipos siguientes A:= b,
A:= Ab, siendo AN , bT.
Gramtica lineal a la derecha, sus reglas son de uno de los tipos siguientes
A:= b, A:= bA, siendo AN , bT.
Ejemplos:
JERARQUA DE GRAMATICAS SEGN CHOMSKY
G0 G1 G2 G3
JERARQUA DE GRAMATICAS SEGN CHOMSKY
RBOLES DE DERIVACIN.
Son una forma de representacin de las derivaciones a partir del axioma de una
gramtica. Slo se puede representar con rboles las derivaciones en gramticas al
menos dependientes del contexto.
Ejemplos
JERARQUA DE GRAMATICAS SEGN CHOMSKY