Connect++ 0.3.0
A fast, readable connection prover for first-order logic.
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
schedule Namespace Reference

Hide all the global stuff in this namespace. More...

Classes

struct  add_step
 Semantic action for parser. More...
 
struct  add_time
 Semantic action for parser. More...
 
struct  next_settings
 Semantic action for parser. More...
 
class  Schedule
 Wrap up the parsing process and the operation of a schedule in a single class. More...
 
struct  schedule_grammar
 
struct  set_step
 Semantic action for parser. More...
 
struct  set_value
 Semantic action for parser. More...
 

Enumerations

enum class  schedule_step {
  reorder , all_start , pos_neg_start , conjecture_start ,
  restrict_start , no_regularity , no_lemmata , all_lemmata ,
  all_reductions , all_extensions , all_backtrack , lemmata_backtrack ,
  reduction_backtrack , extension_backtrack , explore_left_trees , hard_prune ,
  complete
}
 Possible kinds of schedule step. More...
 

Functions

string to_string (const schedule_step &s)
 
ostream & operator<< (ostream &out, const Schedule &s)
 

Variables

unsigned int value = 0
 
unsigned int current_time = 0
 
string step
 
vector< pair< schedule_step, unsigned int > > current_settings
 
vector< vector< pair< schedule_step, unsigned int > > > new_schedule
 
vector< unsigned int > new_times
 
qi::rule< Iter, string()> schedule_word
 
qi::rule< Iter, string()> schedule_word_param
 

Detailed Description

Hide all the global stuff in this namespace.

It's easiest to implement a parser using the relevant boost libraries if you use globals to store things as you parse. Hiding them in a namespace makes the use of globals a bit less reprehensible.

Enumeration Type Documentation

◆ schedule_step

enum class schedule::schedule_step
strong

Possible kinds of schedule step.

Definition at line 62 of file Schedule.hpp.

62 {
63 reorder,
64 all_start,
65 pos_neg_start,
66 conjecture_start,
67 restrict_start,
68 no_regularity,
69 no_lemmata,
70 all_lemmata,
71 all_reductions,
72 all_extensions,
73 all_backtrack,
74 lemmata_backtrack,
75 reduction_backtrack,
76 extension_backtrack,
77 explore_left_trees,
78 hard_prune,
79 complete
80};

Function Documentation

◆ operator<<()

ostream & schedule::operator<< ( ostream &  out,
const Schedule s 
)

Definition at line 333 of file Schedule.cpp.

333 {
334 for (size_t i = 0; i < s.schedule.size(); i++) {
335 out << s.step_to_string(i) << endl;
336 }
337 return out;
338 }
vector< vector< pair< schedule_step, unsigned int > > > schedule
Representation of a schedule.
Definition Schedule.hpp:108
string step_to_string(size_t) const
Make a string representation of a line in the schedule.
Definition Schedule.cpp:318

◆ to_string()

string schedule::to_string ( const schedule_step s)

Definition at line 30 of file Schedule.cpp.

30 {
31 switch (s) {
32 case schedule_step::reorder:
33 return string("--reorder");
34 break;
35 case schedule_step::all_start:
36 return string("--all-start");
37 break;
38 case schedule_step::pos_neg_start:
39 return string("--pos-neg-start");
40 break;
41 case schedule_step::conjecture_start:
42 return string("--conjecture-start");
43 break;
44 case schedule_step::restrict_start:
45 return string("--restrict-start");
46 break;
47 case schedule_step::no_regularity:
48 return string("--no-regularity");
49 break;
50 case schedule_step::no_lemmata:
51 return string("--no-lemmata");
52 break;
53 case schedule_step::all_lemmata:
54 return string("--all-lemmata");
55 break;
56 case schedule_step::all_reductions:
57 return string("--all-reductions");
58 break;
59 case schedule_step::all_extensions:
60 return string("--all-extensions");
61 break;
62 case schedule_step::all_backtrack:
63 return string("--all-backtrack");
64 break;
65 case schedule_step::lemmata_backtrack:
66 return string("--lemmata-backtrack");
67 break;
68 case schedule_step::reduction_backtrack:
69 return string("--reduction-backtrack");
70 break;
71 case schedule_step::extension_backtrack:
72 return string("--extension-backtrack");
73 break;
74 case schedule_step::explore_left_trees:
75 return string("--explore-left-trees");
76 break;
77 case schedule_step::hard_prune:
78 return string("--hard-prune");
79 break;
80 case schedule_step::complete:
81 return string("--complete");
82 break;
83 default:
84 break;
85 }
86 return string("");
87}

Variable Documentation

◆ current_settings

vector<pair<schedule_step, unsigned int> > schedule::current_settings

Definition at line 94 of file Schedule.cpp.

◆ current_time

unsigned int schedule::current_time = 0

Definition at line 92 of file Schedule.cpp.

◆ new_schedule

vector<vector<pair<schedule_step, unsigned int> > > schedule::new_schedule

Definition at line 95 of file Schedule.cpp.

◆ new_times

vector<unsigned int> schedule::new_times

Definition at line 96 of file Schedule.cpp.

◆ schedule_word

qi::rule<Iter, string()> schedule::schedule_word
Initial value:
=
ascii::string("--all-start")
| ascii::string("--pos-neg-start")
| ascii::string("--conjecture-start")
| ascii::string("--restrict-start")
| ascii::string("--no-regularity")
| ascii::string("--no-lemmata")
| ascii::string("--all-lemmata")
| ascii::string("--all-reductions")
| ascii::string("--all-extensions")
| ascii::string("--all-backtrack")
| ascii::string("--lemmata-backtrack")
| ascii::string("--reduction-backtrack")
| ascii::string("--extension-backtrack")
| ascii::string("--explore-left-trees")
| ascii::string("--hard-prune")

Definition at line 144 of file Schedule.cpp.

◆ schedule_word_param

qi::rule<Iter, string()> schedule::schedule_word_param
Initial value:
=
ascii::string("--complete")
| ascii::string("--reorder")

Definition at line 161 of file Schedule.cpp.

◆ step

string schedule::step

Definition at line 93 of file Schedule.cpp.

◆ value

unsigned int schedule::value = 0

Definition at line 91 of file Schedule.cpp.