spot
1.0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
tgba
tgbatba.hh
Go to the documentation of this file.
1
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
2
// Développement de l'Epita.
3
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
4
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
5
// Université Pierre et Marie Curie.
6
//
7
// This file is part of Spot, a model checking library.
8
//
9
// Spot is free software; you can redistribute it and/or modify it
10
// under the terms of the GNU General Public License as published by
11
// the Free Software Foundation; either version 3 of the License, or
12
// (at your option) any later version.
13
//
14
// Spot is distributed in the hope that it will be useful, but WITHOUT
15
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17
// License for more details.
18
//
19
// You should have received a copy of the GNU General Public License
20
// along with this program. If not, see <http://www.gnu.org/licenses/>.
21
22
#ifndef SPOT_TGBA_TGBATBA_HH
23
# define SPOT_TGBA_TGBATBA_HH
24
25
#include <list>
26
#include "
tgba.hh
"
27
#include "
misc/bddlt.hh
"
28
#include "
misc/hash.hh
"
29
30
namespace
spot
31
{
32
51
class
tgba_tba_proxy
:
public
tgba
52
{
53
public
:
54
tgba_tba_proxy
(
const
tgba
* a);
55
56
virtual
~tgba_tba_proxy
();
57
58
virtual
state
*
get_init_state
()
const
;
59
60
virtual
tgba_succ_iterator
*
61
succ_iter
(
const
state
* local_state,
62
const
state
* global_state = 0,
63
const
tgba
* global_automaton = 0)
const
;
64
65
virtual
bdd_dict
*
get_dict
()
const
;
66
67
virtual
std::string
format_state
(
const
state
*
state
)
const
;
68
69
virtual
state*
project_state
(
const
state* s,
const
tgba
* t)
const
;
70
71
virtual
bdd
all_acceptance_conditions
()
const
;
72
virtual
bdd
neg_acceptance_conditions
()
const
;
73
74
typedef
std::list<bdd>
cycle_list
;
75
76
85
bdd
common_acceptance_conditions_of_original_state
(
const
state*
86
ostate)
const
;
87
96
bdd
union_acceptance_conditions_of_original_state
(
const
state* s)
const
;
97
102
state*
create_state
(state* s, cycle_list::const_iterator acc)
const
;
103
104
protected
:
105
virtual
bdd
compute_support_conditions
(
const
state* state)
const
;
106
virtual
bdd
compute_support_variables
(
const
state* state)
const
;
107
108
cycle_list
acc_cycle_
;
109
const
tgba
*
a_
;
110
111
private
:
112
bdd
the_acceptance_cond_
;
113
typedef
Sgi::hash_map
<
const
state*, bdd,
114
state_ptr_hash
,
state_ptr_equal
>
accmap_t
;
115
mutable
accmap_t
accmap_
;
116
mutable
accmap_t
accmapu_
;
117
119
mutable
void
*
uniq_map_
;
120
121
// Disallow copy.
122
tgba_tba_proxy
(
const
tgba_tba_proxy
&);
123
tgba_tba_proxy
&
operator=
(
const
tgba_tba_proxy
&);
124
};
125
141
class
tgba_sba_proxy
:
public
tgba_tba_proxy
142
{
143
public
:
144
tgba_sba_proxy
(
const
tgba
* a);
145
153
bool
state_is_accepting
(
const
state
*
state
)
const
;
154
155
virtual
state*
get_init_state
()
const
;
156
protected
:
157
cycle_list::iterator
cycle_start_
;
158
};
159
160
}
161
#endif // SPOT_TGBA_TGBATBA_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Wed Jan 23 2013 15:00:01 for spot by
1.8.1.2