]>
Commit | Line | Data |
---|---|---|
08eb3d0e | 1 | /* |
2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. | |
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 | ||
20 | extern /*@falsenull@*/ bool metaStateExpression_isDefined (metaStateExpression) /*@*/ ; | |
21 | # define metaStateExpression_isDefined(p_info) ((p_info) != NULL) | |
22 | ||
23 | extern /*@truenull@*/ bool metaStateExpression_isUndefined (metaStateExpression) /*@*/ ; | |
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 |