Está en la página 1de 21

Gramtica

No terminales
N={
<clase>,<variable>,<tipo>,<nom_var>,<nom_clase
>,<constructor>,
<metodo>,<tipo_modificador>, <parametro>,
<contenido>, <var_ini>, <sentencia>, <met_name>,
<cont_met>, <for>, <while>, <call_met>,
<condicion>,<simbolo>,<Numero>,
<estado>,<dato> ,<agrupador>
}
Producciones:
S <clase>
<agrupador><variable><constructor><mtodo><agrupador>
<clase> <tipo_modificador> class <nom_clase>
<agrupador> <agrupador_apertura> | <agrupador_cierre>
<agrupador_apertura> {|[|(
<agrupador_cierre> }|]|)
<nom_clase> [_|a-z|A-Z|a-z|A-Z|0-9|_]*
<tipo_modificador> E|public |private | protected | < tipo_modificador
> <palabra_clave>
<palabra_clave> static|void | final|new|E
<var_tipo> int |double| String|char| <nom_clase>
<tipo_return> int|double|String|void |char|<nom_clase>
<nom_var> |[_|a-z|A-Z|a-z|A-Z|0-9|_]*
<dato>
<variable> < tipo_modificador > <variable>|<var_tipo>
<nom_var> ; |
<variable> = <dato> <variable>|<nom_clase>.<nom_var>| E
<constructor> < tipo_modificador > <nom_clase> <agrupador> < parametro
> <agrupador> <agrupador> < contenido> <agrupador>
<parametro> <parametro>,<parametro>|<variable> | <tipo_var> []
<nom_var>|(<nom_var>) |E
<contenido> <var_inicial> <var_inicial>| <var_inicial>|E
<var_inicial> <nom_var>=<valor>| <var_tipo><nom_var>=<valor>|
<tipo_modificador><var_inicial>| this.<nom_var> = <nom_var>;| <nom_var> =
<nom_var>;|<sentencia>;|E
<valor> dato|null|<nom_var>|<llama_metodo>
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<parametro>){ <cont_metodo> <retorno>;} | <tipo_modificador>
<nom_metodo> (<parametro>){<cont_metodo> }|<tipo_modificador> main <parametro>)
{<cont_metodo>}|<metodo> <metodo>
<cont_metodo> <sentencia>|<sentencia>;<sentencia>|E
<sentencia> <for>|<while>|<var_inicial>|<if>|<llama_metodo>|<retorno>|
<sentencia><sentencia>
<retorno> return <nom_var> ;| return null;return
<llama_metodo><nom_metodo>();
<llama_metodo> <nom_var>.<nom_metodo>(<parameto>);|

new< nom_clase>(<parametro>);
<nom_metodo>
<simbolo> ==|<|>|>=|<=|!= |++ |--
<estado> true | false
<While> while (< condicion > ) { < cont_metodo > }
| <While> <While>
<If> if (<condicion>) {<cont_metodo>}|
<IF><Else>

<Else If> (<condicion>) {<cont_metodo>}

<Else> else {<cont_metodo>}

<For> for ( ; ; ) for (<tipo_var> <nom_var> =


<Numero> ; <condicion> ; <nom_var> <simbolo>)
{<cont_metodo>}<For>

<Numero> 0|1|2|3|4|5|6|7|8|9
public class Nodos {
public Nodos izq;
public Nodos der;
public int dato;

public Nodos(){
dato=0;
izq=null;
der=null;
}
public Nodos(int dato){
this.dato=dato;
izq=null;
der=null;
}
public String toString(){
return new Integer(dato).toString();
}
}
CLASE NODOS
<tipo_modificador> class <nom_clase> <agrupador_apertura>
<tipo_modificador> <nom_clase> <nom_var> ;
<tipo_modificador> <nom_clase> <nom_var> ;
<tipo_modificador> <var_tipo> <nom_var> ;

<tipo_modificador> <nom_clase>
<agrupador_apertura><parametro><agrupador_cierre>
<agrupador_apertura>
<nom_var> = <Numero>;
<nom_var> = null;
<nom_var> = null;
<agrupador_cierre>
<tipo_modificador> <nom_clase><agrupador_apertura><var_tipo>
<nom_var> <agrupador_cierre><agrupador_apertura>
this.<nom_var> = <nom_var>;
<nom_var> = null;
<nom_var>=null;
<agrupador_cierre>
<tipo_modificador> ><tipo_return> <nom_metodo>(<parametro>){
return <llama_metodo><nom_metodo>();
}
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<parametro>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<parametro>,<parametro>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<variable>,<variable>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <cont_metodo>
<retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <sentencia><sentencia> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <var_inicial><sentencia> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <var_tipo><nom_var>=<valor>;<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <var_tipo><nom_var>=<valor>;<IF><Else>
;<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else
{<cont_metodo>};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else
{<sentencia>};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {<if>};<sentencia>;
<retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {<if><else>};<sentencia>;
<retorno>;}
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {if (<nom_var> <simbolo>
<nom_var>) {<sentencia>} else {<if>}};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {if (<nom_var> <simbolo>
<nom_var>) {<sentencia>} else {<if><else>}};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {if (<nom_var> <simbolo>
<nom_var>) {<sentencia>} else {if (<nom_var> <simbolo> <nom_var>)
{<sentencia>} else {<sentencia>}}};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
(<nom_var> <simbolo> <nom_var>) {<sentencia>} else {if (<nom_var> <simbolo>
<nom_var>) {<sentencia>} else {if (<nom_var> <simbolo> <nom_var>)
{<sentencia>} else {<if><else>}}};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;if
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;
if (<nom_var> <simbolo> <nom_var>) {<sentencia>}
else {if (<nom_var> <simbolo> <nom_var>) {<sentencia>}
else {if (<nom_var> <simbolo> <nom_var>) {<sentencia>}
else {if (<nom_var> <simbolo> <nom_var>) {<sentencia>}
else {if (<nom_var> <simbolo> <nom_var>) {<sentencia>}
else {<sentencia>}}}}};<sentencia>; <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>
(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;
if (<nom_var> <simbolo> <nom_var>) {<nom_var>.<nom_metodo>(<parameto>);}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var>=<valor>}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var>=<valor>}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var> = <nom_var>;}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var> =
<nom_var>;}
else {<nom_var>=<valor>}
<sentencia>;
}
}
}
METODO ELIMINAR

