]>
Commit | Line | Data |
---|---|---|
616915dd | 1 | /* |
2 | ** exprNode.c | |
3 | */ | |
4 | ||
5 | # include <ctype.h> /* for isdigit */ | |
6 | # include "lclintMacros.nf" | |
7 | # include "basic.h" | |
8 | # include "cgrammar.h" | |
9 | # include "cgrammar_tokens.h" | |
10 | ||
11 | # include "exprChecks.h" | |
12 | # include "aliasChecks.h" | |
13 | # include "exprNodeSList.h" | |
14 | # include "exprData.i" | |
15 | ||
16 | /*@only@*/ exprData exprData_makeLiteral (/*@only@*/ cstring s) | |
17 | { | |
18 | exprData ed = (exprData) dmalloc (sizeof (*ed)); | |
19 | ||
20 | ed->literal = s; | |
21 | return ed; | |
22 | } | |
23 | ||
24 | /*@only@*/ exprData exprData_makeId (/*@temp@*/ uentry id) | |
25 | { | |
26 | exprData ed = (exprData) dmalloc (sizeof (*ed)); | |
27 | ed->id = cstring_copy (uentry_rawName (id)); | |
28 | return ed; | |
29 | } | |
30 | ||
31 | /*@only@*/ exprData exprData_makePair (/*@keep@*/ exprNode a, /*@keep@*/ exprNode b) | |
32 | { | |
33 | exprData ed = (exprData) dmalloc (sizeof (*ed)); | |
34 | ||
35 | ed->pair = (exprPair) dmalloc (sizeof (*ed->pair)); | |
36 | ed->pair->a = a; | |
37 | ed->pair->b = b; | |
38 | ||
39 | return ed; | |
40 | } |