Esempio n. 1
0
 def parse(self,c):
     c.pushcode(code.push_int(0))
     c.pushcode(code.variable("arg"))
     c.pushcode(code.argument())
     while (self.t.checkNext()):
         self.Statement(c)
     return 0
Esempio n. 2
0
 def getterm(self,c):
     n = self.t.checkNext()
     if (n == "("):
         self.t.getNext()
         self.Expression(c, ")")
     elif (n == "-"):
         self.t.getNext()
         c.pushcode(code.minus())
         self.getterm(c)
     elif (n == "int"):
         self.t.getNext()
         c.pushcode(code.push_int(self.t.data))
         self.getSuff(c)
     elif (n == "string"):
         self.t.getNext()
         c.pushcode(code.push_string(self.t.data))
         self.getSuff(c)
     elif (n == "identifier"):
         self.t.getNext()
         c.pushcode(code.variable(self.t.data))
         self.getSuff(c)
     else:
         self.error("error!")
         self.t.getNext()