parser: `Visitor::visit` does not accepts `null`
[nit.git] / src / nit.nit
index 5c9f7e6..e3d6f6d 100644 (file)
@@ -18,8 +18,9 @@
 module nit
 
 import modelbuilder
-import exprbuilder
+import frontend
 import naive_interpreter
+import debugger
 #import interpretor_type_test
 
 # Create a tool context to handle options and paths
@@ -43,12 +44,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