Esempio n. 1
0
 def do_reload(self, args):
     "reload name: reload a simulation instance"
     if not args: return print_red('Usage: reload name')
     if args not in self.__contexts:
         return print_red('No instance named "%s"' % args)
     p = self.__contexts[args].get_program_path()
     self.__contexts[args] = SolverSimContext(p, self.__verbose)
     if args == self.__curr_ctx.get_program_name():
         self.__curr_ctx = self.__contexts[args]
Esempio n. 2
0
 def do_load(self, args):
     "load file [name]: load a program from file"
     if not args: return print_red('No program specified')
     s = args.split()
     if len(s) > 2: return print_red('Usage: load file [name]')
     program, name = s[0], s[1] if len(s) == 2 else None
     try:
         self.__curr_ctx = SolverSimContext(program, self.__verbose)
         if not name: name = self.__curr_ctx.get_program_name()
         self.__contexts[name] = self.__curr_ctx
         SolverDbgShell.prompt = '[%s] >> ' % name
     except IOError:
         print_red('Cannot open %s' % str(program))
Esempio n. 3
0
 def __init__(self, program=None):
     BaseShell.__init__(self)
     self.add_alias('restart', 'reset')
     self.add_alias('break', 'breakpoint')
     self.add_alias('b', 'breakpoint')
     self.add_alias('ctx', 'context')
     self.add_alias('mem', 'memory')
     self.__contexts = {}
     self.__curr_ctx = None
     self.__verbose = False
     self.__trace = False
     if program:
         self.__curr_ctx = SolverSimContext(program)
         self.__curr_ctx.load_program(program)
         self.__curr_ctx.set_verbose(self.__verbose)