From: Lucas Bajolet Date: Thu, 14 Mar 2013 18:55:57 +0000 (-0400) Subject: nitdbg: Added capacity to interpret with debugger in nit.nit X-Git-Tag: v0.6~79^2~54 X-Git-Url: http://nitlanguage.org nitdbg: Added capacity to interpret with debugger in nit.nit Signed-off-by: Lucas BAJOLET --- diff --git a/src/debugger.nit b/src/debugger.nit index ca4acb0..b610c61 100644 --- a/src/debugger.nit +++ b/src/debugger.nit @@ -19,6 +19,17 @@ module debugger intrude import naive_interpreter +redef class ToolContext + # -d + var opt_debugger_mode: OptionBool = new OptionBool("Launches the target program with the debugger attached to it", "-d") + + redef init + do + super + self.option_context.add_option(self.opt_debugger_mode) + end +end + redef class ModelBuilder # Execute the program from the entry point (Sys::main) of the `mainmodule' # `arguments' are the command-line arguments in order diff --git a/src/nit.nit b/src/nit.nit index 5c9f7e6..eca3d4f 100644 --- a/src/nit.nit +++ b/src/nit.nit @@ -20,6 +20,7 @@ module nit import modelbuilder import exprbuilder import naive_interpreter +import debugger #import interpretor_type_test # Create a tool context to handle options and paths @@ -51,4 +52,9 @@ if toolcontext.opt_only_metamodel.value then exit(0) # 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_mode.value then + modelbuilder.run_debugger(mainmodule, arguments) +else + modelbuilder.run_naive_interpreter(mainmodule, arguments) +end