#include "lclintMacros.nf"#include "llbasic.h"Go to the source code of this file.
Functions | |
| sortSet | sortSet_new () |
| bool | sortSet_insert (sortSet s, sort el) |
| sort | sortSet_choose (sortSet s) |
| bool | sortSet_member (sortSet s, sort el) |
| cstring | sortSet_unparse (sortSet s) |
| cstring | sortSet_unparseClean (sortSet s) |
| cstring | sortSet_unparseOr (sortSet s) |
| void | sortSet_free (sortSet s) |
| sortSet | sortSet_copy (sortSet s) |
|
|
Definition at line 118 of file sortSet.c. Referenced by checkSort(). 00119 {
00120 llassert (sortSet_isDefined (s) && s->entries > 0);
00121 return (s->elements[0]);
00122 }
|
|
|
Definition at line 219 of file sortSet.c. 00220 {
00221 sortSet t = sortSet_predict (sortSet_size (s));
00222 int i;
00223
00224 if (sortSet_isDefined (s))
00225 {
00226 for (i = 0; i < sortSet_size (s); i++)
00227 {
00228 (void) sortSet_insert (t, s->elements[i]);
00229 }
00230 }
00231
00232 return t;
00233 }
|
|
|
Definition at line 209 of file sortSet.c. Referenced by computePossibleSorts(). |
|
|
Definition at line 98 of file sortSet.c. Referenced by computePossibleSorts(), makeLiteralTermNode(), makeQuantifiedTermNode(), makeSimpleTermNode(), makeSizeofTermNode(), makeUnchangedTermNode1(), makeUnchangedTermNode2(), and sortSet_copy(). 00099 {
00100 llassert (sortSet_isDefined (s));
00101
00102 if (sortSet_member (s, el))
00103 {
00104 return FALSE;
00105 }
00106 else
00107 {
00108 if (s->nspace <= 0)
00109 sortSet_grow (s);
00110 s->nspace--;
00111 s->elements[s->entries] = el;
00112 s->entries++;
00113 return TRUE;
00114 }
00115 }
|
|
|
Definition at line 125 of file sortSet.c. Referenced by sortSet_insert(). 00126 {
00127 if (sortSet_isDefined (s))
00128 {
00129 int i;
00130
00131 for (i = 0; i < s->entries; i++)
00132 {
00133 if (sort_equal (&el, &(s->elements[i])))
00134 {
00135 return TRUE;
00136 }
00137 }
00138 }
00139
00140 return FALSE;
00141 }
|
|
|
Definition at line 35 of file sortSet.c. Referenced by makeIfTermNode(), makeInfixTermNode(), makeLiteralTermNode(), makeMapTermNode(), makeMatchedNode(), makeOpCallTermNode(), makePostfixTermNode2(), makePrefixTermNode(), makeQuantifiedTermNode(), makeSelectTermNode(), makeSimpleTermNode(), makeSizeofTermNode(), makeSqBracketedNode(), makeUnchangedTermNode1(), makeUnchangedTermNode2(), and pushInfixOpPartNode(). 00036 {
00037 sortSet s = (sortSet) dmalloc (sizeof (*s));
00038
00039 s->entries = 0;
00040 s->nspace = sortSetBASESIZE;
00041 s->elements = (sort *) dmalloc (sizeof (*s->elements) * sortSetBASESIZE);
00042
00043 return (s);
00044 }
|
|
|
Definition at line 144 of file sortSet.c. 00145 {
00146 return (message ("{ %q }", sortSet_unparseClean (s)));
00147 }
|
|
|
Definition at line 150 of file sortSet.c. Referenced by checkSort(). 00151 {
00152 cstring st = cstring_undefined;
00153
00154 if (sortSet_isDefined (s))
00155 {
00156 int i;
00157
00158 for (i = 0; i < s->entries; i++)
00159 {
00160 if (i == 0)
00161 {
00162 st = message ("%q%s", st, sort_unparseName (s->elements[i]));
00163 }
00164 else
00165 {
00166 st = message ("%q, %s", st, sort_unparseName (s->elements[i]));
00167 }
00168 }
00169 }
00170
00171 return st;
00172 }
|
|
|
Definition at line 175 of file sortSet.c. 00176 {
00177 cstring st = cstring_undefined;
00178
00179 if (sortSet_isDefined (s))
00180 {
00181 int i;
00182 int last = s->entries - 1;
00183
00184 for (i = 0; i < s->entries; i++)
00185 {
00186 if (i == 0)
00187 {
00188 st = cstring_concatFree (st, sort_unparse (s->elements[i]));
00189 }
00190 else
00191 {
00192 if (i == last)
00193 {
00194 /* was sort_unparse ??? */
00195 st = message ("%q or %q", st, sort_unparse (s->elements[i]));
00196 }
00197 else
00198 {
00199 st = message ("%q, %q", st, sort_unparse (s->elements[i]));
00200 }
00201 }
00202 }
00203 }
00204
00205 return st;
00206 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000