3434#include " query/parsererrors.h"
3535#include " pdaaal/model/PDAFactory.h"
3636#include " pdaaal/engine/Moped.h"
37- #include " pdaaal/engine/PostStar .h"
37+ #include " pdaaal/engine/Solver .h"
3838
3939#include " utils/stopwatch.h"
4040#include " utils/outcome.h"
@@ -137,7 +137,7 @@ int main(int argc, const char** argv)
137137 exit (-1 );
138138 }
139139
140- if (engine > 2 )
140+ if (engine > 3 )
141141 {
142142 std::cerr << " Unknown value for --engine : " << engine << std::endl;
143143 exit (-1 );
@@ -245,7 +245,7 @@ int main(int argc, const char** argv)
245245 std::cout << " \t\" answers\" :{\n " ;
246246 }
247247 Moped moped;
248- PostStar post_star ;
248+ Solver solver ;
249249
250250 for (auto & q : builder._result )
251251 {
@@ -284,6 +284,7 @@ int main(int argc, const char** argv)
284284 verification_time.start ();
285285 bool engine_outcome;
286286 bool need_trace = was_dual || get_trace;
287+ Solver::res_type solver_result;
287288 switch (engine)
288289 {
289290 case 1 :
@@ -297,17 +298,27 @@ int main(int argc, const char** argv)
297298 }
298299 break ;
299300 case 2 :
300- engine_outcome = post_star.verify (pda, need_trace);
301+ solver_result = solver.post_star (pda, need_trace);
302+ engine_outcome = solver_result.first ;
301303 verification_time.stop ();
302304 if (need_trace && engine_outcome)
303305 {
304- trace = post_star .get_trace (pda);
306+ trace = solver .get_trace (pda, std::move (solver_result. second ) );
305307 if (factory->write_json_trace (proof, trace))
306308 result = utils::YES;
307309 }
308310 break ;
309311 case 3 :
310- // break;
312+ solver_result = solver.pre_star (pda, need_trace);
313+ engine_outcome = solver_result.first ;
314+ verification_time.stop ();
315+ if (need_trace && engine_outcome)
316+ {
317+ trace = solver.get_trace (pda, std::move (solver_result.second ));
318+ if (factory->write_json_trace (proof, trace))
319+ result = utils::YES;
320+ }
321+ break ;
311322 default :
312323 throw base_error (" Unsupported --engine value given" );
313324 }
0 commit comments