Exemplo n.º 1
0
 def pp(self, packed=False):
   _tag = self.tag.pp(packed)
   _arity = self.arity.pp(packed)
   _pack = ppr.IStr(' Pack')
   _lbrace = ppr.IStr('{')
   _rbrace = ppr.IStr('}')
   _comma = ppr.IStr(', ')
   return ppr.sequence(_pack, _lbrace, _tag, _comma, _arity, _rbrace)
Exemplo n.º 2
0
 def pp(self, packed=False):
   pre = ppr.IStr('(') if packed else ppr.INil()
   post = ppr.IStr(')') if packed else ppr.INil()
   return ppr.sequence(pre, self.fun.pp(False), self.arg.pp(True), post)
Exemplo n.º 3
0
 def pp(self, packed=False):
   combinator_list = [combinator.pp() for combinator in self.supercombinators]
   _seq = ppr.ISequence(combinator_list)
   _nl = ppr.sequence(ppr.IStr(';'), ppr.INewline())
   return _seq.join(_nl)
Exemplo n.º 4
0
 def pp(self, packed=False):
   tag = ppr.sequence(ppr.IStr('<'), self.tag.pp(packed), ppr.IStr('> '))
   varlist = [var.pp(packed) for var in self.vars]
   expr = self.expr.pp(packed)
   return ppr.sequence(tag, ppr.ISequence(varlist), ppr.IWord('->'), expr)
Exemplo n.º 5
0
 def pp(self, packed=False):
   _lambda = ppr.IStr('\\')
   _dot = ppr.IStr('.')
   _par = self.par.pp(packed)
   _body = self.body.pp(packed)
   return ppr.sequence(_lambda, _par, _dot, _body)
Exemplo n.º 6
0
 def pp_alternatives(self, alternatives, packed):
   alts = ppr.ISequence([alt.pp(packed) for alt in alternatives])
   nl = ppr.sequence(ppr.IStr(';'), ppr.INewline())
   return alts.join(nl)
Exemplo n.º 7
0
 def pp_definitions(self, definitions, packed):
   _nl = ppr.sequence(ppr.IStr(';'), ppr.INewline())
   defs = ppr.ISequence([definition.pp(packed) for definition in definitions])
   return defs.join(_nl)