@@ -35,53 +35,45 @@ ltl_sva_to_stringt::suffix(std::string s, const exprt &expr, modet mode)
3535{
3636 auto op_rec = rec (to_unary_expr (expr).op (), mode);
3737
38- auto new_e = to_unary_expr (expr);
39- new_e.op () = op_rec.e ;
40-
4138 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};
4340 else
44- return resultt{precedencet::SUFFIX, ' (' + op_rec.s + ' )' + s, new_e };
41+ return resultt{precedencet::SUFFIX, ' (' + op_rec.s + ' )' + s};
4542}
4643
4744ltl_sva_to_stringt::resultt
4845ltl_sva_to_stringt::prefix (std::string s, const exprt &expr, modet mode)
4946{
5047 auto op_rec = rec (to_unary_expr (expr).op (), mode);
5148
52- auto new_e = to_unary_expr (expr);
53- new_e.op () = op_rec.e ;
54-
5549 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 };
5751 else
58- return resultt{precedencet::PREFIX, s + ' (' + op_rec.s + ' )' , new_e };
52+ return resultt{precedencet::PREFIX, s + ' (' + op_rec.s + ' )' };
5953}
6054
6155ltl_sva_to_stringt::resultt
6256ltl_sva_to_stringt::infix (std::string s, const exprt &expr, modet mode)
6357{
6458 std::string result;
6559 bool first = true ;
66- exprt new_e = expr; // copy
6760
68- for (auto &op : new_e .operands ())
61+ for (auto &op : expr .operands ())
6962 {
7063 if (first)
7164 first = false ;
7265 else
7366 result += s;
7467
7568 auto op_rec = rec (op, mode);
76- op = op_rec.e ;
7769
7870 if (op_rec.p == precedencet::ATOM)
7971 result += op_rec.s ;
8072 else
8173 result += ' (' + op_rec.s + ' )' ;
8274 }
8375
84- return resultt{precedencet::INFIX, result, new_e };
76+ return resultt{precedencet::INFIX, result};
8577}
8678
8779ltl_sva_to_stringt::resultt
@@ -110,12 +102,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
110102 else if (expr.is_true ())
111103 {
112104 // 1 is preferred, but G1 is parsed as an atom
113- return resultt{precedencet::ATOM, " true" , expr };
105+ return resultt{precedencet::ATOM, " true" };
114106 }
115107 else if (expr.is_false ())
116108 {
117109 // 0 is preferred, but G0 is parsed as an atom
118- return resultt{precedencet::ATOM, " false" , expr };
110+ return resultt{precedencet::ATOM, " false" };
119111 }
120112 else if (expr.id () == ID_F)
121113 {
@@ -309,7 +301,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
309301 // weak closure
310302 auto &sequence = to_sva_sequence_property_expr_base (expr).sequence ();
311303 auto op_rec = rec (sequence, SVA_SEQUENCE);
312- return resultt{precedencet::ATOM, ' {' + op_rec.s + ' }' , expr };
304+ return resultt{precedencet::ATOM, ' {' + op_rec.s + ' }' };
313305 }
314306 else if (expr.id () == ID_sva_or)
315307 {
@@ -551,9 +543,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
551543 // a0, a1, a2, a3, a4, ...
552544 std::string s = " a" + std::to_string (number);
553545
554- symbol_exprt new_e{s, expr.type ()};
555-
556- return resultt{precedencet::ATOM, s, new_e};
546+ return resultt{precedencet::ATOM, s};
557547 }
558548 else
559549 throw ebmc_errort{} << " cannot convert " << expr.id () << " to Buechi" ;
0 commit comments