Está en la página 1de 9

26/11/2015

Clasificacin de Gramticas

Recordando
La gramtica es el estudio de las reglas y
principios que regulan el uso de las lenguas y
la organizacin de las palabras dentro de una
oracin. Tambin se denomina as al
conjunto de reglas y principios que
gobiernan el uso de un lenguaje as, cada
lenguaje tiene su propia gramtica.

1
26/11/2015

Recordando
Una Gramtica G se representa con una cudrupla:
G=(N,,S,P)
Donde:
N es una coleccin finita de no terminales.
es un alfabeto (Conjunto de terminales).
S es un no terminal llamado Smbolo inicial.
P es una coleccin finita de reglas de sustitucin
llamadas producciones.

Clasificacin de Gramticas
En 1956, Noam Chomsky clasific las
gramticas en cuatro tipos de lenguajes y esta
clasificacin es conocida como la jerarqua de
Chomsky, en la cual cada lenguaje es descrito
por el tipo de gramtica generado. Estos
lenguajes sirven como base para la
clasificacin de lenguajes de programacin.

2
26/11/2015

Clasificacin de Gramticas
Los cuatro tipos son:

2 1
3 Lenguajes Lenguajes
Lenguajes Libres de Dependientes
Regulares Contexto de Contexto

0
Lenguajes Sin Restricciones

Clasificacin de Gramticas
En funcin de la forma de sus producciones,
se puede caracterizar qu tan compleja es una
gramtica formal.
Gramticas Tipo 0 (sin restricciones)
Gramticas Tipo 1 (dependientes de contexto)
Gramticas Tipo 2(independientes o libres de
contexto)
Gramticas Tipo 3 (gramticas regulares)

3
26/11/2015

Gramticas Tipo 3 (gramticas


regulares)
Estas gramticas se clasifican en los dos grupos
siguientes:
Gramticas lineales por la izquierda, cuyas reglas de
produccin pueden tener una de las formas siguientes:
Aa
A Va
S
Gramticas lineales por la derecha, cuyas reglas de
produccin tendrn la forma:
Aa
A aV
S

Gramticas Tipo 3 (gramticas


regulares)
Los lenguajes representados por este tipo de
gramticas se denominan lenguajes regulares.
Los lenguajes regulares se utilizan para definir
estructura lxica de los lenguajes de programacin.
Definen la sintaxis de los identificadores,
nmeros, cadenas y otros elementos bsicos del
lenguaje.
Estos lenguajes son todos los lenguajes que
pueden ser reconocidos por los autmatas
finitos.
8

4
26/11/2015

Gramticas Tipo 3 (gramticas


regulares)
Para una gramtica de la forma G = (N, , S, P)
G1 = ({A, B}, { 0, 1}, A, { A B1 | 1, B A0})
Gramtica lineal por la izquierda que describe el
lenguaje:
L1 = { 1, 101, 10101, ... } = {1(01)n| n = 0, 1, 2, ...}

G2 = ({ 0, 1}, {A, B}, A, { A 1B | 1, B 0A})


Gramtica lineal derecha que genera el mismo lenguaje
que la gramtica anterior.

Gramticas Tipo 2(independientes


o libres de contexto)
Generan los lenguajes libres de contexto. Estn definidas por reglas
de la forma:
A
A es un no terminal
es una cadena de terminales y no terminales
(incluye ).
Se denominan independientes de contexto porque A puede
sustituirse por independientemente de las cadenas por las que
est acompaada.
Estos lenguajes son todos los lenguajes que pueden ser reconocidos
por los autmatas de pila.
10

5
26/11/2015

Gramticas Tipo 2(independientes


o libres de contexto)
Los lenguajes independientes de contexto
constituyen la base terica para la sintaxis de la
mayora de los lenguajes de programacin. Definen
la sintaxis de las declaraciones, las proposiciones, las
expresiones, etc.
Sea la gramtica G = ({S}, {a, b}, S, { S aSb | ab}).
La derivacin de la palabra aaabbb ser:
S aSb aaSbb aaabbb
Puede verse que el lenguaje definido por esta
gramtica es {anbn| n=1, 2, ...}
11

Gramticas Tipo 1 (dependientes


de contexto)
Generan los lenguajes dependientes de contexto.
Contienen reglas de produccin de la forma:
A
A es un no terminal
, y son cadenas de terminales y no terminales.
y pueden ser vacos, pero ha de ser distinto del vaco.

Se denominan gramticas dependientes del contexto, porque,


como se observa, A puede ser sustituido por si est acompaada
de por la izquierda y de por la derecha.
Estos lenguajes son todos los lenguajes que pueden ser reconocidos
por autmatas lineales acotados (Maquina de Turing Determinista).

12

6
26/11/2015

Gramticas Tipo 1 (dependientes


de contexto)
G = ({S, B, C}, {a, b}, S,P), donde P es:
S aSBc | aBC
bB bb
bC bc
CB BC
cC cc
aB ab

13

Gramticas Tipo 0 (sin


restricciones)
Incluyen todas las gramticas formales.
El ms general, al que pertenece la semntica
de los lenguajes naturales y artificiales.
A estos lenguajes no se les impone restriccin
alguna.
Estos lenguajes son todos los lenguajes que
pueden ser reconocidos por una mquina de
Turing.

14

7
26/11/2015

Clasificacin de Gramticas
Todo lenguaje de tipo 3 es de tipo 2, todo
lenguaje de tipo 2 es de tipo 1, y todo lenguaje de
tipo 1 es de tipo 0.
Se dice que un lenguaje es de tipo k [k = 0, k = 1,
k = 2, k = 3] cuando existe una gramtica de tipo k
que genera ese lenguaje.

Tipo 0 Tipo 1 Tipo 2 Tipo 3

15

Clasificacin de Gramticas
Para clasificar una gramtica hemos de
analizar una a una todas sus reglas de
produccin obteniendo el tipo de cada una de
ellas. La clasificacin de la gramtica ser la
correspondiente al tipo de la produccin de
menor clasificacin

16

8
26/11/2015

Reglas de Si ,
Gramtica Lenguaje relacin entre Solucin
Produccin || y ||

Mquinas de
Tipo-0 Recursivas Sin restricciones
Turing

Dependiente de || || Autmatas
Tipo-1 A lineales
contexto
acotados
|| = 1
Independiente Autmatas de
Tipo-2 A
de contexto pila

Autmatas
A aB
Tipo-3 Regular || = 1 finitos,
Aa
regulares

17

Ejercicios.
Clasificar las siguientes gramticas dadas sus
reglas de produccin.
(a) (b) (c) (d) (e) (f) (g)

Z yX X xZyW E E+T S aAbc A bC SaAB|A S aS


X y yW yx E E-T Ab bA A bBC AcBd S aN
X Zvy ET AcBbcc bBbCa Be|fS N bN
yX yx T T*F bBbbaA C b CgD|hDt N bM
A aa
T T/F B bb C Dx|y|z N b
TF yCc yCc M c
F (E)
F id

18

También podría gustarte