Remove parentheses for prefix ops without args (#2082)
authorAndres Noetzli <andres.noetzli@gmail.com>
Mon, 25 Jun 2018 17:57:26 +0000 (10:57 -0700)
committerGitHub <noreply@github.com>
Mon, 25 Jun 2018 17:57:26 +0000 (10:57 -0700)
commit4d87f13c473d8c8b9fc47b7823157ea8c57d3f89
tree56c3331f60b96bed9f4beb9b5a7b30f979371cf3
parent5f997ea7363bd29ae53b57051ebac8d1da8f9439
Remove parentheses for prefix ops without args (#2082)

In the CVC printer, function definitions without arguments are printed
like constants but when actually using that function we were printing in
the form of `x()`.

For example:

```
(set-logic QF_BV)
(define-fun x1480 () Bool true)
(define-fun x2859 () Bool true)
(define-fun x2387 () Bool x2859)
(check-sat)
```

Was dumped as:

```
OPTION "incremental" false;
OPTION "logic" "QF_BV";
x1480 : BOOLEAN = TRUE;
x2859 : BOOLEAN = TRUE;
x2387 : BOOLEAN = x2859();
```

This commit removes these parentheses when prefix functions with zero arguments
are printed, so the example above becomes:

```
OPTION "incremental" false;
OPTION "logic" "QF_BV";
x1480 : BOOLEAN = TRUE;
x2859 : BOOLEAN = TRUE;
x2387 : BOOLEAN = x2859();
```
src/printer/cvc/cvc_printer.cpp