pygen
Verfasst: Freitag 16. Februar 2007, 23:38
ich denke der code muesste selbsterkalerend sein
(nur sehr grob getestet!)
gruesse
costi
(nur sehr grob getestet!)
gruesse
costi
Code: Alles auswählen
class Pygen:
def __init__(self, bound = 5 * ' '):
self.bound = bound
self.level = 0
def _begin(self):
self.level += 1
#used for if, while, for and else
def _space2(self):
self.level += 1
return (self.level - 1) * self.bound
def _space1(self):
return self.level * self.bound
def Set(self, var1, var2):
return self._space1() + ', '.join(var1) + " = " + ', '.join(var2)
def Call(self, function, args):
return self._space1() + ".".join(function) + " (" + ", ".join(args) + ")"
def If(self, condition):
return self._space2() + "if " + condition + ":"
def End(self):
self.level -= 1
def For(self, var, condition):
return self._space2() + "for " + var + " " + condition + ":"
def While(self, condition):
return self._space2() + "while " + condition + ":"
def Def(self, def_name, args):
return self._space2() + "def " + def_name + " (" + ", ".join(args) + "):"
def ClassDef(self, def_name, args):
return self.iDef(def_name, ("self") + args)
def Else(self):
retval = self._space2() + "else:"
self.level += 1
return retval