libutap  0.93
Uppaal Timed Automata Parser
common.h
Go to the documentation of this file.
1 // -*- mode: C++; c-file-style: "stroustrup"; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2 
3 /* libutap - Uppaal Timed Automata Parser.
4  Copyright (C) 2002-2006 Uppsala University and Aalborg University.
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public License
8  as published by the Free Software Foundation; either version 2.1 of
9  the License, or (at your option) any later version.
10 
11  This library is distributed in the hope that it will be useful, but
12  WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public
17  License along with this library; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  USA
20 */
21 
22 #ifndef UTAP_COMMON_HH
23 #define UTAP_COMMON_HH
24 
25 #include <cinttypes>
26 #include <string>
27 #include <vector>
28 
29 namespace UTAP
30 {
31  namespace Constants
32  {
33  enum kind_t
34  {
38  DIV,
39  MOD,
45  AND,
46  OR,
47  XOR,
48  MIN,
49  MAX,
52 
53  /********************************************************
54  * Relational operators
55  */
56  LT,
57  LE,
58  EQ,
59  NEQ,
60  GE,
61  GT,
62 
63  /********************************************************
64  * TIGA operators in properties.
65  */
73 
74  /********************************************************
75  * Unary operators
76  */
77  NOT,
80  SUM,
81 
82  /********************************************************
83  * Built-in functions
84  */
97 
98  /********************************************************
99  * Assignment operators
100  */
112 
113  /*******************************************************
114  * CTL Quantifiers
115  */
116  EF,
117  EG,
118  AF,
119  AG,
127  PROBAMINBOX, //#runs,(boundType|bounded-expr),bound,predicate,prob-bound
128  PROBAMINDIAMOND,//#runs,(boundType|bounded-expr),bound,predicate,prob-bound
129  PROBABOX, //#runs,(boundType|bounded-expr),bound,predicate,until-pred
130  PROBADIAMOND, //#runs,(boundType|bounded-expr),bound,predicate,until-pred
137 
138  /*******************************************************
139  * Control Synthesis Operator
140  */
153 
154  /*******************************************************
155  * Get supremum or infimum of variables/clocks
156  */
158 
159  /*******************************************************
160  * Verify a LSC scenario
161  */
162  SCENARIO, //identifier of the LSC instance
163  SCENARIO2, //scenario property of size 2 "obsTA.lmin --> obsTA.lmax"
164 
165  /*******************************************************
166  * Additional constants used by ExpressionProgram's and
167  * the TypeCheckBuilder (but not by the parser, although
168  * some of then ought to be used, FIXME).
169  */
185 
186  /*******************************************************
187  * Types
188  */
208  //LSC
213 
225  INSTANCE, // TA template (instantiated or not)
228  LSCINSTANCE, // LSC template (instantiated or not)
229 
230 
231  /******************************************************
232  * MITL Extension
233  */
243  /*Dynamic */
254 
255  };
256 
257  /**********************************************************
258  * Synchronisations:
259  */
261  {
265  };
266 
267  }
268 
270  enum class sync_use_t { unused, io, csp };
271 
273  typedef enum
274  {
275  S_XTA, // entire system
280  } xta_part_t;
281 
282 }
283 
284 #endif
sync_use_t
Synchronization usage options: I/O (with ? or !) or CSP (plain)
Definition: common.h:270
xta_part_t
Type for specifying which XTA part to parse (syntax switch)
Definition: common.h:273
Definition: lexer.cc:817