

scope y type):
Añada las siguientes comprobaciones dependientes del contexto al compilador de Simple C:
RETURN con el nodo de la subrutina que lo engloba.
Añádale un atributo al nodo RETURN que indique el tipo que la rutina debe retornar.
CONTINUE y cada nodo BREAK con el nodo
del bucle que lo engloba. Indique el error si la sentencia (CONTINUE
o BREAK) no esta dentro de un bucle. Añada a dichos nodos
un atributo
que referencia al nodo del bucle que lo engloba.
goto al lenguaje Simple C.
Toda etiqueta va asociada con una sentencia.
La sintáxis de statement debe ser extendida para incluir sentencias etiquetadas:
statement:
expression ';' { $_[1] }
| ';'
| %name BREAK
$BREAK ';'
{ ... }
| %name CONTINUE
$CONTINUE ';'
{ ... }
| 'goto' ID ';'
| ID ':' statement
{ ... }
;
Las siguientes indicaciones tienen por objeto ayudarle en el análisis de ámbito de etiquetas:
Parse::Eyapp::Scope->new
end_scope (al terminar el análisis de la función) deberá decorar automáticamente el nodo GOTO con la referencia a la sentencia asociada con la etiqueta

