#include "lclintMacros.nf"#include "llbasic.h"#include "checking.h"Go to the source code of this file.
Functions | |
| lslOpSet | lslOpSet_new () |
| bool | lslOpSet_insert (lslOpSet s, lslOp el) |
| cstring | lslOpSet_unparse (lslOpSet s) |
| lslOpSet | lslOpSet_copy (lslOpSet s) |
| void | lslOpSet_free (lslOpSet s) |
|
|
Definition at line 164 of file lslOpSet.c. 00165 {
00166 if (lslOpSet_isDefined (s))
00167 {
00168 lslOpSet t = lslOpSet_predict (lslOpSet_size (s));
00169 int i;
00170
00171 for (i = 0; i < lslOpSet_size (s); i++)
00172 {
00173 (void) lslOpSet_insert (t, lslOp_copy (s->elements[i]));
00174 }
00175
00176 return t;
00177 }
00178 else
00179 {
00180 return lslOpSet_undefined;
00181 }
00182 }
|
|
|
Definition at line 185 of file lslOpSet.c. Referenced by computePossibleSorts(). 00186 {
00187 if (lslOpSet_isDefined (s))
00188 {
00189 int i;
00190 for (i = 0; i < s->entries; i++)
00191 {
00192 lslOp_free (s->elements[i]);
00193 }
00194
00195 sfree (s->elements);
00196 sfree (s);
00197 }
00198 }
|
|
|
Definition at line 104 of file lslOpSet.c. Referenced by lslOpSet_copy(), makeLiteralTermNode(), makeSimpleTermNode(), and symtable_opsWithLegalDomain(). 00105 {
00106 llassert (lslOpSet_isDefined (s));
00107
00108 if (lslOpSet_member (s, el))
00109 {
00110 lslOp_free (el);
00111 return FALSE;
00112 }
00113 else
00114 {
00115 if (s->nspace <= 0)
00116 lslOpSet_grow (s);
00117 s->nspace--;
00118 s->elements[s->entries] = el;
00119 s->entries++;
00120 return TRUE;
00121 }
00122 }
|
|
|
Definition at line 39 of file lslOpSet.c. Referenced by computePossibleSorts(), makeIfTermNode(), makeInfixTermNode(), makeLiteralTermNode(), makeMapTermNode(), makeMatchedNode(), makeOpCallTermNode(), makePostfixTermNode2(), makePrefixTermNode(), makeQuantifiedTermNode(), makeSelectTermNode(), makeSimpleTermNode(), makeSizeofTermNode(), makeSqBracketedNode(), makeUnchangedTermNode1(), makeUnchangedTermNode2(), pushInfixOpPartNode(), and symtable_opsWithLegalDomain(). 00040 {
00041 lslOpSet s = (lslOpSet) dmalloc (sizeof (*s));
00042
00043 s->entries = 0;
00044 s->nspace = lslOpSetBASESIZE;
00045 s->elements = (lslOp *)
00046 dmalloc (sizeof (*s->elements) * lslOpSetBASESIZE);
00047
00048 return (s);
00049 }
|
|
|
Definition at line 142 of file lslOpSet.c. 00143 {
00144 if (lslOpSet_isDefined (s))
00145 {
00146 int i;
00147 cstring st = cstring_makeLiteral ("{");
00148
00149 for (i = 0; i < lslOpSet_size (s); i++)
00150 {
00151 st = message ("%q %q", st, lslOp_unparse (s->elements[i]));
00152 }
00153
00154 st = message ("%q}", st);
00155 return st;
00156 }
00157 else
00158 {
00159 return (cstring_makeLiteral ("{ }"));
00160 }
00161 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000