Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE CHOMSKY
INTRODUCCIN
Como ya conocemos, existen gramticas de muy diferentes formas que
generan un mismo lenguaje.
Cuando se desea desarrollar demostraciones de ciertas propiedades de
los lenguajes incontextuales o se desea desarrollar algoritmos eficientes
que operen sobre gramticas incontextuales, interesa imponer ciertas
restricciones en las formas de las reglas de la gramtica.
Para ello se introducen las definiciones y los algoritmos de obtencin de
las formas normales para las gramticas incontextuales.
En concreto, vamos a estudiar la conocida como Forma Normal de
Chomsky (FNC).
El objetivo principal de esta prctica es el estudio e implementacin de
los algoritmos que permiten obtener una gramtica incontextual en FNC a
partir de una gramtica incontextual sin -reglas ni reglas simples
DEFINICIN INFORMAL
DE GRAMTICA
GRAMTICAS FORMALES
Gramtica regulares.
Gramticas independientes de contexto.
Gramticas sensibles al contexto.
Gramtica sin restricciones o de estructura de frase.
FORMAS NORMALES DE
GRAMTICAS
INDEPENDIENTES DEL
CONTEXTO.
TIPOS DE GRAMTICAS
N. Chomsky clasifica las gramticas en cuatro
tipos:
Gramticas sin restricciones o gramticas de
estructura de frases (Tipo 0).
Gramticas sensibles al contexto (Tipo 1).
Gramticas independientes de contexto (Tipo 2).
Gramticas regulares (Tipo 3).
Tipo 0
Tipo 1
Tipo 2
Tipo 3
Mquina
describe
reconoce
genera
genera
Lenguajes
Gramticas
Lenguajes
Mquinas
Sin restricciones
o de Tipo 0
Sin restricciones
o de Tipo 0
Mquina de
Turing
Sensible al
contexto o de
Tipo 1
Sensible al
contexto o de
Tipo 1
Autmata
linealmente
acotado
Libre de
contexto o de
Tipo 2
Libre de
contexto o de
Tipo 2
Autmata a pila
Regular o de
Tipo 3
Regular o de
Tipo 3
Autmata Finito
MARCELA HERNANDEZ
FORMA NORMAL DE
CHOMSKY (FNC)
EJEMPLO:
Sea A X1 X2 Xm en P
1- Crear producciones del tipo A a adecuadamente
Si Xi es Terminal y Xi = a entonces agregamos a P la produccin Ca
a y remplazamos Xi
por Ca. Entonces todas las producciones son de forma:
A B1B2 Bm y A a
2- Cuando creamos producciones A BC adecuadamente
Para los casos en que m 3, hacemos:
A B1 D1; D1B2D2;, Dm-2 Bm-1 Bm
Agregamos las respectivas variables y producciones
V= V U { D1, D2 Dm-2 }
FIN
(1)
Aa
S CbA | CaB
A CbAA | CaS |
a
B CaBB | CbS |
b
Ca a
Cb b
(2)
S CbA | CaB
A CbD1 | CaS | a
B CaD2| CbS | b
D1 AA
D2 BB
Ca a
Cb b
Descripcin:
try{
String Ax="";
for(int k=str.length()-1;k>=0;k--){
Double.parseDouble(str);
Ax=Ax+str.charAt(k);
return true;
}catch(Exception ex){
}
str=Ax;
return str;
return false;
}
}
if(pe>0){
while(pe>0){
b=pe%2;
System.out.println("DecDoubleToBin:
"+real);
pe=pe/2;
s=s+b;
}
double real2=real;
}else{s=s+""+0;}
String s="";
s=signo+this.invert(s);
String signo="";
int b;
if(real<0.0){
if(pf==0){s=s+".0";}else{
s=s+".";
while(pf>0 && pf<1.0){
real=real*-1;
pf=pf*2;
signo="-";
String sd=""+pf;
if(pf>=1.0){
pf=pf-1.0;
s=s+"1";
int pe=(int)real;
if(real<pe){
}else{
s=s+"0";
pe=pe-1;
}