<metodo> <tipo_modificador><palabra_clave><tipo_return> <nom_metodo>


(<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <var_tipo><nom_var>=<valor>;
if (<nom_var> <simbolo> <nom_var>) {<nom_var>.<nom_metodo>(<parameto>);}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var>=<valor>}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var>=<valor>}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var> = <nom_var>;}
else {if (<nom_var> <simbolo> <nom_var>) {<nom_var> =
<nom_var>;}
else {<nom_var>=<valor>}
<nom_var>=<valor>;
}
}
}
} return <nom_var>;}
METODO ELIMINAR
private Nodos eliminader(Nodos fijo,Nodos variable,int dato){
if(variable.der!=null){
variable.der=eliminader(fijo,variable.der,dato);
}else{
fijo.dato=variable.dato;
variable=variable.izq;
}

return variable;
}
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<parametro>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<parametro>,<parametro>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<variable>,<variable>){ <cont_metodo> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <cont_metodo>
<retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <sentencia><sentencia> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>)
{ <if><sentencia> <retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>){ <if><else>
<retorno>;}
<metodo> <tipo_modificador><palabra_clave><tipo_return>
METODO ELIMINAR
<metodo> <tipo_modificador><palabra_clave><tipo_return>
<nom_metodo> (<var_tipo> <nom_var>,<var_tipo> <nom_var>){ if (<nom_var>
<simbolo> <nom_var>) {<nom_var>=<valor>} else
{<nom_var>=<valor>;<nom_var>=<valor>}return <nom_var>;;}
M. Insertar
<tipo_modificador><nom_clase><agrupador><parametro>,<parametro><agrupador>
<nom_clase><nom_var>=<paranetro>
if<condicion><agrupador>
<nom_var>=<palabra_clave><nom_clase><parametro>
<simbolo><nom_var><agrupador>
else if<condicion><argupador>
<nom_var>.<parametro>=<nom_metodo><parametro><agrupador>
else if<condicion><argupador>
<nom_var>.<parametro>=<nom_metodo><parametro><agrupador>
else<agrupador><impri_txt><agrupador>
<retorno>
RECORRIDOS:
<metodo> <tipo_modificador> <nom_metodo> (<parametro>){<cont_metodo> }
<tipo_modificador> < tipo_modificador > <palabra_clave>
<parametro> <variable>
<variable> <var_tipo> <nom_var> | <nom_clase>.<nom_var>
<var_tipo> <nom_clase>
<cont_metodo> <sentencia>
<sentencia> <if>
<if> if (<condicion>) {<cont_metodo>}
<condicion> <nom_var> <simbolo> null
<cont_metodo> <sentencia>
<sentencia> <llama_metodo>
<llama_metodo> <nom_metodo>(<parameto>);
<tipo_modificador> private
<palabra_clave> void
<nom_metodo>
<nom_clase> [_|a-z|A-Z|a-z|A-Z|0-9|_]*
<nom_var>
<simbolo> ==|<|>|>=|<=|!= |++ |--
MAIN
<metodo> <tipo_modificador> main ( <argumentos>){<cont_metodo> }
<tipo_modificador> < tipo_modificador > <palabra_clave>
<cont_metodo> <sentencia>|<sentencia> <sentencia>
<sentencia> <asignacion>|<llama_metodo> |<if> |<for> | <while> | <metodo_operacion>
<llama_metodo> <nom_metodo><var_met> = <palabra_clave> <nom_metodo> ( <parametro> )
<fin_sentencia>
<tipo_modificador> public | static | void | <tipo_modificador> <tipo_modificador>
<argumentos> -> <tipo_return> [ ] args
<variable>
<metodo_operacion> -> <variable> . <funcion_metodo>
<funcion_metodo> -> <operacion>(<parametro>)<fin_sentencia>
<parametro> <variable> | <parametro><parametro> | E
<variable> <nom_var>
<nom_var>
<simbolo> ==|<|>|>=|<=|!= |++ |--
<fin_sentencia> -> ;

También podría gustarte