Está en la página 1de 2

G= { Vt, Vn, P, ClasePrincipal }

Vt= { id, clase, {, }, (, ), [, ], :, endCaso, entero, real, booleano, enumerado, matriz, arreglo,
caracter, vacio }
Vn= { }

P={
<ClasePrincipal> → <privacidad> clase id { <atributos> <constructor> <metodos>
<ClaseInterna>}

<atributos> → <TipoDato> id ;
<atributos> → <TipoDato> id ; <atributos>
<atributos> → <Arreglo> id ; <atributos>
<atributos> → <Arreglo> id ;
<arreglo> → <TipoDato> [ ] id ;

<TipoDato> → entero/real/booleano/constante/matriz/arreglo/caracter
<privacidad> → publico/privado/protegido
<TipoMetodo> → <TipoDato>/vacio

<constructor> → <privacidad> id ( <parametros>) { <sentencia> }


<parametros> → <x>
<parametros> → <x> ; <parametros>

<sentencia>→<E.Decisión>/<E.Iteración>/<E.Selección>/<lectura>/<Impresión>/<atributo>/ &

<E.Decisión> → Si (<Condicion>) : { <sentencia> };


<E.Decisión> → Si (<Condicion>) : { <sentencia> } Sino { <sentencia> };

<E.Iteración>→Para(id=<detalle>;<expresion>;<incremento>){<sentencia>}; <E.Iteracion>
<E.Iteración> → &
<E.Iteración> → Mientras (<condicion>) hacer {}

<E.Selección> → Interruptor { <caso> }


<caso> → opcion <TipoDAto> : endCaso, <caso>; //
<caso> → &

<Metodos> → <TipoMetodo>id (<parametros>);


<función> → <tipo> Id_funcion ( <list_parametros> );

}
// NO SE COMO PONER LO DE HERENCIA
//YO CREO QUE SERIA MEJOR SI QUITAMOS LO DE CLASE INTERNA
un ejemplo de Herencia
P={
en vez de la clase principal de arriba seria :
<ClasePrincipal> → <privacidad> clase id {<herencia> <atributos> <constructor>
<metodos> }
<herencia> → hijoDe id_padre / &
}

//Se quitara lo de herencia

También podría gustarte