Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

exprNodeSList.c File Reference

#include "lclintMacros.nf"
#include "basic.h"
#include "exprNodeSList.h"

Go to the source code of this file.

Functions

exprNodeSList exprNodeSList_new ()
void exprNodeSList_addh (exprNodeSList s, exprNode el)
exprNodeSList exprNodeSList_append ( exprNodeSList s1, exprNodeSList s2)
exprNodeSList exprNodeSList_singleton ( exprNode e)
cstring exprNodeSList_unparse (exprNodeSList s)
void exprNodeSList_free (exprNodeSList s)


Function Documentation

void exprNodeSList_addh ( exprNodeSList s,
exprNode el )
 

Definition at line 74 of file exprNodeSList.c.

Referenced by exprNodeSList_append().

00075 {
00076   llassert (exprNodeSListBASESIZE > 0);
00077 
00078   if (s->nspace <= 0)
00079     exprNodeSList_grow (s);
00080   
00081   s->nspace--;
00082   s->elements[s->nelements] = el;
00083   s->nelements++;
00084 }

exprNodeSList exprNodeSList_append ( exprNodeSList s1,
exprNodeSList s2 )
 

Definition at line 90 of file exprNodeSList.c.

00091 {
00092   exprNodeSList_elements (s2, x)
00093     {
00094       exprNodeSList_addh (s1, x);
00095     } end_exprNodeSList_elements;
00096 
00097   exprNodeSList_free (s2);
00098   return s1;
00099 }

void exprNodeSList_free ( exprNodeSList s )
 

Definition at line 133 of file exprNodeSList.c.

Referenced by exprNodeSList_append().

00134 {
00135   sfree (s->elements); 
00136   sfree (s);
00137 }

exprNodeSList exprNodeSList_new ( )
 

Definition at line 37 of file exprNodeSList.c.

00038 {
00039   exprNodeSList s = (exprNodeSList) dmalloc (sizeof (*s));
00040   
00041   s->nelements = 0;
00042   s->nspace = exprNodeSListBASESIZE; 
00043   s->elements = (exprNode *) 
00044     dmalloc (sizeof (*s->elements) * exprNodeSListBASESIZE);
00045 
00046   return (s);
00047 }

exprNodeSList exprNodeSList_singleton ( exprNode e )
 

Definition at line 101 of file exprNodeSList.c.

00102 {
00103   exprNodeSList s = (exprNodeSList) dmalloc (sizeof (*s));
00104   
00105   s->nelements = 1;
00106   s->nspace = exprNodeSListBASESIZE - 1; 
00107   s->elements = (exprNode *) dmalloc (sizeof (*s->elements) * exprNodeSListBASESIZE);
00108   s->elements[0] = e;
00109 
00110   return (s);
00111 }

cstring exprNodeSList_unparse ( exprNodeSList s )
 

Definition at line 114 of file exprNodeSList.c.

00115 {
00116    int i;
00117    cstring st = cstring_undefined;
00118 
00119    for (i = 0; i < s->nelements; i++)
00120      {
00121        if (i == 0)
00122          {
00123            st = cstring_copy (exprNode_unparse (s->elements[i]));
00124          }
00125        else
00126          st = message ("%q, %s", st, exprNode_unparse (s->elements[i]));
00127      }
00128    
00129    return st;
00130 }


Generated at Fri Nov 3 18:57:58 2000 for LCLint by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000