@@ -31,9 +31,9 @@ exprt ltl_sva_to_stringt::atom(const std::string &string) const
31
31
}
32
32
33
33
ltl_sva_to_stringt::resultt
34
- ltl_sva_to_stringt::suffix (std::string s, const exprt &expr, modet mode)
34
+ ltl_sva_to_stringt::suffix (std::string s, const unary_exprt &expr, modet mode)
35
35
{
36
- auto op_rec = rec (to_unary_expr ( expr) .op (), mode);
36
+ auto op_rec = rec (expr.op (), mode);
37
37
38
38
if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::SUFFIX)
39
39
return resultt{precedencet::SUFFIX, op_rec.s + s};
@@ -42,9 +42,9 @@ ltl_sva_to_stringt::suffix(std::string s, const exprt &expr, modet mode)
42
42
}
43
43
44
44
ltl_sva_to_stringt::resultt
45
- ltl_sva_to_stringt::prefix (std::string s, const exprt &expr, modet mode)
45
+ ltl_sva_to_stringt::prefix (std::string s, const unary_exprt &expr, modet mode)
46
46
{
47
- auto op_rec = rec (to_unary_expr ( expr) .op (), mode);
47
+ auto op_rec = rec (expr.op (), mode);
48
48
49
49
if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::PREFIX)
50
50
return resultt{precedencet::PREFIX, s + op_rec.s };
@@ -97,7 +97,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
97
97
}
98
98
else if (expr.id () == ID_not)
99
99
{
100
- return prefix (" !" , expr, mode);
100
+ return prefix (" !" , to_not_expr ( expr) , mode);
101
101
}
102
102
else if (expr.is_true ())
103
103
{
@@ -112,17 +112,17 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
112
112
else if (expr.id () == ID_F)
113
113
{
114
114
PRECONDITION (mode == PROPERTY);
115
- return prefix (" F" , expr, mode);
115
+ return prefix (" F" , to_F_expr ( expr) , mode);
116
116
}
117
117
else if (expr.id () == ID_G)
118
118
{
119
119
PRECONDITION (mode == PROPERTY);
120
- return prefix (" G" , expr, mode);
120
+ return prefix (" G" , to_G_expr ( expr) , mode);
121
121
}
122
122
else if (expr.id () == ID_X)
123
123
{
124
124
PRECONDITION (mode == PROPERTY);
125
- return prefix (" X" , expr, mode);
125
+ return prefix (" X" , to_X_expr ( expr) , mode);
126
126
}
127
127
else if (expr.id () == ID_U)
128
128
{
@@ -147,7 +147,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
147
147
else if (expr.id () == ID_sva_always)
148
148
{
149
149
PRECONDITION (mode == PROPERTY);
150
- return prefix (" G" , expr, mode);
150
+ return prefix (" G" , to_sva_always_expr ( expr) , mode);
151
151
}
152
152
else if (expr.id () == ID_sva_ranged_always)
153
153
{
@@ -186,7 +186,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
186
186
else if (expr.id () == ID_sva_s_eventually)
187
187
{
188
188
PRECONDITION (mode == PROPERTY);
189
- return prefix (" F" , expr, mode);
189
+ return prefix (" F" , to_sva_s_eventually_expr ( expr) , mode);
190
190
}
191
191
else if (
192
192
expr.id () == ID_sva_ranged_s_eventually || expr.id () == ID_sva_eventually)
@@ -212,12 +212,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
212
212
else if (expr.id () == ID_sva_s_nexttime)
213
213
{
214
214
PRECONDITION (mode == PROPERTY);
215
- return prefix (" X" , expr, mode);
215
+ return prefix (" X" , to_sva_s_nexttime_expr ( expr) , mode);
216
216
}
217
217
else if (expr.id () == ID_sva_nexttime)
218
218
{
219
219
PRECONDITION (mode == PROPERTY);
220
- return prefix (" X" , expr, mode);
220
+ return prefix (" X" , to_sva_nexttime_expr ( expr) , mode);
221
221
}
222
222
else if (expr.id () == ID_sva_overlapped_implication)
223
223
{
@@ -422,12 +422,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
422
422
else if (expr.id () == ID_sva_cycle_delay_star) // ##[*] something
423
423
{
424
424
PRECONDITION (mode == SVA_SEQUENCE);
425
- return suffix (" [*]" , expr, mode);
425
+ return suffix (" [*]" , to_sva_cycle_delay_star_expr ( expr) , mode);
426
426
}
427
427
else if (expr.id () == ID_sva_cycle_delay_plus) // ##[+] something
428
428
{
429
429
PRECONDITION (mode == SVA_SEQUENCE);
430
- return suffix (" [+]" , expr, mode);
430
+ return suffix (" [+]" , to_sva_cycle_delay_plus_expr ( expr) , mode);
431
431
}
432
432
else if (expr.id () == ID_if)
433
433
{
@@ -477,7 +477,10 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
477
477
else if (expr.id () == ID_sva_sequence_repetition_plus) // something[+]
478
478
{
479
479
PRECONDITION (mode == SVA_SEQUENCE);
480
- return suffix (" [+]" , expr, mode);
480
+ auto new_expr = unary_exprt{
481
+ ID_sva_sequence_repetition_plus,
482
+ to_sva_sequence_repetition_plus_expr (expr).op ()};
483
+ return suffix (" [+]" , new_expr, mode);
481
484
}
482
485
else if (expr.id () == ID_sva_sequence_goto_repetition) // something[->n]
483
486
{
0 commit comments