#include "lclintMacros.nf"#include "llbasic.h"Go to the source code of this file.
Functions | |
| ltokenList | ltokenList_new () |
| ltokenList | ltokenList_singleton (ltoken l) |
| ltokenList | ltokenList_push ( ltokenList s, ltoken el) |
| void | ltokenList_addh (ltokenList s, ltoken el) |
| void | ltokenList_reset (ltokenList s) |
| bool | ltokenList_isFinished (ltokenList s) |
| void | ltokenList_advance (ltokenList s) |
| ltoken | ltokenList_head (ltokenList s) |
| bool | ltokenList_equal (ltokenList s1, ltokenList s2) |
| ltokenList | ltokenList_copy (ltokenList s) |
| void | ltokenList_removeCurrent (ltokenList s) |
| ltoken | ltokenList_current (ltokenList s) |
| cstring | ltokenList_unparse (ltokenList s) |
| void | ltokenList_free (ltokenList s) |
|
|
Definition at line 91 of file ltokenList.c. Referenced by abstract_init(), ltokenList_copy(), ltokenList_push(), and makeCTypesNode(). 00092 {
00093 llassert (ltokenList_isDefined (s));
00094
00095 if (s->nspace <= 0)
00096 ltokenList_grow (s);
00097
00098 s->nspace--;
00099 s->elements[s->nelements] = el;
00100 s->nelements++;
00101 }
|
|
|
Definition at line 119 of file ltokenList.c. Referenced by makeEnumSpecNode(). 00120 {
00121 if (ltokenList_isDefined (s))
00122 {
00123 s->current++;
00124 llassert (s->current <= s->nelements);
00125 }
00126 }
|
|
|
Definition at line 167 of file ltokenList.c. Referenced by abstract_init(), and sigNode_copy(). 00168 {
00169 ltokenList r = ltokenList_new ();
00170
00171 ltokenList_elements (s, x)
00172 {
00173 ltokenList_addh (r, ltoken_copy (x));
00174 } end_ltokenList_elements;
00175
00176 return r;
00177 }
|
|
|
Definition at line 195 of file ltokenList.c. Referenced by makeEnumSpecNode(). 00196 {
00197 llassert (ltokenList_isDefined (s) && s->current >= 0 && s->current < s->nelements);
00198 return (s->elements[s->current]);
00199 }
|
|
|
Definition at line 136 of file ltokenList.c. Referenced by sigNode_equal(). 00137 {
00138 if (ltokenList_isUndefined (s1))
00139 {
00140 return (ltokenList_isEmpty (s2));
00141 }
00142 else
00143 {
00144 if (ltokenList_isUndefined (s2))
00145 {
00146 return ltokenList_isEmpty (s1);
00147 }
00148 else
00149 {
00150 int i;
00151 int size = s1->nelements;
00152
00153 if (s2->nelements != size)
00154 return FALSE;
00155
00156 for (i = 0; i < size; i++)
00157 {
00158 if (!ltoken_similar (s1->elements[i], s2->elements[i]))
00159 return FALSE;
00160 }
00161 return TRUE;
00162 }
00163 }
00164 }
|
|
|
Definition at line 224 of file ltokenList.c. Referenced by makeAbstBodyNode2(), makePostfixTermNode(), sigNode_free(), and traitRefNode_free(). |
|
|
Definition at line 129 of file ltokenList.c. Referenced by lclTypeSpecNode_errorToken(). 00130 {
00131 llassert (ltokenList_isDefined (s) && s->nelements > 0);
00132 return (s->elements[0]);
00133 }
|
|
|
Definition at line 113 of file ltokenList.c. Referenced by makeEnumSpecNode(). 00114 {
00115 return (ltokenList_isUndefined(s) || (s->current == s->nelements));
00116 }
|
|
|
Definition at line 36 of file ltokenList.c. Referenced by abstract_init(), ltokenList_copy(), makeCTypesNode(), and makeEnumSpecNode2(). 00037 {
00038 ltokenList s = (ltokenList) dmalloc (sizeof (*s));
00039
00040 s->nelements = 0;
00041 s->nspace = ltokenListBASESIZE;
00042 s->elements = (ltoken *)
00043 dmalloc (sizeof (*s->elements) * ltokenListBASESIZE);
00044 s->current = 0;
00045
00046 return (s);
00047 }
|
|
|
Definition at line 84 of file ltokenList.c. 00085 {
00086 ltokenList_addh (s, el);
00087 return s;
00088 }
|
|
|
Definition at line 180 of file ltokenList.c. Referenced by makeEnumSpecNode(). 00181 {
00182 int i;
00183 llassert (ltokenList_isDefined (s) && s->current >= 0 && s->current < s->nelements);
00184
00185 for (i = s->current; i < s->nelements - 1; i++)
00186 {
00187 s->elements[i] = s->elements[i+1];
00188 }
00189
00190 s->nelements--;
00191 s->nspace++;
00192 }
|
|
|
Definition at line 104 of file ltokenList.c. Referenced by makeEnumSpecNode(). 00105 {
00106 if (ltokenList_isDefined (s))
00107 {
00108 s->current = 0;
00109 }
00110 }
|
|
|
Definition at line 50 of file ltokenList.c. Referenced by makeTypeSpecifier(). 00051 {
00052 ltokenList s = (ltokenList) dmalloc (sizeof (*s));
00053
00054 s->nelements = 1;
00055 s->nspace = ltokenListBASESIZE - 1;
00056 s->elements = (ltoken *) dmalloc (sizeof (*s->elements) * ltokenListBASESIZE);
00057 s->elements[0] = l;
00058 s->current = 0;
00059
00060 return (s);
00061 }
|
|
|
Definition at line 202 of file ltokenList.c. Referenced by printLeaves2(). 00203 {
00204 int i;
00205 cstring st = cstring_undefined;
00206
00207 if (ltokenList_isDefined (s))
00208 {
00209 for (i = 0; i < s->nelements; i++)
00210 {
00211 if (i == 0)
00212 {
00213 st = cstring_copy (ltoken_unparse (s->elements[i]));
00214 }
00215 else
00216 st = message ("%q, %s", st, ltoken_unparse (s->elements[i]));
00217 }
00218 }
00219
00220 return st;
00221 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000