]> andersk Git - splint.git/blob - src/Headers/exprNodeSList.h
Updated copyrights
[splint.git] / src / Headers / exprNodeSList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
6 # ifndef exprNodeSList_H
7 # define exprNodeSList_H
8
9 /*
10 ** like exprNodeList, except elements are dependent.
11 */
12
13 typedef /*@dependent@*/ exprNode d_exprNode;
14
15 abst_typedef struct
16 {
17   int nelements;
18   int nspace;
19   /*@reldef@*/ /*@relnull@*/ d_exprNode *elements;
20 } *exprNodeSList;
21
22 /*@iter exprNodeSList_elements (sef exprNodeSList x, yield exposed exprNode el); @*/
23 # define exprNodeSList_elements(x, m_el) \
24    { int m_ind; exprNode *m_elements = &((x)->elements[0]); \
25      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
26        { exprNode m_el = *(m_elements++); 
27
28 # define end_exprNodeSList_elements }}
29
30 extern /*@only@*/ exprNodeSList exprNodeSList_new(void);
31
32 extern /*@only@*/ exprNodeSList exprNodeSList_singleton (/*@exposed@*/ /*@dependent@*/ exprNode p_e) ;
33
34 extern /*@unused@*/ void 
35   exprNodeSList_addh (exprNodeSList p_s, /*@exposed@*/ /*@dependent@*/ exprNode p_el);
36
37 extern /*@only@*/ /*@unused@*/ cstring exprNodeSList_unparse (exprNodeSList p_s);
38 extern void exprNodeSList_free (/*@only@*/ exprNodeSList p_s) ;
39
40 extern exprNodeSList 
41   exprNodeSList_append (/*@returned@*/ exprNodeSList p_s1, /*@only@*/ exprNodeSList p_s2) ;
42
43 /*@constant int exprNodeSListBASESIZE;@*/
44 # define exprNodeSListBASESIZE SMALLBASESIZE
45
46 # endif
47
48
49
50
This page took 0.059074 seconds and 5 git commands to generate.