def ParseFor(self,c): v = variable.variable() if self.t.checkNext() != "(": self.error("error for (") else: self.t.getNext() if self.t.checkNext() != ";": self.Expression(v, ";") l = len(v.x.code.c) else: self.t.getNext() if self.t.checkNext() != ";": self.Expression(v, ";") oc = code.jrf() v.pushcode(oc) b = len(v.x.code.c) else: self.t.getNext() x = variable.variable() if self.t.checkNext() != ")": self.Expression(x, ")") else: self.t.getNext() self.Statement(v) if x.x.code: v.x.code.c += x.x.code.c v.pushcode(code.jr(l-len(v.x.code.c)-1)) if oc: oc.j = len(v.x.code.c)-b c.x.code.c += v.x.code.c
def ParseIf(self,c): v = variable.variable() if self.t.checkNext() != "(": self.error("error if (") else: self.t.getNext() self.Expression(v, ")") if v.x.code: oc = code.jrf() v.pushcode(oc) b = len(v.x.code.c) self.Statement(v) if oc: oc.j = len(v.x.code.c) - b c.x.code.c += v.x.code.c