rename 'package' to 'module'
[nit.git] / src / syntax / syntax.nit
index 06c3bcb..2c65d15 100644 (file)
 
 # Full syntax analysis of NIT AST.
 # Detect syntax and some metamodel errors.
-package syntax
+module syntax
 
 import mmloader
 import mmbuilder
 import typing
 import icode_generation
+import extern_inline
+import extern_type_inheritance
 
 # Loader of nit source files
 class SrcModuleLoader
-special ModuleLoader
+       super ModuleLoader
        redef type MODULE: MMSrcModule
 
        redef fun file_type do return "nit"
@@ -39,10 +41,11 @@ special ModuleLoader
                        break
                end
                if not name_is_valid then
-                       context.error( null, "{filename}: Error package name \"{name}\", must start with a lower case letter and contain only letters, digits and '_'." )
+                       context.error( null, "{filename}: Error module name \"{name}\", must start with a lower case letter and contain only letters, digits and '_'." )
                end
 
-               var lexer = new Lexer(file, filename)
+               var source = new SourceFile(filename, file)
+               var lexer = new Lexer(source)
                var parser = new Parser(lexer)
                var node_tree = parser.parse
                if node_tree.n_base == null then
@@ -52,16 +55,16 @@ special ModuleLoader
                end
                var node_module = node_tree.n_base
                assert node_module != null
-               var module_loc = new Location.with_file(filename)
-               var module = new MMSrcModule(context, node_module, dir, name, module_loc)
-               return module
+               var module_loc = new Location.with_file(source)
+               var mod = new MMSrcModule(context, node_module, dir, name, module_loc)
+               return mod
        end
 
-       redef fun process_metamodel(context, module)
+       redef fun process_metamodel(context, mod)
        do
-               module.process_supermodules(context)
-               context.info("Syntax analysis for module: {module.name}", 2)
-               module.process_syntax(context)
+               mod.process_supermodules(context)
+               context.info("Syntax analysis for module: {mod.name}", 2)
+               mod.process_syntax(context)
        end
 
        init do end