spot  0.9.2
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 2 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 Spot; see the file COPYING. If not, write to the Free
18 // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19 // 02111-1307, USA.
20 
23 #ifndef SPOT_LTLAST_FORMULA_TREE_HH
24 # define SPOT_LTLAST_FORMULA_TREE_HH
25 
26 # include <vector>
27 # include <boost/shared_ptr.hpp>
28 # include "formula.hh"
29 # include "multop.hh"
30 # include "binop.hh"
31 # include "unop.hh"
32 # include "nfa.hh"
33 
34 namespace spot
35 {
36  namespace ltl
37  {
39  namespace formula_tree
40  {
41  struct node
42  {
43  virtual ~node() {};
44  };
46  typedef boost::shared_ptr<node> node_ptr;
47 
48  struct node_unop : node
49  {
52  };
53  struct node_binop : node
54  {
58  };
59  struct node_multop : node
60  {
64  };
65  struct node_nfa : node
66  {
67  std::vector<node_ptr> children;
69  };
71  enum { True = -1, False = -2 };
72  struct node_atomic : node
73  {
74  int i;
75  };
76 
79  const formula* instanciate(const node_ptr np,
80  const std::vector<const formula*>& v);
81 
83  size_t arity(const node_ptr np);
84  }
85  }
86 }
87 
88 #endif // SPOT_LTLAST_FORMULA_TREE_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 doxygen 1.8.1.1