5 # include <ctype.h> /* for isdigit */
6 # include "lclintMacros.nf"
9 # include "cgrammar_tokens.h"
11 # include "exprChecks.h"
12 # include "aliasChecks.h"
13 # include "exprNodeSList.h"
14 //# include "exprData.i"
17 constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data)
19 constraintExprData ret;
20 llassert(constraintExprData_isDefined(data));
21 ret = dmalloc (sizeof (*ret) );
22 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
23 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
24 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
28 constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data)
30 constraintExprData ret;
31 llassert(constraintExprData_isDefined(data));
32 ret = dmalloc (sizeof (*ret) );
34 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
35 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
40 constraintExprData constraintExprData_copyTerm (constraintExprData data)
42 constraintExprData ret;
43 llassert(constraintExprData_isDefined(data));
44 ret = dmalloc (sizeof (*ret) );
45 ret->term = constraintTerm_copy (data->term);
49 // constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
51 // constraintExprData ret;
52 // llassert(constraintExprData_isDefined(data));
53 // ret = dmalloc (sizeof (*ret) );
57 // ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
58 // ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
59 // ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
62 // ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
63 // ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
66 // ret->term = constraintTerm_copy (data->term);
72 constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term)
74 llassert (constraintExprData_isDefined(data));
75 data->term = constraintTerm_copy(term);
81 constraintTerm constraintExprData_termGetTerm (constraintExprData data)
83 llassert (constraintExprData_isDefined(data));
88 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data)
90 llassert (constraintExprData_isDefined(data));
91 return (data->unaryOp.unaryOp);
95 constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data)
97 llassert (constraintExprData_isDefined(data));
98 return (data->unaryOp.expr);
103 constraintExprData constraintExprData_unaryExprSetOp (/*@out@*/ constraintExprData data, constraintExprUnaryOpKind op)
105 llassert (constraintExprData_isDefined(data));
106 data->unaryOp.unaryOp = op;
110 constraintExprData constraintExprData_unaryExprSetExpr (/*@out@*/ constraintExprData data, constraintExpr expr)
112 llassert (constraintExprData_isDefined(data));
113 data->unaryOp.expr = constraintExpr_copy(expr);
120 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
122 llassert (constraintExprData_isDefined(data));
123 return (data->binaryOp.binaryOp);
127 constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
129 llassert (constraintExprData_isDefined(data));
130 return (data->binaryOp.expr1);
134 constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
136 llassert (constraintExprData_isDefined(data));
137 return (data->binaryOp.expr2);
141 constraintExprData constraintExprData_binaryExprSetExpr1 (constraintExprData data, constraintExpr expr)
143 llassert (constraintExprData_isDefined(data));
144 data->binaryOp.expr1 = constraintExpr_copy(expr);
148 constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr)
150 llassert (constraintExprData_isDefined(data));
151 data->binaryOp.expr2 = constraintExpr_copy(expr);
156 /*@special@*/ constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op) /*@defines result->binaryOp.binaryOp@*/
158 llassert (constraintExprData_isDefined(data));
159 data->binaryOp.binaryOp = op;