1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #undef LANGUAGE_C
6 #undef MIPSEB
7 #undef MIPSEL
8 #undef PPC
9 #undef R3000
10 #undef R4000
11 #undef i386
12 #undef linux
13 #undef mips
14 #undef near
15 #undef far
16 #undef powerpc
17 #undef unix
18 #define nimfr_(x, y)
19 #define nimln_(x, y)
20 typedef struct NimStringDesc NimStringDesc;
21 typedef struct TGenericSeq TGenericSeq;
22 typedef struct TNimType TNimType;
23 typedef struct TNimNode TNimNode;
24 typedef NU8 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q;
25 struct TGenericSeq {
26 NI len;
27 NI reserved;
28 };
29 struct NimStringDesc {
30 TGenericSeq Sup;
31 NIM_CHAR data[SEQ_DECL_SIZE];
32 };
33 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
34 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
35 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
36 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
37 struct TNimType {
38 NI size;
39 NI align;
40 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
41 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
42 TNimType* base;
43 TNimNode* node;
44 void* finalizer;
45 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
46 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
47 };
48 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
49 struct TNimNode {
50 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
51 NI offset;
52 TNimType* typ;
53 NCSTRING name;
54 NI len;
55 TNimNode** sons;
56 };
57 N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c);
58 N_LIB_PRIVATE TNimType NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_;
N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q,prefixMatch__prefixmatches_10)59 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__prefixmatches_10)(NimStringDesc* p, NimStringDesc* s) {
60 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q result;
61 NI i;
62 { result = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
63 {
64 if (!((s ? s->Sup.len : 0) < (p ? p->Sup.len : 0))) goto LA3_;
65 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0);
66 goto BeforeRet_;
67 }
68 LA3_: ;
69 i = ((NI) 0);
70 {
71 while (1) {
72 if (!(i < (s ? s->Sup.len : 0))) goto LA6;
73 {
74 if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA9_;
75 i += ((NI) 1);
76 }
77 LA9_: ;
78 {
79 NIM_BOOL T13_;
80 NIM_CHAR T15_;
81 NIM_CHAR T16_;
82 NI ii;
83 NI jj;
84 T13_ = (NIM_BOOL)0;
85 T13_ = (i < (s ? s->Sup.len : 0));
86 if (!(T13_)) goto LA14_;
87 T15_ = (NIM_CHAR)0;
88 T15_ = nsuToLowerAsciiChar(s->data[i]);
89 T16_ = (NIM_CHAR)0;
90 T16_ = nsuToLowerAsciiChar(p->data[((NI) 0)]);
91 T13_ = ((NU8)(T15_) == (NU8)(T16_));
92 LA14_: ;
93 if (!T13_) goto LA17_;
94 ii = (NI)(i + ((NI) 1));
95 jj = ((NI) 1);
96 {
97 while (1) {
98 NIM_BOOL T21_;
99 T21_ = (NIM_BOOL)0;
100 T21_ = (ii < (s ? s->Sup.len : 0));
101 if (!(T21_)) goto LA22_;
102 T21_ = (jj < (p ? p->Sup.len : 0));
103 LA22_: ;
104 if (!T21_) goto LA20;
105 {
106 if (!((NU8)(p->data[jj]) == (NU8)(95))) goto LA25_;
107 jj += ((NI) 1);
108 }
109 LA25_: ;
110 {
111 if (!((NU8)(s->data[ii]) == (NU8)(95))) goto LA29_;
112 ii += ((NI) 1);
113 }
114 LA29_: ;
115 {
116 NIM_CHAR T33_;
117 NIM_CHAR T34_;
118 T33_ = (NIM_CHAR)0;
119 T33_ = nsuToLowerAsciiChar(s->data[ii]);
120 T34_ = (NIM_CHAR)0;
121 T34_ = nsuToLowerAsciiChar(p->data[jj]);
122 if (!!(((NU8)(T33_) == (NU8)(T34_)))) goto LA35_;
123 goto LA19;
124 }
125 LA35_: ;
126 ii += ((NI) 1);
127 jj += ((NI) 1);
128 } LA20: ;
129 } LA19: ;
130 {
131 if (!((p ? p->Sup.len : 0) <= jj)) goto LA39_;
132 {
133 if (!(i == ((NI) 0))) goto LA43_;
134 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 3);
135 goto BeforeRet_;
136 }
137 goto LA41_;
138 LA43_: ;
139 {
140 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 2);
141 goto BeforeRet_;
142 }
143 LA41_: ;
144 }
145 LA39_: ;
146 }
147 LA17_: ;
148 i += ((NI) 1);
149 } LA6: ;
150 }
151 {
152 NIM_CHAR T48_;
153 NIM_CHAR T49_;
154 NI j;
155 T48_ = (NIM_CHAR)0;
156 T48_ = nsuToLowerAsciiChar(s->data[((NI) 0)]);
157 T49_ = (NIM_CHAR)0;
158 T49_ = nsuToLowerAsciiChar(p->data[((NI) 0)]);
159 if (!((NU8)(T48_) == (NU8)(T49_))) goto LA50_;
160 i = ((NI) 1);
161 j = ((NI) 1);
162 {
163 while (1) {
164 if (!(i < (s ? s->Sup.len : 0))) goto LA53;
165 {
166 NIM_BOOL T56_;
167 T56_ = (NIM_BOOL)0;
168 T56_ = (i < (NI)((s ? s->Sup.len : 0) - ((NI) 1)));
169 if (!(T56_)) goto LA57_;
170 T56_ = ((NU8)(s->data[i]) == (NU8)(95));
171 LA57_: ;
172 if (!T56_) goto LA58_;
173 {
174 NIM_BOOL T62_;
175 NIM_CHAR T64_;
176 NIM_CHAR T65_;
177 T62_ = (NIM_BOOL)0;
178 T62_ = (j < (p ? p->Sup.len : 0));
179 if (!(T62_)) goto LA63_;
180 T64_ = (NIM_CHAR)0;
181 T64_ = nsuToLowerAsciiChar(p->data[j]);
182 T65_ = (NIM_CHAR)0;
183 T65_ = nsuToLowerAsciiChar(s->data[(NI)(i + ((NI) 1))]);
184 T62_ = ((NU8)(T64_) == (NU8)(T65_));
185 LA63_: ;
186 if (!T62_) goto LA66_;
187 j += ((NI) 1);
188 }
189 goto LA60_;
190 LA66_: ;
191 {
192 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0);
193 goto BeforeRet_;
194 }
195 LA60_: ;
196 }
197 LA58_: ;
198 {
199 NIM_BOOL T71_;
200 NIM_BOOL T72_;
201 T71_ = (NIM_BOOL)0;
202 T72_ = (NIM_BOOL)0;
203 T72_ = (i < (s ? s->Sup.len : 0));
204 if (!(T72_)) goto LA73_;
205 T72_ = (((NU8)(s->data[i])) >= ((NU8)(65)) && ((NU8)(s->data[i])) <= ((NU8)(90)));
206 LA73_: ;
207 T71_ = T72_;
208 if (!(T71_)) goto LA74_;
209 T71_ = !((((NU8)(s->data[(NI)(i - ((NI) 1))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(i - ((NI) 1))])) <= ((NU8)(90))));
210 LA74_: ;
211 if (!T71_) goto LA75_;
212 {
213 NIM_BOOL T79_;
214 NIM_CHAR T81_;
215 NIM_CHAR T82_;
216 T79_ = (NIM_BOOL)0;
217 T79_ = (j < (p ? p->Sup.len : 0));
218 if (!(T79_)) goto LA80_;
219 T81_ = (NIM_CHAR)0;
220 T81_ = nsuToLowerAsciiChar(p->data[j]);
221 T82_ = (NIM_CHAR)0;
222 T82_ = nsuToLowerAsciiChar(s->data[i]);
223 T79_ = ((NU8)(T81_) == (NU8)(T82_));
224 LA80_: ;
225 if (!T79_) goto LA83_;
226 j += ((NI) 1);
227 }
228 goto LA77_;
229 LA83_: ;
230 {
231 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0);
232 goto BeforeRet_;
233 }
234 LA77_: ;
235 }
236 LA75_: ;
237 i += ((NI) 1);
238 } LA53: ;
239 }
240 {
241 if (!((p ? p->Sup.len : 0) <= j)) goto LA88_;
242 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 1);
243 goto BeforeRet_;
244 }
245 goto LA86_;
246 LA88_: ;
247 {
248 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0);
249 goto BeforeRet_;
250 }
251 LA86_: ;
252 }
253 LA50_: ;
254 result = ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0);
255 goto BeforeRet_;
256 }BeforeRet_: ;
257 return result;
258 }
N_NIMCALL(void,compiler_prefixmatchesDatInit000)259 N_LIB_PRIVATE N_NIMCALL(void, compiler_prefixmatchesDatInit000)(void) {
260 static TNimNode* TM__P9b9adRChs9cbzL6i5n3jD9b9ag_2_4[4];
261 NI TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4;
262 static char* NIM_CONST TM__P9b9adRChs9cbzL6i5n3jD9b9ag_3[4] = {
263 "None",
264 "Abbrev",
265 "Substr",
266 "Prefix"};
267 static TNimNode TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[5];
268 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.size = sizeof(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q);
269 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.align = NIM_ALIGNOF(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q);
270 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.kind = 14;
271 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.base = 0;
272 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.flags = 3;
273 for (TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4 = 0; TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4 < 4; TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4++) {
274 TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4+0].kind = 1;
275 TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4+0].offset = TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4;
276 TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4+0].name = TM__P9b9adRChs9cbzL6i5n3jD9b9ag_3[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4];
277 TM__P9b9adRChs9cbzL6i5n3jD9b9ag_2_4[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4] = &TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[TM__P9b9adRChs9cbzL6i5n3jD9b9ag_4+0];
278 }
279 TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[4].len = 4; TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[4].kind = 2; TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[4].sons = &TM__P9b9adRChs9cbzL6i5n3jD9b9ag_2_4[0];
280 NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_.node = &TM__P9b9adRChs9cbzL6i5n3jD9b9ag_0[4];
281 }
282
283