]>
Commit | Line | Data |
---|---|---|
08eb3d0e | 1 | /* |
c0de361f | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. |
08eb3d0e | 3 | ** See ../LICENSE for license information. |
4 | */ | |
5 | /* | |
6 | ** metaStateExpression.h | |
7 | */ | |
8 | ||
9 | # ifndef METASTATEEXPRESSION_H | |
10 | # define METASTATEEXPRESSION_H | |
11 | ||
12 | struct s_metaStateExpression { | |
13 | metaStateSpecifier spec; | |
14 | /*@null@*/ metaStateExpression rest; | |
15 | } ; | |
16 | ||
12f2ffe9 | 17 | /*@constant null metaStateExpression metaStateExpression_undefined; @*/ |
18 | # define metaStateExpression_undefined ((metaStateExpression) NULL) | |
19 | ||
0e41eb0e | 20 | extern /*@falsewhennull@*/ bool metaStateExpression_isDefined (metaStateExpression) /*@*/ ; |
12f2ffe9 | 21 | # define metaStateExpression_isDefined(p_info) ((p_info) != NULL) |
22 | ||
0e41eb0e | 23 | extern /*@nullwhentrue@*/ bool metaStateExpression_isUndefined (metaStateExpression) /*@*/ ; |
12f2ffe9 | 24 | # define metaStateExpression_isUndefined(p_info) ((p_info) == NULL) |
25 | ||
08eb3d0e | 26 | extern /*@notnull@*/ metaStateExpression |
27 | metaStateExpression_create (/*@only@*/ metaStateSpecifier) ; | |
28 | ||
29 | extern /*@notnull@*/ metaStateExpression | |
30 | metaStateExpression_createMerge (/*@only@*/ metaStateSpecifier, /*@only@*/ metaStateExpression) ; | |
31 | ||
3120b462 | 32 | extern /*@observer@*/ metaStateSpecifier |
33 | metaStateExpression_getSpecifier (metaStateExpression) /*@*/ ; | |
34 | ||
12f2ffe9 | 35 | extern bool metaStateExpression_isMerge (metaStateExpression) /*@*/ ; |
36 | extern /*@observer@*/ metaStateExpression metaStateExpression_getRest (metaStateExpression) /*@*/ ; | |
37 | ||
3814599d | 38 | extern metaStateExpression metaStateExpression_copy (metaStateExpression) ; |
39 | ||
08eb3d0e | 40 | extern cstring metaStateExpression_unparse (metaStateExpression) /*@*/ ; |
41 | ||
42 | extern void metaStateExpression_free (/*@only@*/ metaStateExpression) ; | |
43 | ||
44 | # else | |
45 | # error "Multiple include" | |
46 | # endif | |
47 | ||
48 | ||
49 | ||
50 |