Beispiel #1
0
 def var(self, ast):
     if isinstance(ast.idn, list):
         bind = pi.Bind(ast.idn[0], pi.Ref(ast.e[0]))
         for i in range(1, len(ast.idn)):
             bind = pi.DSeq(bind, pi.Bind(ast.idn[i], pi.Ref(ast.e[i])))
         return bind
     else:
         return pi.Bind(ast.idn, pi.Ref(ast.e))
Beispiel #2
0
 def var(self, ast):
     return pi.Bind(ast.id, pi.Ref(ast.e))
Beispiel #3
0
 def const(self, ast):
     return pi.Bind(ast.idn, ast.e)
Beispiel #4
0
 def cnst(self, ast):
     return pi.Bind(ast.id, ast.e)