예제 #1
0
파일: printers.py 프로젝트: zenbhang/pysmt
    def printer(self, f):
        self.openings = 0
        self.name_seed = 0
        self.names = set(quote(x.symbol_name()) for x in f.get_free_variables())

        key = self.walk(f)
        self.write(key)
        self.write(")" * self.openings)
예제 #2
0
    def _walk_quantifier(self, operator, formula, args):
        assert args is None
        assert len(formula.quantifier_vars()) > 0
        sym = self._new_symbol()
        self.openings += 1

        self.write("(let ((%s (%s (" % (sym, operator))

        for s in formula.quantifier_vars():
            self.write("(")
            self.write(quote(s.symbol_name()))
            self.write(" %s)" % s.symbol_type().as_smtlib(False))
        self.write(") ")

        subprinter = SmtDagPrinter(self.stream)
        subprinter.printer(formula.arg(0))

        self.write(")))")
        return sym
예제 #3
0
파일: printers.py 프로젝트: agriggio/pysmt
    def _walk_quantifier(self, operator, formula, args):
        assert args is None
        assert len(formula.quantifier_vars()) > 0
        sym = self._new_symbol()
        self.openings += 1

        self.write("(let ((%s (%s (" % (sym, operator))

        for s in formula.quantifier_vars():
            self.write("(")
            self.write(quote(s.symbol_name()))
            self.write(" %s)" % s.symbol_type().as_smtlib(False))
        self.write(") ")

        subprinter = SmtDagPrinter(self.stream)
        subprinter.printer(formula.arg(0))

        self.write(")))")
        return sym
예제 #4
0
 def walk_symbol(self, formula, **kwargs):
     return quote(formula.symbol_name())
예제 #5
0
 def walk_symbol(self, formula):
     self.write(quote(formula.symbol_name()))
예제 #6
0
 def walk_function(self, formula, args, **kwargs):
     return self.walk_nary(formula, args,
                           quote(formula.function_name().symbol_name()))
예제 #7
0
파일: printers.py 프로젝트: pysmt/pysmt
 def walk_symbol(self, formula):
     self.write(quote(formula.symbol_name(), style="'"))
예제 #8
0
 def walk_symbol(self, formula):
     self.write(quote(formula.symbol_name().replace("__", ""), style="'"))
예제 #9
0
 def walk_symbol(self, formula):
     self.write(quote(formula.symbol_name(), style='"'))
예제 #10
0
파일: printers.py 프로젝트: agriggio/pysmt
 def walk_symbol(self, formula):
     self.write(quote(formula.symbol_name()))
예제 #11
0
파일: printers.py 프로젝트: agriggio/pysmt
 def walk_symbol(self, formula, **kwargs):
     return quote(formula.symbol_name())