| 52 | } |
| 53 | |
| 54 | AbsProgramGenerator * |
| 55 | AbsProgramGenerator::CreateInstance(int argc, char *argv[], unsigned long seed) |
| 56 | { |
| 57 | if (CGOptions::dfs_exhaustive()) { |
| 58 | AbsProgramGenerator::current_generator_ = new DFSProgramGenerator(argc, argv, seed); |
| 59 | } |
| 60 | else |
| 61 | { |
| 62 | AbsProgramGenerator::current_generator_ = new DefaultProgramGenerator(argc, argv, seed); |
| 63 | } |
| 64 | |
| 65 | AbsProgramGenerator::current_generator_->initialize(); |
| 66 | |
| 67 | if (!(CGOptions::dump_default_probabilities().empty())) { |
| 68 | CGOptions::random_random(false); |
| 69 | Probabilities *prob = Probabilities::GetInstance(); |
| 70 | prob->dump_default_probabilities(CGOptions::dump_default_probabilities()); |
| 71 | exit(0); |
| 72 | } |
| 73 | else if (!(CGOptions::dump_random_probabilities().empty())) { |
| 74 | CGOptions::random_random(true); |
| 75 | Probabilities *prob = Probabilities::GetInstance(); |
| 76 | prob->dump_actual_probabilities(CGOptions::dump_random_probabilities(), seed); |
| 77 | exit(0); |
| 78 | } |
| 79 | |
| 80 | Probabilities *prob = Probabilities::GetInstance(); |
| 81 | string msg; |
| 82 | if (!(CGOptions::probability_configuration().empty())) { |
| 83 | if (!prob->parse_configuration(msg, CGOptions::probability_configuration())) { |
| 84 | cout << "parsing configuration file error:" << msg << endl; |
| 85 | return NULL; |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | return AbsProgramGenerator::current_generator_; |
| 90 | } |
| 91 | |
| 92 | AbsProgramGenerator * |
| 93 | AbsProgramGenerator::GetInstance() |
nothing calls this directly
no test coverage detected