spot  1.1.4
formula_tree.hh
Go to the documentation of this file.
1 // Copyright (C) 2009, 2012 Laboratoire de Recherche et Développement
2 // de l'Epita (LRDE).
3 //
4 // This file is part of Spot, a model checking library.
5 //
6 // Spot is free software; you can redistribute it and/or modify it
7 // under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // Spot is distributed in the hope that it will be useful, but WITHOUT
12 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14 // License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
21 #ifndef SPOT_LTLAST_FORMULA_TREE_HH
22 # define SPOT_LTLAST_FORMULA_TREE_HH
23 
24 # include <vector>
25 # include <boost/shared_ptr.hpp>
26 # include "formula.hh"
27 # include "multop.hh"
28 # include "binop.hh"
29 # include "unop.hh"
30 # include "nfa.hh"
31 
32 namespace spot
33 {
34  namespace ltl
35  {
37  namespace formula_tree
38  {
39  struct node
40  {
41  virtual ~node() {};
42  };
44  typedef boost::shared_ptr<node> node_ptr;
45 
46  struct node_unop : node
47  {
50  };
51  struct node_binop : node
52  {
56  };
57  struct node_multop : node
58  {
62  };
63  struct node_nfa : node
64  {
65  std::vector<node_ptr> children;
67  };
69  enum { True = -1, False = -2 };
70  struct node_atomic : node
71  {
72  int i;
73  };
74 
77  const formula* instanciate(const node_ptr np,
78  const std::vector<const formula*>& v);
79 
81  size_t arity(const node_ptr np);
82  }
83  }
84 }
85 
86 #endif // SPOT_LTLAST_FORMULA_TREE_HH_

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Mon Jul 29 2013 00:27:24 for spot by doxygen 1.8.4