Bueno lastima que en este foro no se pueden subir imagenes pero coloque unas aqui de lo que intento hacer:
http://uv.unitec.edu/perfiles/100110...mpiladores.jpg
1. Oh si en la comparacion en errror de dedo
en realidad es SENTENCIAW y SENTENCIAF (while, for)
2. Tanto block como statement son derivadas de la clase TreeNode, block contiene una lista de statement. Hay una clase BlockStatement derivada de Statement. Segun la gramatica:
Metodo -> tipo ID( {tipo ID}* ) block
block-> '{' declaracion_var* stamentent* '}'
statament-> assign
| WHILE '(' expr ')' block
| <block>
Pero en realidad en cuanto a esto no tengo problema porque ya recorri el arbol durante el analisis semantico y verifique los apuntadores nulos para las producciones epsilon o lambda, la interpretacion funciona bien sin las condiciones de arriba (antes del Switch) para las sentencias exceptuando Continue, Return y Break;
Gracias por responder.