1 import java.util.LinkedList;
2 import java.util.ListIterator;
4 import antlr.collections.AST;
7 public class TablaModulos {
8 LinkedList<Modulo> modulos;
10 public TablaModulos(){
11 modulos = new LinkedList<Modulo>();
14 public void add(String nombre, AST arbol){
15 //el arbol es una arbol completo
16 modulos.add(new Modulo(nombre, arbol));
18 public Modulo get(String nombre){
19 ListIterator<Modulo> li = modulos.listIterator();
23 if (mod.getNombre().equals(nombre+".mod")){
30 public AST Declaracion(String nombre, AST importacion){
31 //importacion es una lista de IDENT
32 if (importacion == null)
34 int n = importacion.getNumberOfChildren();
35 AST mod = importacion.getFirstChild();
38 if(Declaracion(nombre, mod.getText()+".mod") != null)
39 return Declaracion(nombre, mod.getText()+".mod");
40 mod = mod.getNextSibling();
46 public AST Declaracion(String nombre, String modulo){
47 ListIterator<Modulo> li = modulos.listIterator();
51 if(mod.getNombre().equals(modulo)){
52 //modulo encontrado, ahora a buscar la declaracion
53 if(mod.getDeclaracion(nombre) != null){
54 return mod.getDeclaracion(nombre);
60 public AST Declaracion_interna(String nombre, String modulo){
61 ListIterator<Modulo> li = modulos.listIterator();
65 if(mod.getNombre().equals(modulo)){
66 //modulo encontrado, ahora a buscar la declaracion
67 if(mod.getDeclaracion_interna(nombre) != null){
68 return mod.getDeclaracion_interna(nombre);