2020#include " ic3_engine.h"
2121#include " liveness_to_safety.h"
2222#include " neural_liveness.h"
23+ #include " output_file.h"
2324#include " property_checker.h"
2425#include " random_traces.h"
2526#include " ranking_function.h"
@@ -274,9 +275,12 @@ int ebmc_parse_optionst::doit()
274275 netlistt netlist;
275276 if (ebmc_base.make_netlist (netlist))
276277 return 1 ;
277- std::cout << " digraph netlist {\n " ;
278- netlist.output_dot (std::cout);
279- std::cout << " }\n " ;
278+ auto filename =
279+ cmdline.isset (" outfile" ) ? cmdline.get_value (" outfile" ) : " -" ;
280+ output_filet outfile{filename};
281+ outfile.stream () << " digraph netlist {\n " ;
282+ netlist.output_dot (outfile.stream ());
283+ outfile.stream () << " }\n " ;
280284 return 0 ;
281285 }
282286
@@ -285,11 +289,15 @@ int ebmc_parse_optionst::doit()
285289 netlistt netlist;
286290 if (ebmc_base.make_netlist (netlist))
287291 return 1 ;
288- std::cout << " -- Generated by EBMC " << EBMC_VERSION << ' \n ' ;
289- std::cout << " -- Generated from "
290- << ebmc_base.transition_system .main_symbol ->name << ' \n ' ;
291- std::cout << ' \n ' ;
292- netlist.output_smv (std::cout);
292+ auto filename =
293+ cmdline.isset (" outfile" ) ? cmdline.get_value (" outfile" ) : " -" ;
294+ output_filet outfile{filename};
295+ outfile.stream () << " -- Generated by EBMC " << EBMC_VERSION << ' \n ' ;
296+ outfile.stream () << " -- Generated from "
297+ << ebmc_base.transition_system .main_symbol ->name
298+ << ' \n ' ;
299+ outfile.stream () << ' \n ' ;
300+ netlist.output_smv (outfile.stream ());
293301 return 0 ;
294302 }
295303
0 commit comments