@@ -35,53 +35,45 @@ ltl_sva_to_stringt::suffix(std::string s, const exprt &expr, modet mode)
35
35
{
36
36
auto op_rec = rec (to_unary_expr (expr).op (), mode);
37
37
38
- auto new_e = to_unary_expr (expr);
39
- new_e.op () = op_rec.e ;
40
-
41
38
if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::SUFFIX)
42
- return resultt{precedencet::SUFFIX, op_rec.s + s, new_e };
39
+ return resultt{precedencet::SUFFIX, op_rec.s + s};
43
40
else
44
- return resultt{precedencet::SUFFIX, ' (' + op_rec.s + ' )' + s, new_e };
41
+ return resultt{precedencet::SUFFIX, ' (' + op_rec.s + ' )' + s};
45
42
}
46
43
47
44
ltl_sva_to_stringt::resultt
48
45
ltl_sva_to_stringt::prefix (std::string s, const exprt &expr, modet mode)
49
46
{
50
47
auto op_rec = rec (to_unary_expr (expr).op (), mode);
51
48
52
- auto new_e = to_unary_expr (expr);
53
- new_e.op () = op_rec.e ;
54
-
55
49
if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::PREFIX)
56
- return resultt{precedencet::PREFIX, s + op_rec.s , new_e };
50
+ return resultt{precedencet::PREFIX, s + op_rec.s };
57
51
else
58
- return resultt{precedencet::PREFIX, s + ' (' + op_rec.s + ' )' , new_e };
52
+ return resultt{precedencet::PREFIX, s + ' (' + op_rec.s + ' )' };
59
53
}
60
54
61
55
ltl_sva_to_stringt::resultt
62
56
ltl_sva_to_stringt::infix (std::string s, const exprt &expr, modet mode)
63
57
{
64
58
std::string result;
65
59
bool first = true ;
66
- exprt new_e = expr; // copy
67
60
68
- for (auto &op : new_e .operands ())
61
+ for (auto &op : expr .operands ())
69
62
{
70
63
if (first)
71
64
first = false ;
72
65
else
73
66
result += s;
74
67
75
68
auto op_rec = rec (op, mode);
76
- op = op_rec.e ;
77
69
78
70
if (op_rec.p == precedencet::ATOM)
79
71
result += op_rec.s ;
80
72
else
81
73
result += ' (' + op_rec.s + ' )' ;
82
74
}
83
75
84
- return resultt{precedencet::INFIX, result, new_e };
76
+ return resultt{precedencet::INFIX, result};
85
77
}
86
78
87
79
ltl_sva_to_stringt::resultt
@@ -110,12 +102,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
110
102
else if (expr.is_true ())
111
103
{
112
104
// 1 is preferred, but G1 is parsed as an atom
113
- return resultt{precedencet::ATOM, " true" , expr };
105
+ return resultt{precedencet::ATOM, " true" };
114
106
}
115
107
else if (expr.is_false ())
116
108
{
117
109
// 0 is preferred, but G0 is parsed as an atom
118
- return resultt{precedencet::ATOM, " false" , expr };
110
+ return resultt{precedencet::ATOM, " false" };
119
111
}
120
112
else if (expr.id () == ID_F)
121
113
{
@@ -309,7 +301,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
309
301
// weak closure
310
302
auto &sequence = to_sva_sequence_property_expr_base (expr).sequence ();
311
303
auto op_rec = rec (sequence, SVA_SEQUENCE);
312
- return resultt{precedencet::ATOM, ' {' + op_rec.s + ' }' , expr };
304
+ return resultt{precedencet::ATOM, ' {' + op_rec.s + ' }' };
313
305
}
314
306
else if (expr.id () == ID_sva_or)
315
307
{
@@ -551,9 +543,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
551
543
// a0, a1, a2, a3, a4, ...
552
544
std::string s = " a" + std::to_string (number);
553
545
554
- symbol_exprt new_e{s, expr.type ()};
555
-
556
- return resultt{precedencet::ATOM, s, new_e};
546
+ return resultt{precedencet::ATOM, s};
557
547
}
558
548
else
559
549
throw ebmc_errort{} << " cannot convert " << expr.id () << " to Buechi" ;
0 commit comments