File tree Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -208,21 +208,18 @@ exprt smt2_parsert::let_expression()
208
208
b.first = add_fresh_id (b.first , b.second );
209
209
}
210
210
211
- exprt expr =expression ();
211
+ exprt where =expression ();
212
212
213
213
if (next_token () != smt2_tokenizert::CLOSE)
214
214
throw error (" expected ')' after let" );
215
215
216
- exprt result=expr;
216
+ binding_exprt::variablest variables;
217
+ exprt::operandst values;
217
218
218
- // go backwards, build let_expr
219
- for (auto r_it=bindings.rbegin (); r_it!=bindings.rend (); r_it++)
219
+ for (const auto &b : bindings)
220
220
{
221
- const let_exprt let (
222
- symbol_exprt (r_it->first , r_it->second .type ()),
223
- r_it->second ,
224
- result);
225
- result=let;
221
+ variables.push_back (symbol_exprt (b.first , b.second .type ()));
222
+ values.push_back (b.second );
226
223
}
227
224
228
225
// we keep these in the id_map in order to retain globally
@@ -231,7 +228,7 @@ exprt smt2_parsert::let_expression()
231
228
// restore renamings
232
229
renaming_map=old_renaming_map;
233
230
234
- return result ;
231
+ return let_exprt (variables, values, where) ;
235
232
}
236
233
237
234
exprt smt2_parsert::quantifier_expression (irep_idt id)
You can’t perform that action at this time.
0 commit comments