Пример #1
0
 def emptyline(self):
     """
     Called when the input line is empty
     This executes one computation on the existing stack
     :return:
     """
     stkline = " ".join(stk_get())
     if stkline:
         self.onecmd(stkline)
Пример #2
0
 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())
Пример #3
0
 def do_rot(self, arg):
     stk_set(*rot(*stk_get()))
Пример #4
0
 def do_over(self, arg):
     stk_set(*over(*stk_get()))
Пример #5
0
 def do_swap(self, arg):
     stk_set(*swap(*stk_get()))
Пример #6
0
 def do_drop(self, arg):
     stk_set(*drop(*stk_get()))
Пример #7
0
 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()))
Пример #8
0
 def prompt_refresh(self):
     # note : we need the reversed stack for a left prompt
     self.prompt = " ".join(reversed(tuple(stk_get()))) + ' '