]> andersk Git - splint.git/blame - src/Headers/constraint.h
*** empty log message ***
[splint.git] / src / Headers / constraint.h
CommitLineData
d0e5b01f 1typedef enum
2{
3 LT, LTE, GT, GTE, EQ, NONNEGATIVE, POSITIVE
4}
5arithType;
6
7typedef enum
8{
9 BUFFSIZE, STRINGLEN, VALUE
10}
11constraintType;
12
13typedef struct constraint {
14 exprNode expr1;
15 exprNode expr2;
16 arithType restriction;
17 constraintType kind;
18} constraint;
19
20
21#define max_constraints 10
22
23struct _constraintList {
24 constraint constraints[max_constraints];
25 int numconstraints;
26} ;
27
28typedef struct _constraintList *constraintList;
29typedef struct _constraintList constraintList_;
30
31/*@constant null constraintList constraintList_undefined; @*/
32# define constraintList_undefined ((constraintList) NULL)
33# define constraintList_isDefined(s) ((s) != constraintList_undefined)
34# define constraintList_isUndefined(s) ((s) == constraintList_undefined)
35//# define constraintList_isEmpty(s) (constraint_size(s) == 0)
36
37constraintList constraintList_new ();
38constraintList constraintList_init (constraintList);
39constraintList constraintList_add (constraintList, constraint);
40constraintList constraintList_merge (constraintList, constraintList);
41constraintList constraintList_exprNodemerge (exprNode, exprNode);
42
43void constraintList_print (constraintList);
44
45constraint constraint_create (exprNode e1, exprNode e2, arithType restriction, constraintType kind);
46extern cstring exprNode_generateConstraints (exprNode e);
This page took 0.097298 seconds and 5 git commands to generate.