#include "lclintMacros.nf"#include "llbasic.h"#include "intSet.h"Go to the source code of this file.
Functions | |
| sigNodeSet | sigNodeSet_new () |
| sigNodeSet | sigNodeSet_singleton (sigNode el) |
| bool | sigNodeSet_insert (sigNodeSet s, sigNode el) |
| cstring | sigNodeSet_unparse (sigNodeSet s) |
| cstring | sigNodeSet_unparseSomeSigs (sigNodeSet s) |
| cstring | sigNodeSet_unparsePossibleAritys (sigNodeSet s) |
| void | sigNodeSet_free (sigNodeSet s) |
|
|
Definition at line 209 of file sigNodeSet.c. 00210 {
00211 if (sigNodeSet_isDefined (s))
00212 {
00213 int i;
00214 for (i = 0; i < s->entries; i++)
00215 {
00216 sigNode_free (s->elements[i]);
00217 }
00218
00219 sfree (s->elements);
00220 sfree (s);
00221 }
00222 }
|
|
|
Definition at line 90 of file sigNodeSet.c. 00091 {
00092 llassert (sigNodeSet_isDefined (s));
00093
00094 if (sigNodeSet_member (s, el))
00095 {
00096 sigNode_free (el);
00097 return FALSE;
00098 }
00099 else
00100 {
00101 if (s->nspace <= 0)
00102 {
00103 sigNodeSet_grow (s);
00104 }
00105
00106 s->nspace--;
00107 s->elements[s->entries] = el;
00108 s->entries++;
00109 return TRUE;
00110 }
00111 }
|
|
|
Definition at line 39 of file sigNodeSet.c. Referenced by symtable_enterOp(). 00040 {
00041 sigNodeSet s = (sigNodeSet) dmalloc (sizeof (*s));
00042
00043 s->entries = 0;
00044 s->nspace = sigNodeSetBASESIZE;
00045 s->elements = (sigNode *) dmalloc (sizeof (*s->elements) * sigNodeSetBASESIZE);
00046
00047 return (s);
00048 }
|
|
|
Definition at line 51 of file sigNodeSet.c. Referenced by symtable_enterOp(). 00052 {
00053 sigNodeSet s = (sigNodeSet) dmalloc (sizeof (*s));
00054
00055 s->entries = 1;
00056 s->nspace = sigNodeSetBASESIZE - 1;
00057 s->elements = (sigNode *) dmalloc (sizeof (*s->elements) * sigNodeSetBASESIZE);
00058 s->elements[0] = el;
00059
00060 return (s);
00061 }
|
|
|
Definition at line 134 of file sigNodeSet.c. 00135 {
00136 int i;
00137 cstring st = cstring_undefined;
00138
00139 if (sigNodeSet_isDefined (s))
00140 {
00141 for (i = 0; i < s->entries; i++)
00142 {
00143 if (i == 0)
00144 {
00145 st = sigNode_unparse (s->elements[i]);
00146 }
00147 else
00148 st = message ("%q, %q", st, sigNode_unparse (s->elements[i]));
00149 }
00150 }
00151
00152 return st;
00153 }
|
|
|
Definition at line 188 of file sigNodeSet.c. Referenced by computePossibleSorts(). 00189 {
00190 int i;
00191 intSet is = intSet_new ();
00192 cstring st;
00193
00194 if (sigNodeSet_isDefined (s))
00195 {
00196 for (i = 0; i < s->entries; i++)
00197 {
00198 int arity = ltokenList_size ((s->elements[i])->domain);
00199 (void) intSet_insert (is, arity);
00200 }
00201 }
00202
00203 st = intSet_unparseText (is);
00204 intSet_free (is);
00205 return (st);
00206 }
|
|
|
Definition at line 156 of file sigNodeSet.c. 00157 {
00158 int i;
00159 cstring st = cstring_undefined;
00160
00161 if (sigNodeSet_isDefined (s))
00162 {
00163 for (i = 0; i < s->entries; i++)
00164 {
00165 cstring t = sigNode_unparseText (s->elements[i]);
00166
00167 if (i == 0)
00168 {
00169 st = cstring_copy (t);
00170 cstring_free (t);
00171 }
00172 else if (i > 5 && (s->entries > 8))
00173 {
00174 return (message ("%q; %q; ... (%d more signatures)",
00175 st, t, (s->entries - i - 1)));
00176 }
00177 else
00178 {
00179 st = message ("%q; %q", st, t);
00180 }
00181 }
00182 }
00183
00184 return st;
00185 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000