10#include "monoid_display.h"
137extern char* object_types_names[DUMMY];
139#define NAME_MAXSIZE 128
166extern object* objects;
172extern int nb_objects;
178void init_objects_array(
void);
184void grow_objects_array(
void);
227int object_init(
const char* name
243void object_free_aux(
object*
257void object_free_all(
void);
266void object_delete_prefix(
const char*
283const char* object_get_full_name(
int i
293int object_get_from_name(
const char*
303int object_delete_from_name(
const char*
317int object_add_regexp(
const char*,
332int object_add_automaton_nfa(
const char*,
347int object_add_automaton_dfa(
const char* name,
351void object_add_automaton_dfa_family(
const char* pname,
dfa** array, uint count);
364int object_add_morphism(
char*,
378int shell_copy_generic(
int i,
396int shell_compute_minimal(
int
410int shell_compute_syntac(
int,
421void shell_compute_mult(
int
432void shell_compute_order(
int
461orbits* shell_compute_orbits(
int,
491bool shell_check_recursion(
int
501int shell_rec_defadd(
int,
513int shell_rec_iniadd(
int,
537regexp* shell_rec_getexp(
int,
560void shell_view_object(
object* ob,
Implementation of morphisms into finite monoids.
Determinization and complementation of NFAs.
Implementation of regular expressions.
Construction of a NFA from a regular expression. Thompson's et Glushkov's algorithms.
Type used to represent a complete DFA.
Definition nfa.h:61
The type used to represent a morphism into a finite monoid.
Definition monoid.h:91
Type used to represent a NFA.
Definition nfa.h:43
Structure used to store a morphism and its Green relations.
Definition shell_languages.h:90
morphism * obj
The morphism.
Definition shell_languages.h:91
subsemi * kers[KER_SIZE]
The kernels.
Definition shell_languages.h:92
orbits * orbs[ORB_SIZE]
The orbits.
Definition shell_languages.h:93
Structure used to store a variable name prefix.
Definition shell_languages.h:43
char * name
The variable name prefix.
Definition shell_languages.h:44
uchar digits
The number of digits used for the suffix.
Definition shell_languages.h:46
uint count
The number of objects with this prefix.
Definition shell_languages.h:45
Type used to represent a recursive definition of regular expressions.
Definition shell_languages.h:102
regexp ** regexps[RECMAX]
Array mapping each sequence to an array containing the indices of the computed elements in the object...
Definition shell_languages.h:108
char * names[RECMAX]
Array mapping each relation to its variable name.
Definition shell_languages.h:106
regexp * def[RECMAX]
Array mapping each sequence to its inductive definition.
Definition shell_languages.h:109
uchar evalseq[RECMAX]
Sequence of evaluation.
Definition shell_languages.h:107
bool full
Boolean indicating if the recursive definition is fully specified.
Definition shell_languages.h:103
uchar num
Number of relations in the recursion.
Definition shell_languages.h:104
ushort init
The number of indices that are required to start the recursion.
Definition shell_languages.h:105
Type used to represent an object.
Definition shell_languages.h:145
nfa * obj_nfa
Case of a nondeterministic finite automaton.
Definition shell_languages.h:153
int parent
Index of the parent object for dependencies (-1 if no parent).
Definition shell_languages.h:159
ob_type type
Type of the object.
Definition shell_languages.h:150
uint number
Number of object for this variable name (added as a suffix to the name). UINT_MAX if not used.
Definition shell_languages.h:148
int depend[OD_SIZE]
Array of dependencies (-1 if no dependency).
Definition shell_languages.h:158
ob_recursion * rec
Case of a recursive definition of regular expressions.
Definition shell_languages.h:156
regexp * exp
Case of a regular expression.
Definition shell_languages.h:152
dfa * obj_dfa
Case of a deterministic finite automaton.
Definition shell_languages.h:154
ob_morphism * mor
Case of a morphism.
Definition shell_languages.h:155
Type used to represent C-orbits of a morphism.
Definition monoid_orbits.h:31
Type used to represent a single node in a regular expression.
Definition regexp.h:123
Type used to represent a subsemigroup and its Green relations.
Definition monoid_sub.h:35