def default(self, line): """Called on an input line when the command prefix is not recognized. This method automatically adds the command as undefined word, and recurse on argument (until one known command is found). """ # lets extract the command cmd, arg, line = self.parseline(line) if cmd: # checking for '' # an add it to the stack (PUSH) stk_set(cmd, *stk_get())
def do_rot(self, arg): stk_set(*rot(*stk_get()))
def do_over(self, arg): stk_set(*over(*stk_get()))
def do_swap(self, arg): stk_set(*swap(*stk_get()))
def do_drop(self, arg): stk_set(*drop(*stk_get()))
def do_dup(self, arg): """duplicates its argument and push it up to the stack. Extra arguments are treated before, following stack semantics. This might seem a bit confusing and might be improved by switching prefix/postfix input semantics and repl design... """ stk_set(*dup(*stk_get()))