new modules astbuilder, astvalidation, astprinter, and transform
[nit.git] / src / nit.nit
index 5c9f7e6..caaf869 100644 (file)
 module nit
 
 import modelbuilder
-import exprbuilder
+import frontend
+import transform
 import naive_interpreter
+import debugger
 #import interpretor_type_test
 
 # Create a tool context to handle options and paths
@@ -43,12 +45,17 @@ end
 var progname = arguments.first
 
 # Here we load an process all modules passed on the command line
-var mmodules = modelbuilder.parse_and_build([progname])
-modelbuilder.full_propdef_semantic_analysis
-
-if toolcontext.opt_only_metamodel.value then exit(0)
+var mmodules = modelbuilder.parse([progname])
+modelbuilder.run_phases
 
 # Here we launch the interpreter on the main module
 assert mmodules.length == 1
 var mainmodule = mmodules.first
-modelbuilder.run_naive_interpreter(mainmodule, arguments)
+
+if toolcontext.opt_debugger_autorun.value then
+       modelbuilder.run_debugger_autorun(mainmodule, arguments)
+else if toolcontext.opt_debugger_mode.value then
+       modelbuilder.run_debugger(mainmodule, arguments)
+else
+       modelbuilder.run_naive_interpreter(mainmodule, arguments)
+end