Awali
Another Weighted Automata library
declaration.incl.hh
Go to the documentation of this file.
1 // This file is part of Awali.
2 // Copyright 2016-2022 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3 //
4 // Awali is a free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 
18 /* THIS FILE SHOULD NOT BE IMPORTED DIRECTLY. */
19 
20 namespace awali {
21  namespace dyn {
22 
23  /* Declaration of options */
24 #ifdef INSTANTIATE_OPTIONS
25 #define DECLARE_OPTION(name,type,default_value) \
26  internal::option_t<type> name(#name,default_value)
27 #else
28 #define DECLARE_OPTION(name,type,default_value) \
29  extern internal::option_t<type> name
30 #endif
31 
41 
46 
51 
58  DECLARE_OPTION(IN_PLACE, bool, false);
59 
67  DECLARE_OPTION(KEEP_HISTORY, bool, true);
68 
69 
75 
82 
89 
90 // // <<<<<<< HEAD
91 // /** Option used when a name may be given.
92 // *
93 // * Defaults to `""`.
94 // */
95 // DECLARE_OPTION(NAME, std::string, "");
96 //
97 // /** Option used when a title may be given.
98 // *
99 // * Defaults to `"tmp"`.
100 // */
101 // DECLARE_OPTION(TITLE, std::string, "tmp");
102 //
103 // =======
104 // >>>>>>> merge-vmsl
112  DECLARE_OPTION(PRUNE, bool, true);
113 
121  DECLARE_OPTION(SAFE, bool, true);
122 
129 
130 
139  DECLARE_OPTION(AUTOPROMOTE, bool, false);
140 
159  DECLARE_OPTION(PREPOST_PARADIGM, bool, false);
160 
161 #undef DECLARE_OPTION
162 
163  //end of doxygen @addtogroup
165  }
166 }
167 
#define DECLARE_OPTION(name, type, default_value)
Definition: declaration.incl.hh:28
internal::option_t< bool > PREPOST_PARADIGM
Option used to specify whether to consider initial/final status of states as normal transitions.
internal::option_t< quotient_algo_t > QUOTIENT_ALGO
Option used to specify the algorithm to use for computing quotients.
direction_t
Used in some algorithms in which one may considers transitions forward or backwards.
Definition: enums.hh:35
internal::option_t< bool > KEEP_HISTORY
Option used to specify whether to keep the history of states.
internal::option_t< bool > SAFE
Option used when performing some test is costly or impossible.
internal::option_t< io_format_t > IO_FORMAT
Option used to specify an input or output format.
internal::option_t< bool > AUTOPROMOTE
Option used to specify whether to automatically promote an automaton (or automata) if its context doe...
state_elim_order_t
The different strategies for choosing which state to eliminate first when transforming an automaton i...
Definition: enums.hh:107
internal::option_t< minim_algo_t > MINIM_ALGO
Option used to specify the algorithm to use for computing minimization.
internal::option_t< layout_t > LAYOUT
Option used when displaying an automaton with dot.
layout_t
The different layout that we may pass to program dot to compute geometry of automata.
Definition: enums.hh:44
quotient_algo_t
The different algorithms for computing the minimal quotient.
Definition: enums.hh:64
internal::option_t< bool > IN_PLACE
Option used when an algorithm may be done in place.
internal::option_t< direction_t > DIRECTION
Option used when there are "forward" or "backward" strategies.
internal::option_t< bool > PRUNE
Option used when in the process of the algorithm, some elements (e.g.
internal::option_t< exp_to_aut_algo_t > EXP_TO_AUT_ALGO
Option used when a rational expression is computed from an automaton.
internal::option_t< state_elim_order_t > STATE_ELIM_ORDER
Option used to specify the order in which states should be eliminated (typically in functions such as...
minim_algo_t
The different algorithms for computing the minimal automaton.
Definition: enums.hh:55
io_format_t
The different format for input/output of automata and expressions.
Definition: enums.hh:123
exp_to_aut_algo_t
The different algorithms for transforming an expression into an automaton.
Definition: enums.hh:70
@ BACKWARD
Definition: enums.hh:37
@ MIN_INOUT_DEGREE
States are eliminated by increasing in-out degree.
Definition: enums.hh:112
@ HORIZONTAL
Spring top down layout.
Definition: enums.hh:48
@ MOORE
Definition: enums.hh:65
@ DETERMINIZE_QUOTIENT
Determinizes, then computes the minimal quotient (see quotient_algo_t).
Definition: enums.hh:57
@ JSON
The current Awali format.
Definition: enums.hh:128
@ STANDARD_AND_QUOTIENT
Standard automaton followed by quotient.
Definition: enums.hh:100
Main namespace of Awali.
Definition: ato.hh:22