2 public class Pila_Ambitos extends Pila{
6 public void apilar_ambito(Ambito a){
9 public Ambito desapilar_ambito(){
10 return (Ambito)desapilar();
12 public Ambito ambito_actual(){
13 return (Ambito)cima();
15 //busca el simbolo s globalmente, primero en el ambito actual,
16 //si no lo encuentra en el contenedor, y asi hasta el ambito global
17 public Simbolo buscar_simbolo(String s){
18 Ambito act = ambito_actual();
19 return buscar_simbolo(act,s);
21 //funcion auxiliar que implementa la recursion para buscar
22 //en el contenedor del ambito actual
23 private Simbolo buscar_simbolo(Ambito act, String s){
24 Simbolo sim = act.getDeclaracion(s);
26 Ambito cont = act.getContenedor();
28 return buscar_simbolo(cont,s);