Creo que ya tengo la resolución de nombres, sin importación de módulos aún, pero...
[PL2.git] / AnaSem.g
index 103429a..9e48604 100755 (executable)
--- a/AnaSem.g
+++ b/AnaSem.g
@@ -491,7 +491,6 @@ options{
                                System.out.println("ERROR CT: Los tipos no son compatibles ("+tipo_var.getText()+" y "+interior.getText()+")");\r
                        return null;\r
                }\r
                                System.out.println("ERROR CT: Los tipos no son compatibles ("+tipo_var.getText()+" y "+interior.getText()+")");\r
                        return null;\r
                }\r
-               //hay que comprobar que la clase es instanciable, y que el tipo es clase\r
 \r
                result.setLVal(false);\r
                result.setRVal(false);\r
 \r
                result.setLVal(false);\r
                result.setRVal(false);\r
@@ -555,9 +554,20 @@ declaracion_modulo: #(MODULO nombre_modulo definicion_modulo);
 \r
 nombre_modulo : IDENT ;\r
 \r
 \r
 nombre_modulo : IDENT ;\r
 \r
-definicion_modulo: lista_declaraciones_clases\r
+definicion_modulo:\r
+       (importacion)?\r
+       (exportacion)+\r
+       (implementacion)?\r
 ;\r
 \r
 ;\r
 \r
+importacion : #(IMPORTACION lista_ident);\r
+lista_ident: (IDENT)+;\r
+\r
+exportacion : #(EXPORTACION lista_declaraciones_clases);\r
+\r
+implementacion : #(IMPLEMENTACION lista_declaraciones_clases);\r
+\r
+\r
 lista_declaraciones_clases: (declaracion_clase)*\r
 ;\r
 \r
 lista_declaraciones_clases: (declaracion_clase)*\r
 ;\r
 \r