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