Está en la página 1de 9

ST0270-031

Clase 5
J.F. Cardona
Universidad EAFIT

2 de agosto de 2016

Agenda

Captulo 2. Sintaxis

Gramaticas
generativas independiente del contexto
y generacion
del lenguaje
Derivacion

Cadenas erroneas
y reglas inutiles
e infinitud de lenguajes
Recursion


Lenguaje de una gramatica
independiente de contexto

En algunos caso se requiere considerar ciertas derivaciones que


producen cadenas que un contiene no-terminales.
Forma de cadena
Una forma de cadena generada por G e iniciada desde cualquier

no-terminal A V , es una cadena (V ) tal que A


Forma sentencial
Si A es el axioma S, la cadena es llamada una forma sentencial.
Claramente una sentencia (o frase o cadena) es una forma
sentencial en la cual la cadena adolece de no-terminales.

Cadenas erroneas
y reglas inutiles
a que todos los no-terminales estan

Se debe poner atencion


definidos y que cada uno de ellos efectivamente contribuyen
de alguna frase (sentencia o cadena).
a la produccion
De hecho, algunas reglas pueden ser improductivas.

Gramaticas
limpias

Una gramatica
G es llamada limpia (o reducible) bajo las
siguientes consideraciones:
1

cada no-terminal A es alcanzable desde el axioma,

S A ;
formalmente hablando, existe una derivacion

cada no-terminal A esta bien definido, este genera un


lenguaje que no es vaco LA (G ) , .

si una
Frecuentemente una gramatica
es verificada por revision

gramatica
esta limpia o no.

de gramaticas

Algoritmo de verificacion

Definicion
Primera fase. Calcule el conjunto DEF V de terminales
bien definidos.
DEF B {A | (A u) P, con u }
es aplicada hasta que
Entonces la siguiente transformacion
es alcanzada:
la conversion
DEF B DEF {B | (B D1 D2 . . . Dn ) P }
donde cada Di es un terminal o un smbolo no-terminal
presente en DEF.
Los no-terminales pertenecientes al conjunto complemento
V \ DEF son los no-definidos y deben ser eliminados.

de gramaticas

Algoritmo de verificacion

Definicion
Segunda fase. Un no-terminal es alcanze desde el axioma
s, y solamente s, all existe un camino en el siguiente grafo,
entre los no-terminales,
la cual representa una relacion
llamada produce:
produce

A B

diciendo que A produce a B s, y unicamente


s, existe una
regla A B , donde A , B son no-terminales y , son
cualquier cadena. Claramente C es alcanzable desde S s, y
solamente en este grafo existe un camino orientado de S a C.
Los no-terminales inalcanzables son complementados con
respecto a V .

de gramaticas

Algoritmo de verificacion

Requerimiento adicional
+

G no debera permitir derivaciones circulares A A .


Tales derivaciones son innecesarias, debido a que si la cadena
circular A A x,
x es obtenida por medio de un derivacion
A x.
esta puede ser obtenida directamente de la derivacion
causa ambiguedad.

Este tipo de derivacion

Sintaxis
e infinitud de lenguajes
GIC - Recursion

Infinitud

Una propiedad esencial de muchos lenguajes tecnicos


es que
son infinitos.

Para generar un numero


ilimitado de cadenas, la gramatica
debe derivar cadenas de una longitud ilimitada.
Recursividad
n

de n 1 pasos A xAy es llamada recursiva


Un derivacion
(inmediatamente recursiva si n = 1);
de igual forma un no-terminal es recursivo.
(no-terminal) es
Si la cadena x es vaca, la derivacion
recursiva por la izquierda, similarmente, si la cadena y es
vaca, es recursiva por la derecha.

Sintaxis
e infinitud de lenguajes
GIC - Recursion

Propiedad

Sea G una gramatica


limpia; libre de derivaciones circulares. El
s, G tiene una derivacion

lenguaje L (G ) es infinito si, y solo


recursiva.

También podría gustarte