spot
0.9.2
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 2 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 Spot; see the file COPYING. If not, write to the Free
21
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
// 02111-1307, USA.
23
24
#ifndef SPOT_TGBA_TGBATBA_HH
25
# define SPOT_TGBA_TGBATBA_HH
26
27
#include <list>
28
#include "
tgba.hh
"
29
#include "
misc/bddlt.hh
"
30
#include "
misc/hash.hh
"
31
32
namespace
spot
33
{
34
53
class
tgba_tba_proxy
:
public
tgba
54
{
55
public
:
56
tgba_tba_proxy
(
const
tgba
* a);
57
58
virtual
~tgba_tba_proxy
();
59
60
virtual
state
*
get_init_state
()
const
;
61
62
virtual
tgba_succ_iterator
*
63
succ_iter
(
const
state
* local_state,
64
const
state
* global_state = 0,
65
const
tgba
* global_automaton = 0)
const
;
66
67
virtual
bdd_dict
*
get_dict
()
const
;
68
69
virtual
std::string
format_state
(
const
state
*
state
)
const
;
70
71
virtual
state*
project_state
(
const
state* s,
const
tgba
* t)
const
;
72
73
virtual
bdd
all_acceptance_conditions
()
const
;
74
virtual
bdd
neg_acceptance_conditions
()
const
;
75
76
typedef
std::list<bdd>
cycle_list
;
77
78
87
bdd
common_acceptance_conditions_of_original_state
(
const
state*
88
ostate)
const
;
89
98
bdd
union_acceptance_conditions_of_original_state
(
const
state* s)
const
;
99
104
state*
create_state
(state* s, cycle_list::const_iterator acc)
const
;
105
106
protected
:
107
virtual
bdd
compute_support_conditions
(
const
state* state)
const
;
108
virtual
bdd
compute_support_variables
(
const
state* state)
const
;
109
110
cycle_list
acc_cycle_
;
111
const
tgba
*
a_
;
112
113
private
:
114
bdd
the_acceptance_cond_
;
115
typedef
Sgi::hash_map
<
const
state*, bdd,
116
state_ptr_hash
,
state_ptr_equal
>
accmap_t
;
117
mutable
accmap_t
accmap_
;
118
mutable
accmap_t
accmapu_
;
119
121
mutable
void
*
uniq_map_
;
122
123
// Disallow copy.
124
tgba_tba_proxy
(
const
tgba_tba_proxy
&);
125
tgba_tba_proxy
&
operator=
(
const
tgba_tba_proxy
&);
126
};
127
143
class
tgba_sba_proxy
:
public
tgba_tba_proxy
144
{
145
public
:
146
tgba_sba_proxy
(
const
tgba
* a);
147
155
bool
state_is_accepting
(
const
state
*
state
)
const
;
156
157
virtual
state*
get_init_state
()
const
;
158
protected
:
159
cycle_list::iterator
cycle_start_
;
160
};
161
162
}
163
#endif // SPOT_TGBA_TGBATBA_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Mon Jul 2 2012 17:35:47 for spot by
1.8.1.1