18namespace layer5_applications {
19namespace user_interface {
33 int verbose_level = 1;
34 int f_v = (verbose_level >= 1);
37 cout <<
"orbiter_top_level_session::~orbiter_top_level_session" << endl;
41 cout <<
"orbiter_top_level_session::~orbiter_top_level_session before delete Orbiter_session" << endl;
45 cout <<
"orbiter_top_level_session::~orbiter_top_level_session after delete Orbiter_session" << endl;
49 cout <<
"orbiter_top_level_session::~orbiter_top_level_session done" << endl;
54 std::string *argv,
int i0)
58 cout <<
"orbiter_top_level_session::startup_and_read_arguments before new orbiter_session" << endl;
62 cout <<
"orbiter_top_level_session::startup_and_read_arguments after new orbiter_session" << endl;
63 cout <<
"orbiter_top_level_session::startup_and_read_arguments before Orbiter_session->read_arguments" << endl;
69 cout <<
"orbiter_top_level_session::startup_and_read_arguments done" << endl;
75 int f_v = (verbose_level >= 1);
78 cout <<
"orbiter_top_level_session::handle_everything" << endl;
83 cout <<
"argument list:" << endl;
84 for (j = 0; j < argc; j++) {
85 cout << j <<
" : " << Argv[j] << endl;
90 cmd.assign(Session.orbiter_path);
91 cmd.append(
"orbiter.out");
92 for (j = 1; j < argc; j++) {
97 cout <<
"system: " << cmd << endl;
106 cout <<
"before Top_level_session.Orbiter_session->fork" << endl;
110 cout <<
"after Session.fork" << endl;
136 cout <<
"orbiter_top_level_session::handle_everything memory_debug "
137 "before global_mem_object_registry.dump" << endl;
143 cout <<
"orbiter_top_level_session::handle_everything memory_debug "
144 "after global_mem_object_registry.dump" << endl;
149 cout <<
"orbiter_top_level_session::handle_everything done" << endl;
157 int f_v = (verbose_level >= 1);
161 cout <<
"orbiter_top_level_session::parse_and_execute, "
162 "parsing the orbiter dash code" << endl;
166 vector<void *> program;
169 cout <<
"orbiter_top_level_session::parse_and_execute before parse" << endl;
171 parse(argc, Argv, i, program, verbose_level);
173 cout <<
"orbiter_top_level_session::parse_and_execute after parse" << endl;
177 cout <<
"orbiter_top_level_session::parse_and_execute, "
178 "we have parsed the following orbiter dash code program:" << endl;
180 for (i = 0; i < program.size(); i++) {
186 cout <<
"Command " << i <<
":" << endl;
191 cout <<
"################################################################################################" << endl;
194 cout <<
"Executing commands:" << endl;
197 for (i = 0; i < program.size(); i++) {
204 cout <<
"################################################################################################" << endl;
205 cout <<
"Executing command " << i <<
":" << endl;
207 cout <<
"################################################################################################" << endl;
216 cout <<
"Executing commands done" << endl;
220 cout <<
"orbiter_top_level_session::parse_and_execute done" << endl;
225 int &i, std::vector<void *> &program,
int verbose_level)
228 int f_v = (verbose_level >= 1);
233 cout <<
"orbiter_top_level_session::parse, parsing the orbiter dash code" << endl;
238 cout <<
"orbiter_top_level_session::parse "
239 "cnt = " << cnt <<
", i = " << i << endl;
242 cout <<
"orbiter_top_level_session::parse i=" << i
243 <<
", next argument is " << Argv[i] << endl;
248 cout <<
"orbiter_top_level_session::parse we seem to be stuck in a look" << endl;
253 cout <<
"orbiter_top_level_session::parse before Interface_symbol_table, i = " << i << endl;
260 cout <<
"orbiter_top_level_session::parse before OC->parse" << endl;
262 OC->
parse(
this, argc, Argv, i, verbose_level);
264 cout <<
"orbiter_top_level_session::parse after OC->parse" << endl;
267 program.push_back(OC);
271 cout <<
"orbiter_top_level_session::parse before OC->execute" << endl;
275 cout <<
"orbiter_top_level_session::parse after OC->execute" << endl;
288 cout <<
"orbiter_top_level_session::parse, parsing the orbiter dash code done" << endl;
330 cout <<
"orbiter_top_level_session::get_object_of_type_any_group cannot find symbol " << label << endl;
334 cout <<
"orbiter_top_level_session::get_object_of_type_any_group object type != t_any_group" << endl;
346 cout <<
"orbiter_top_level_session::get_object_of_type_projective_space cannot find symbol " << label << endl;
350 cout <<
"orbiter_top_level_session::get_object_of_type_projective_space object type != t_projective_space" << endl;
void sort_by_location_and_get_frequency(int verbose_level)
void dump_to_csv_file(const char *fname)
The orbiter session is responsible for the command line interface and the program execution.
void fork(int argc, std::string *argv, int verbose_level)
void find_symbols(std::vector< std::string > &Labels, int *&Idx)
int read_arguments(int argc, std::string *argv, int i0)
symbol_table_object_type get_object_type(int idx)
void * get_object(int idx)
void print_symbol_table()
int find_symbol(std::string &label)
void add_symbol_table_entry(std::string &label, orbiter_symbol_table_entry *Symb, int verbose_level)
orbiter_kernel_system::mem_object_registry * global_mem_object_registry
symbol table to store data entries for the orbiter run-time system
interface to system functions
int random_integer(int p)
a wrapper for linear_group and permutation_group_create
projective space PG(n,q) with automorphism group PGGL(n+1,q)
a single command in the Orbiter dash code language
void parse(orbiter_top_level_session *Orbiter_top_level_session, int argc, std::string *Argv, int &i, int verbose_level)
void execute(int verbose_level)
The top level orbiter session is responsible for the command line interface and the program execution...
projective_geometry::projective_space_with_action * get_object_of_type_projective_space(std::string &label)
int find_symbol(std::string &label)
orbiter_kernel_system::orbiter_session * Orbiter_session
~orbiter_top_level_session()
void add_symbol_table_entry(std::string &label, orbiter_kernel_system::orbiter_symbol_table_entry *Symb, int verbose_level)
void handle_everything(int argc, std::string *Argv, int i, int verbose_level)
int startup_and_read_arguments(int argc, std::string *argv, int i0)
void * get_object(int idx)
void parse(int argc, std::string *Argv, int &i, std::vector< void * > &program, int verbose_level)
orbiter_top_level_session()
void print_symbol_table()
apps_algebra::any_group * get_object_of_type_any_group(std::string &label)
void find_symbols(std::vector< std::string > &Labels, int *&Idx)
void parse_and_execute(int argc, std::string *Argv, int i, int verbose_level)
symbol_table_object_type get_object_type(int idx)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
user_interface::orbiter_top_level_session * The_Orbiter_top_level_session
the orbiter library for the classification of combinatorial objects