From 7990da37f3b3971dc1d27682dcaf3a6da257dd4a Mon Sep 17 00:00:00 2001 From: Lucas Bajolet Date: Thu, 14 Mar 2013 14:55:57 -0400 Subject: [PATCH] nitdbg: Added capacity to interpret with debugger in nit.nit Signed-off-by: Lucas BAJOLET --- src/debugger.nit | 11 +++++++++++ src/nit.nit | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) 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 -- 1.7.9.5