Exemple #1
0
 def if_else_branch(self):
     false_cond = self.pop()
     true_cond = self.pop()
     cond = self.pop()
     if cond:
         st = Stack(loader.substitute_tokens(true_cond), self.strings,
                    self.functions)
     else:
         st = Stack(loader.substitute_tokens(false_cond), self.strings,
                    self.functions)
Exemple #2
0
 def while_op(self):
     cond = self.pop()
     cond_address = self.pop()
     self.mem[cond_address] = True
     while self.mem[cond_address]:
         st = Stack(loader.substitute_tokens(cond), self.strings,
                    self.functions)
Exemple #3
0
 def for_op(self):
   cond = self.pop()
   end = self.pop()
   start = self.pop() 
   loop_index = self.pop()
   self.mem[loop_index] = start
   while int(self.mem[loop_index]) < num(end):
     st = Stack(loader.substitute_tokens(cond), self.strings, self.functions)
     self.mem[loop_index] = num(self.mem[loop_index]) + 1
Exemple #4
0
 def for_op(self):
     cond = self.pop()
     end = self.pop()
     start = self.pop()
     loop_index = self.pop()
     self.mem[loop_index] = start
     while int(self.mem[loop_index]) < num(end):
         st = Stack(loader.substitute_tokens(cond), self.strings,
                    self.functions)
         self.mem[loop_index] = num(self.mem[loop_index]) + 1
Exemple #5
0
 def if_branch(self):
   true_cond = self.pop()
   cond = self.pop()
   if cond: st = Stack(loader.substitute_tokens(true_cond), self.strings, self.functions)
Exemple #6
0
 def while_op(self):
   cond = self.pop()
   cond_address = self.pop()
   self.mem[cond_address] = True
   while self.mem[cond_address]:
     st = Stack(loader.substitute_tokens(cond), self.strings, self.functions)