Laboratorio _3_LENGUAJES_TRADUCTORES

Páginas: 2 (426 palabras) Publicado: 20 de septiembre de 2015








LABORATORIO 3

Escriba una G para reconocer una clase en C++
Ejemplo1:

class PERSONA{
int x;
};
Ejemplo2:
class TRABAJADOR: public PERSONA{};
Observación:
Reconoce una clase con herencia simple o herencia múltiple
Puede haber atributos enteros y reales.
Puede haber también solo cabeceras de métodos con parámetros de tipos enteros yreales y retornos con tipos reales y enteros también.
Se pide:
1. Encontrar la gramática
2. Luego elimine la recursividad si es que la hubiera
3. Después aplique simplificación gramatical aunque generedespués formas recursivas

SOLUCIÓN:

1. ENCONTRAR LA GRAMATICA

G={Vn,Vt,P ,S}

Vn= { , ,,, , , , ,, }

Vt = { class, ID, :, ,, ;, {, }, return, int, float, public, private,
}

P= {
-> {};
-> class ID
-> : ID / 
-> , ID / 
-> ID ;
-> /  -> ID (){return ID;}
-> ID / 
-> , ID / 
-> int/float
->public/private

}

S = {}

2. Elimine la recursividad si es que la hubiera
No se ha encontrado recursividad por la izquierda.

3. Aplique simplificación gramatical aunque genere después formasrecursivas

a) Eliminar los símbolos inútiles
En la gramática no se ha detectado símbolos INUTILES
b) Eliminar las derivaciones vacías
Producciones vacías encontradas :
-> : ID / (no)
-> , ID / (si)
-> / (si)
-> ID / (no)
->...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorio

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS