Exemple #1
0
    def __init__(self, stream, env=None):
        TreeWalker.__init__(self, env=env)
        self.stream = stream
        self.write = self.stream.write

        self.set_function(partial(self._walk_nary, " & "), op.AND, op.BV_AND)
        self.set_function(partial(self._walk_nary, " | "), op.OR, op.BV_OR)
        self.set_function(partial(self._walk_nary, " + "), op.PLUS, op.BV_ADD)
        self.set_function(partial(self._walk_nary, " * "), op.TIMES, op.BV_MUL)
        self.set_function(partial(self._walk_nary, " / "), op.DIV)
        self.set_function(partial(self._walk_nary, " ^ "), op.POW)
        self.set_function(partial(self._walk_nary, " <-> "), op.IFF)
        self.set_function(partial(self._walk_nary, " -> "), op.IMPLIES)
        self.set_function(partial(self._walk_nary, " - "), op.MINUS, op.BV_SUB)
        self.set_function(partial(self._walk_nary, " = "), op.EQUALS)
        self.set_function(partial(self._walk_nary, " <= "), op.LE)
        self.set_function(partial(self._walk_nary, " < "), op.LT)

        self.set_function(partial(self._walk_nary, " xor "), op.BV_XOR)
        self.set_function(partial(self._walk_nary, "::"), op.BV_CONCAT)
        self.set_function(partial(self._walk_nary, " u/ "), op.BV_UDIV)
        self.set_function(partial(self._walk_nary, " u% "), op.BV_UREM)
        self.set_function(partial(self._walk_nary, " s/ "), op.BV_SDIV)
        self.set_function(partial(self._walk_nary, " s% "), op.BV_SREM)
        self.set_function(partial(self._walk_nary, " s<= "), op.BV_SLE)
        self.set_function(partial(self._walk_nary, " s< "), op.BV_SLT)
        self.set_function(partial(self._walk_nary, " u<= "), op.BV_ULE)
        self.set_function(partial(self._walk_nary, " u< "), op.BV_ULT)
        self.set_function(partial(self._walk_nary, " << "), op.BV_LSHL)
        self.set_function(partial(self._walk_nary, " >> "), op.BV_LSHR)
        self.set_function(partial(self._walk_nary, " a>> "), op.BV_ASHR)
        self.set_function(partial(self._walk_nary, " bvcomp "), op.BV_COMP)
        self.set_function(self.walk_not, op.BV_NOT)
Exemple #2
0
    def __init__(self, stream, env=None):
        TreeWalker.__init__(self, env=env)
        self.stream = stream
        self.write = self.stream.write

        self.set_function(partial(self._walk_nary, " & "), op.AND, op.BV_AND)
        self.set_function(partial(self._walk_nary, " | "), op.OR, op.BV_OR)
        self.set_function(partial(self._walk_nary, " + "), op.PLUS, op.BV_ADD)
        self.set_function(partial(self._walk_nary, " * "), op.TIMES, op.BV_MUL)
        self.set_function(partial(self._walk_nary, " / "), op.DIV)
        self.set_function(partial(self._walk_nary, " ^ "), op.POW)
        self.set_function(partial(self._walk_nary, " <-> "), op.IFF)
        self.set_function(partial(self._walk_nary, " -> "), op.IMPLIES)
        self.set_function(partial(self._walk_nary, " - "), op.MINUS, op.BV_SUB)
        self.set_function(partial(self._walk_nary, " = "), op.EQUALS)
        self.set_function(partial(self._walk_nary, " <= "), op.LE)
        self.set_function(partial(self._walk_nary, " < "), op.LT)

        self.set_function(partial(self._walk_nary, " xor "), op.BV_XOR)
        self.set_function(partial(self._walk_nary, "::"), op.BV_CONCAT)
        self.set_function(partial(self._walk_nary, " u/ "), op.BV_UDIV)
        self.set_function(partial(self._walk_nary, " u% "), op.BV_UREM)
        self.set_function(partial(self._walk_nary, " s/ "), op.BV_SDIV)
        self.set_function(partial(self._walk_nary, " s% "), op.BV_SREM)
        self.set_function(partial(self._walk_nary, " s<= "), op.BV_SLE)
        self.set_function(partial(self._walk_nary, " s< "), op.BV_SLT)
        self.set_function(partial(self._walk_nary, " u<= "), op.BV_ULE)
        self.set_function(partial(self._walk_nary, " u< "), op.BV_ULT)
        self.set_function(partial(self._walk_nary, " << "), op.BV_LSHL)
        self.set_function(partial(self._walk_nary, " >> "), op.BV_LSHR)
        self.set_function(partial(self._walk_nary, " a>> "), op.BV_ASHR)
        self.set_function(partial(self._walk_nary, " bvcomp "), op.BV_COMP)
        self.set_function(self.walk_not, op.BV_NOT)
Exemple #3
0
    def __init__(self, stream):
        TreeWalker.__init__(self)
        self.stream = stream
        self.write = self.stream.write

        self.functions[op.FORALL] = self.walk_forall
        self.functions[op.EXISTS] = self.walk_exists
        self.functions[op.SYMBOL] = self.walk_symbol
        self.functions[op.FUNCTION] = self.walk_function
        self.functions[op.REAL_CONSTANT] = self.walk_real_constant
        self.functions[op.BOOL_CONSTANT] = self.walk_bool_constant
        self.functions[op.INT_CONSTANT] = self.walk_int_constant

        self.functions[op.AND] = partial(self._walk_nary, "and")
        self.functions[op.OR] = partial(self._walk_nary, "or")
        self.functions[op.NOT] = partial(self._walk_nary, "not")
        self.functions[op.IMPLIES] = partial(self._walk_nary, "=>")
        self.functions[op.IFF] = partial(self._walk_nary, "=")
        self.functions[op.PLUS]   = partial(self._walk_nary, "+")
        self.functions[op.MINUS]  = partial(self._walk_nary, "-")
        self.functions[op.TIMES]  = partial(self._walk_nary, "*")
        self.functions[op.EQUALS] = partial(self._walk_nary, "=")
        self.functions[op.LE]     = partial(self._walk_nary, "<=")
        self.functions[op.LT]     = partial(self._walk_nary, "<")
        self.functions[op.ITE]    = partial(self._walk_nary, "ite")
        self.functions[op.TOREAL] = partial(self._walk_nary, "to_real")
Exemple #4
0
 def __init__(self, stream, annotations=None):
     TreeWalker.__init__(self)
     self.stream = stream
     self.write = self.stream.write
     self.mgr = get_env().formula_manager
     if not annotations:
         self.annotations = Annotations()
     else:
         self.annotations = annotations
Exemple #5
0
    def __init__(self, stream):
        TreeWalker.__init__(self)
        self.stream = stream
        self.write = self.stream.write
        self.mgr = get_env().formula_manager

        self.set_function(partial(self._walk_nary, "and"), op.AND)
        self.set_function(partial(self._walk_nary, "or"), op.OR)
        self.set_function(partial(self._walk_nary, "not"), op.NOT)
        self.set_function(partial(self._walk_nary, "=>"), op.IMPLIES)
        self.set_function(partial(self._walk_nary, "="), op.IFF)
        self.set_function(partial(self._walk_nary, "+"), op.PLUS)
        self.set_function(partial(self._walk_nary, "-"), op.MINUS)
        self.set_function(partial(self._walk_nary, "*"), op.TIMES)
        self.set_function(partial(self._walk_nary, "="), op.EQUALS)
        self.set_function(partial(self._walk_nary, "<="), op.LE)
        self.set_function(partial(self._walk_nary, "<"), op.LT)
        self.set_function(partial(self._walk_nary, "ite"), op.ITE)
        self.set_function(partial(self._walk_nary, "to_real"), op.TOREAL)
        self.set_function(partial(self._walk_nary, "/"), op.DIV)
        self.set_function(partial(self._walk_nary, "pow"), op.POW)

        self.set_function(partial(self._walk_nary, "bvand"), op.BV_AND)
        self.set_function(partial(self._walk_nary, "bvor"), op.BV_OR)
        self.set_function(partial(self._walk_nary, "bvnot"), op.BV_NOT)
        self.set_function(partial(self._walk_nary, "bvxor"), op.BV_XOR)
        self.set_function(partial(self._walk_nary, "bvadd"), op.BV_ADD)
        self.set_function(partial(self._walk_nary, "bvsub"), op.BV_SUB)
        self.set_function(partial(self._walk_nary, "bvneg"), op.BV_NEG)
        self.set_function(partial(self._walk_nary, "bvmul"), op.BV_MUL)
        self.set_function(partial(self._walk_nary, "bvudiv"), op.BV_UDIV)
        self.set_function(partial(self._walk_nary, "bvurem"), op.BV_UREM)
        self.set_function(partial(self._walk_nary, "bvshl"), op.BV_LSHL)
        self.set_function(partial(self._walk_nary, "bvlshr"), op.BV_LSHR)
        self.set_function(partial(self._walk_nary, "bvult"), op.BV_ULT)
        self.set_function(partial(self._walk_nary, "bvule"), op.BV_ULE)
        self.set_function(partial(self._walk_nary, "bvslt"), op.BV_SLT)
        self.set_function(partial(self._walk_nary, "bvsle"), op.BV_SLE)
        self.set_function(partial(self._walk_nary, "concat"), op.BV_CONCAT)
        self.set_function(partial(self._walk_nary, "bvcomp"), op.BV_COMP)
        self.set_function(partial(self._walk_nary, "bvashr"), op.BV_ASHR)
        self.set_function(partial(self._walk_nary, "bvsdiv"), op.BV_SDIV)
        self.set_function(partial(self._walk_nary, "bvsrem"), op.BV_SREM)
        self.set_function(self.walk_bv_extract, op.BV_EXTRACT)
        self.set_function(self.walk_bv_rotate, op.BV_ROR)
        self.set_function(self.walk_bv_rotate, op.BV_ROL)
        self.set_function(self.walk_bv_extend, op.BV_ZEXT)
        self.set_function(self.walk_bv_extend, op.BV_SEXT)

        self.set_function(partial(self._walk_nary, "select"), op.ARRAY_SELECT)
        self.set_function(partial(self._walk_nary, "store"), op.ARRAY_STORE)
Exemple #6
0
 def __init__(self, stream):
     TreeWalker.__init__(self)
     self.stream = stream
     self.write = self.stream.write
     self.mgr = get_env().formula_manager
Exemple #7
0
 def __init__(self, stream, env=None):
     TreeWalker.__init__(self, env=env)
     self.stream = stream
     self.write = self.stream.write
Exemple #8
0
 def __init__(self, stream):
     TreeWalker.__init__(self)
     self.stream = stream
     return
Exemple #9
0
 def __init__(self, stream, env=None, pretty=False):
     TreeWalker.__init__(self, env=env)
     self.stream = stream
     self.write = self.stream.write
     self.pretty = pretty
Exemple #10
0
 def __init__(self, stream):
     TreeWalker.__init__(self)
     self.stream = stream
     self.write = self.stream.write
Exemple #11
0
 def __init__(self, stream):
     TreeWalker.__init__(self)
     self.stream = stream
     self.write = self.stream.write