2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
6 # ifndef LETDECLNODELIST_H
7 # define LETDECLNODELIST_H
9 typedef /*@only@*/ letDeclNode o_letDeclNode;
15 /*@reldef@*/ /*@relnull@*/ o_letDeclNode *elements;
18 /*@iter letDeclNodeList_elements (sef letDeclNodeList x, yield exposed letDeclNode el); @*/
19 # define letDeclNodeList_elements(x, m_el) \
20 { int m_ind; letDeclNode *m_elements = &((x)->elements[0]); \
21 for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
22 { letDeclNode m_el = *(m_elements++);
24 # define end_letDeclNodeList_elements }}
26 extern /*@only@*/ letDeclNodeList letDeclNodeList_new(void);
27 extern letDeclNodeList
28 letDeclNodeList_add (/*@returned@*/ letDeclNodeList p_s, /*@only@*/ letDeclNode p_el);
30 extern /*@only@*/ cstring letDeclNodeList_unparse (letDeclNodeList p_s) ;
31 extern void letDeclNodeList_free (/*@only@*/ letDeclNodeList p_s) ;
33 /*@constant int letDeclNodeListBASESIZE;@*/
34 # define letDeclNodeListBASESIZE SMALLBASESIZE
37 # error "Multiple include"