1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #include <stdio.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw;
24 typedef struct tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw;
25 typedef struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag;
26 typedef struct RootObj RootObj;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct NimStringDesc NimStringDesc;
30 typedef struct TGenericSeq TGenericSeq;
31 typedef struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g;
32 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
35 typedef struct tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA;
36 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
37 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
38 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
39 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
40 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
41 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
42 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
43 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
44 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
45 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
46 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
47 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
48 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
49 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
50 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
51 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
52 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
53 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
54 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
55 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
56 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
57 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
58 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
59 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
60 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
61 struct TNimType {
62 NI size;
63 NI align;
64 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
65 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
66 TNimType* base;
67 TNimNode* node;
68 void* finalizer;
69 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
70 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
71 };
72 struct RootObj {
73 TNimType* m_type;
74 };
75 struct TGenericSeq {
76 NI len;
77 NI reserved;
78 };
79 struct NimStringDesc {
80   TGenericSeq Sup;
81 NIM_CHAR data[SEQ_DECL_SIZE];
82 };
83 struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag {
84   RootObj Sup;
85 NI bufpos;
86 NCSTRING buf;
87 NimStringDesc* bufStorage;
88 NI bufLen;
89 tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* stream;
90 NI lineNumber;
91 NI sentinel;
92 NI lineStart;
93 NI offsetBase;
94 };
95 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
96 typedef struct {
97 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
98 void* ClE_0;
99 } tyProc__pIuD7iLYdwrBMntVRm61ZA;
100 struct tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw {
101   tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag Sup;
102 NI32 fileIdx;
103 NI indentAhead;
104 NI currLineIndent;
105 NIM_BOOL strongSpaces;
106 NIM_BOOL allowTabs;
107 tyProc__pIuD7iLYdwrBMntVRm61ZA errorHandler;
108 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
109 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
110 };
111 typedef NU8 tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ;
112 typedef NU8 tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog;
113 struct tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA {
114 tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ tokType;
115 NI indent;
116 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
117 NI64 iNumber;
118 NF fNumber;
119 tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog base;
120 NI8 strongSpaceA;
121 NI8 strongSpaceB;
122 NimStringDesc* literal;
123 NI line;
124 NI col;
125 };
126 struct tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw {
127 NI currInd;
128 NIM_BOOL firstTok;
129 NIM_BOOL hasProgress;
130 tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw lex;
131 tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA tok;
132 NI lineStartPrevious;
133 NI lineNumberPrevious;
134 NI bufposPrevious;
135 NI inPragma;
136 NI inSemiStmtList;
137 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
138 };
139 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
140 struct TNimNode {
141 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
142 NI offset;
143 TNimType* typ;
144 NCSTRING name;
145 NI len;
146 TNimNode** sons;
147 };
148 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
149 NU16 line;
150 NI16 col;
151 NI32 fileIndex;
152 };
153 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
154 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
155 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
156 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
157 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
158 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
159 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
160 union{
161 struct {NI64 intVal;
162 } _kind_1;
163 struct {NF floatVal;
164 } _kind_2;
165 struct {NimStringDesc* strVal;
166 } _kind_3;
167 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
168 } _kind_4;
169 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
170 } _kind_5;
171 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
172 } _kind_6;
173 };
174 };
175 typedef NU8 tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g;
176 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
177 NI id;
178 NimStringDesc* s;
179 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
180 NI h;
181 };
182 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
183 NI refcount;
184 TNimType* typ;
185 };
186 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
187 void* bottom;
188 };
189 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
190 NI len;
191 NI cap;
192 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
193 };
194 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
195 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
196 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
197 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
198 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
199 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
200 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
201 };
202 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
203 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
204 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
205 NI key;
206 NI upperBound;
207 NI level;
208 };
209 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
210 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
211 NI Field1;
212 };
213 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
214 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
215 NI len;
216 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
217 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
218 };
219 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
220 NI minLargeObj;
221 NI maxLargeObj;
222 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
223 NU32 flBitmap;
224 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
225 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
226 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
227 NI currMem;
228 NI maxMem;
229 NI freeMem;
230 NI occ;
231 NI lastSize;
232 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
233 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
234 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
235 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
236 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
237 NIM_BOOL locked;
238 NIM_BOOL blockChunkSizeIncrease;
239 NI nextChunkSize;
240 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
241 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
242 };
243 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
244 NI stackScans;
245 NI cycleCollections;
246 NI maxThreshold;
247 NI maxStackSize;
248 NI maxStackCells;
249 NI cycleTableSize;
250 NI64 maxPause;
251 };
252 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
253 NI counter;
254 NI max;
255 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
256 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
257 };
258 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
259 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
260 NI cycleThreshold;
261 NI zctThreshold;
262 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
263 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
264 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
265 NI recGcLock;
266 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
267 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
268 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
269 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
270 NI gcThreadId;
271 };
272 typedef NU8 tySet_tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA;
273 typedef NU8 tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA;
274 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
275 typedef NU8 tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg;
276 typedef NU8 tySet_tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ[15];
277 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
278 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
279 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
280 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__DRjGxmJIweFVoAt8was9aww) (tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
281 typedef NU8 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ;
282 typedef struct {
283 N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, void* buf, NI bufLen, void* ClE_0);
284 void* ClE_0;
285 } tyProc__9cZV5JMJLsdOPMv55VbpOVg;
286 typedef struct {
287 N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
288 void* ClE_0;
289 } tyProc__HzVCwACFYM9cx9aV62PdjtuA;
290 struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g {
291   RootObj Sup;
292 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ kind;
293 FILE* f;
294 NimStringDesc* s;
295 NI rd;
296 NI wr;
297 NI lineOffset;
298 tyProc__9cZV5JMJLsdOPMv55VbpOVg repl;
299 tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
300 };
301 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
302   TGenericSeq Sup;
303   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
304 };
305 N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_125)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputStream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
306 N_LIB_PRIVATE N_NIMCALL(void, initToken__lexer_248)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* L);
307 N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_270)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
308 N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_45)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
309 N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__lexer_1588)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
310 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
311 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
312 N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_376)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
313 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeP__parser_54)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
314 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
315 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, parLineInfo__parser_76)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
316 static N_INLINE(void, nimZeroMem)(void* p, NI size);
317 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
318 static N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__lexer_192)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
319 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col);
320 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, complexOrSimpleStmt__parser_580)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
321 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIfOrWhen__parser_1554)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
322 N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_85)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
323 N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_51)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
324 N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_165)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
325 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
326 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
327 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
328 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
329 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
330 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
331 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_47)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
332 N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__lexer_340)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NimStringDesc* arg);
333 N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_81)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
334 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_147)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* arg);
335 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
336 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExpr__parser_256)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
337 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseBlock__parser_112)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
338 N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_196)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
339 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseSymbol__parser_95)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g mode);
340 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNodeP__parser_69)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
341 static N_INLINE(void, asgnRef)(void** dest, void* src);
342 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
343 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
344 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
345 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
346 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
347 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
348 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
349 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
350 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_143)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* msg, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
351 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
352 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prettyTok__lexer_239)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
353 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
354 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___lexer_230)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
355 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
356 N_LIB_PRIVATE N_NIMCALL(void, eat__parser_78)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ tokType);
357 N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_336)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
358 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
359 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
360 N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_299)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
361 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStmt__parser_258)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
362 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleStmt__parser_2388)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
363 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseReturnOrRaise__parser_1533)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
364 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_1139)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
365 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, postExprBlocks__parser_107)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
366 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseParamList__parser_262)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL retColon);
367 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIdentColonEquals__parser_971)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tySet_tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA flags);
368 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identWithPragma__parser_946)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL allowDot);
369 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identVis__parser_925)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL allowDot);
370 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotExpr__parser_436)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
371 N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_378)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
372 N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__parser_399)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
373 N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_183)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
374 N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_83)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
375 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, exprColonEqExpr__parser_370)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
376 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, colonOrEquals__parser_342)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
377 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
378 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePragma__parser_105)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
379 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDesc__parser_260)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
380 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleExpr__parser_582)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
381 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleExprAux__parser_117)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NI limit, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
382 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, primary__parser_114)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
383 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__parser_43)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
384 static N_INLINE(NIM_BOOL, isSigilLike__parser_265)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
385 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, primarySuffix__parser_796)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, NI baseIndent, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
386 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, commandExpr__parser_775)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
387 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, commandParam__parser_748)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL* isFirstParam, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
388 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, namedParams__parser_737)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok);
389 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGStrLit__parser_560)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
390 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNodeP__parser_65)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
391 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
392 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
393 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__parser_789)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
394 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
395 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotLikeExpr__parser_473)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
396 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__parser_279)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
397 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTuple__parser_1029)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL indentAllowed);
398 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseProcExpr__parser_1110)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL isExpr, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
399 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, optPragmas__parser_1093)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
400 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newProcNode__ast_3821)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pattern, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptions);
401 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseEnum__parser_1228)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
402 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObject__parser_1230)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
403 static N_INLINE(NIM_BOOL, validInd__parser_162)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
404 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectPart__parser_2004)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
405 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectWhen__parser_2006)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
406 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectCase__parser_2039)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
407 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeClass__parser_1232)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
408 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeClassParam__parser_2136)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
409 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
410 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDescKAux__parser_1158)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
411 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
412 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
413 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
414 N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_1142)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
415 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identOrLiteral__parser_714)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
416 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNodeP__parser_57)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
417 N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_92)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog base);
418 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newFloatNodeP__parser_61)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NF floatVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
419 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7764)(NimStringDesc* s, NI first, NI last);
420 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7776)(NimStringDesc* s, NI first);
421 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, exprColonEqExprList__parser_431)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok);
422 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePar__parser_627)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
423 N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__parser_588)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
424 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIfOrWhenExpr__parser_585)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
425 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStmtPragma__parser_103)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
426 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setOrTableConstr__parser_498)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
427 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseCast__parser_522)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
428 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseOperators__parser_831)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headNode, NI limit, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode);
429 N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__lexer_1374)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
430 static N_INLINE(void, checkBinary__parser_286)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
431 static N_INLINE(NIM_BOOL, isRightAssociative__parser_272)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
432 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, binaryNot__parser_1294)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
433 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeCall__parser_1322)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
434 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseDoBlock__parser_1100)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
435 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseImport__parser_1464)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
436 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseModuleName__parser_1460)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
437 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseFromStmt__parser_1513)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
438 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIncludeStmt__parser_1497)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
439 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCommentStmt__parser_1909)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
440 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExprStmt__parser_110)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
441 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTreeI__ast_3420)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
442 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseFor__parser_1183)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
443 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseVarTuple__parser_1181)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
444 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseCase__parser_101)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
445 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTry__parser_98)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL isExpr);
446 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseWhile__parser_1622)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
447 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExceptBlock__parser_1685)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
448 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStaticOrDefer__parser_1712)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k);
449 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseAsm__parser_1720)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
450 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseRoutine__parser_1823)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
451 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePattern__parser_1820)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
452 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGenericParamList__parser_1804)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
453 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGenericParam__parser_1751)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
454 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
455 N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_74)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
456 N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_88)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL maybeMissEquals);
457 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
458 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
459 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseSection__parser_1912)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyProc__DRjGxmJIweFVoAt8was9aww defparser);
460 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDef__parser_2221)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDefAux__parser_1319)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
462 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseConstant__parser_2322)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
463 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseVariable__parser_2301)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
464 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseBind__parser_2359)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k);
465 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, qualifiedIdent__parser_491)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
466 N_LIB_PRIVATE N_NIMCALL(void, closeLexer__lexer_304)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex);
467 N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g*, llStreamOpen__llstream_30)(NimStringDesc* data);
468 N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ);
469 N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_131)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* filename, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputStream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
470 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseAll__parser_37)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
471 N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_39)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p);
472 N_LIB_PRIVATE TNimType NTIparser__kUTcqfBOdi2S1yCsNNzzUw_;
473 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
474 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
475 extern TNimType NTIlexer__JC9bQ4bKzkuzV9bdqS4ju8yw_;
476 extern TNimType NTItoken__sNMaWRTImjqfh1DU9cmdQkA_;
477 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
478 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_3, "skipComment", 11);
479 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_4, "invalid indentation", 19);
480 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_5, "identifier expected, but got \'$1\'", 33);
481 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_6, "expected: \'", 11);
482 extern TNimType NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_;
483 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_7, "\', but got: \'", 13);
484 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_8, "\'", 1);
485 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_9, "expression expected, but found \'$1\'", 35);
486 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_10, "nestable statement requires indentation", 39);
487 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_11, "expected \'.}\'", 13);
488 static NIM_CONST tySet_tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ TM__MW5RrD2zyVLHF67ojsDu8Q_12 = {
489 0x30, 0x00, 0x08, 0x20, 0x32, 0x68, 0x03, 0x03,
490 0x08, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00}
491 ;
492 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_13, "nimPreviewDotLikeOps", 20);
493 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_14, "dot-like operators will be parsed differently with `-d:nimPreviewDotLikeOps`", 76);
494 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_15, "the syntax for tuple types is \'tuple[...]\', not \'tuple(...)\'", 60);
495 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_16, "func keyword is not allowed in type descriptions, use proc with {.noSideEffect.} pragma instead", 95);
496 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_17, "type pragmas follow the type name; this form of writing pragmas is deprecated", 77);
497 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_18, "routine expected, but found \'$1\' (empty new-styled concepts are not allowed)", 76);
498 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_19, "the \'concept\' keyword is only valid in \'type\' sections", 54);
499 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_20, "with", 4);
500 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_21, "without", 7);
501 static NIM_CONST tySet_tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ TM__MW5RrD2zyVLHF67ojsDu8Q_22 = {
502 0x00, 0x25, 0x03, 0x9a, 0x84, 0x04, 0x00, 0x10,
503 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
504 ;
505 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_23, "\':\' or \'=\' expected, but got \'$1\'", 33);
506 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_24, "the syntax is \'parameter: var T\', not \'var parameter: T\'", 56);
507 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_25, "expected closing \')\'", 20);
508 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_26, "->", 2);
509 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_27, "expected \':\'", 12);
510 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_28, "expected \'except\'", 17);
511 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_29, "the \'asm\' statement takes a string literal", 42);
512 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_30, "in", 2);
513 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_31, "out", 3);
514 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_32, "invalid indentation, maybe you forgot a \'=\' at $1 \?", 51);
515 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_33, "pragma before generic parameter list is deprecated", 50);
516 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_34, "pragma already present", 22);
517 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_35, "*", 1);
518 STRING_LITERAL(TM__MW5RrD2zyVLHF67ojsDu8Q_36, "invalid indentation; an export marker \'*\' follows the declared identifier", 73);
519 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
N_NIMCALL(void,getTok__parser_45)520 N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_45)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
521 	(*p).lineNumberPrevious = (*p).lex.Sup.lineNumber;
522 	(*p).lineStartPrevious = (*p).lex.Sup.lineStart;
523 	(*p).bufposPrevious = (*p).lex.Sup.bufpos;
524 	rawGetTok__lexer_1588((&(*p).lex), (&(*p).tok));
525 	(*p).hasProgress = NIM_TRUE;
526 }
N_NIMCALL(void,openParser__parser_125)527 N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_125)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputStream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
528 	initToken__lexer_248((&(*p).tok));
529 	openLexer__lexer_270((&(*p).lex), fileIdx, inputStream, cache, config);
530 	getTok__parser_45(p);
531 	(*p).firstTok = NIM_TRUE;
532 	unsureAsgnRef((void**) (&(*p).emptyNode), newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
533 }
N_NIMCALL(void,openParser__parser_131)534 N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_131)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* filename, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputStream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
535 	NI32 T1_;
536 	T1_ = (NI32)0;
537 	T1_ = fileInfoIdx__msgs_376(config, filename);
538 	openParser__parser_125(p, T1_, inputStream, cache, config);
539 }
N_INLINE(void,nimSetMem__systemZmemory_7)540 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
541 	void* T1_;
542 	T1_ = (void*)0;
543 	T1_ = memset(a, v, ((size_t) (size)));
544 }
N_INLINE(void,nimZeroMem)545 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
546 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
547 }
N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,getLineInfo__lexer_192)548 static N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__lexer_192)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
549 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
550 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
551 	result = newLineInfo__msgs_381((*L).fileIdx, (*tok).line, (*tok).col);
552 	return result;
553 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,parLineInfo__parser_76)554 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, parLineInfo__parser_76)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
555 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
556 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
557 	result = getLineInfo__lexer_192((&(*p).lex), (&(*p).tok));
558 	return result;
559 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNodeP__parser_54)560 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeP__parser_54)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
561 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
562 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
563 	result = NIM_NIL;
564 	T1_ = parLineInfo__parser_76(p);
565 	result = newNodeI__ast_3356(kind, T1_);
566 	return result;
567 }
N_INLINE(void,nimCopyMem)568 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
569 	void* T1_;
570 	T1_ = (void*)0;
571 	T1_ = memcpy(dest, source, ((size_t) (size)));
572 }
N_INLINE(void,copyMem__system_1727)573 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
574 	nimCopyMem(dest, source, size);
575 }
N_INLINE(void,appendString)576 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
577 	{
578 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
579 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
580 		(*dest).Sup.len += (*src).Sup.len;
581 	}
582 	LA3_: ;
583 }
N_NIMCALL(void,parMessage__parser_47)584 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_47)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg) {
585 	lexMessageTok__lexer_340((&(*p).lex), msg, (&(*p).tok), arg);
586 }
N_NIMCALL(void,rawSkipComment__parser_165)587 N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_165)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
588 	{
589 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA3_;
590 		{
591 			NimStringDesc* rhs;
592 			NimStringDesc* T9_;
593 			if (!!((node == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
594 			rhs = comment__ast_993(node);
595 			rhs = resizeString(rhs, ((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 0);
596 appendString(rhs, (*p).tok.literal);
597 			T9_ = NIM_NIL;
598 			T9_ = rhs;
599 			rhs = NIM_NIL;
600 			commenteq___ast_1361(node, T9_);
601 		}
602 		goto LA5_;
603 		LA7_: ;
604 		{
605 			parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 2), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_3));
606 		}
607 		LA5_: ;
608 		getTok__parser_45(p);
609 	}
610 	LA3_: ;
611 }
N_NIMCALL(void,skipComment__parser_51)612 N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_51)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
613 	{
614 		if (!((*p).tok.indent < ((NI) 0))) goto LA3_;
615 		rawSkipComment__parser_165(p, node);
616 	}
617 	LA3_: ;
618 }
N_NIMCALL(void,parMessage__parser_147)619 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_147)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* arg) {
620 	lexMessageTok__lexer_340((&(*p).lex), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), (&(*p).tok), arg);
621 }
N_NIMCALL(void,skipInd__parser_81)622 N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_81)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
623 	{
624 		if (!(((NI) 0) <= (*p).tok.indent)) goto LA3_;
625 		{
626 			if (!!(((*p).currInd < (*p).tok.indent))) goto LA7_;
627 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
628 		}
629 		LA7_: ;
630 	}
631 	LA3_: ;
632 }
N_NIMCALL(void,optInd__parser_85)633 N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_85)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
634 	skipComment__parser_51(p, n);
635 	skipInd__parser_81(p);
636 }
N_NIMCALL(void,getTokNoInd__parser_196)637 N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_196)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
638 	getTok__parser_45(p);
639 	{
640 		if (!(((NI) 0) <= (*p).tok.indent)) goto LA3_;
641 		parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
642 	}
643 	LA3_: ;
644 }
N_INLINE(NI,pluspercent___system_696)645 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
646 	NI result;
647 	result = (NI)0;
648 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
649 	return result;
650 }
N_INLINE(void,incRef__system_5329)651 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
652 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
653 }
N_INLINE(NI,minuspercent___system_716)654 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
655 	NI result;
656 	result = (NI)0;
657 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
658 	return result;
659 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)660 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
661 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
662 	NI T1_;
663 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
664 	T1_ = (NI)0;
665 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
666 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
667 	return result;
668 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)669 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
670 	NIM_BOOL result;
671 	result = (NIM_BOOL)0;
672 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
673 	return result;
674 }
N_INLINE(void,rtlAddZCT__system_5334)675 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
676 	addZCT__system_5285((&gch__system_5238.zct), c);
677 }
N_INLINE(void,decRef__system_5336)678 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
679 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
680 	{
681 		NIM_BOOL T3_;
682 		T3_ = (NIM_BOOL)0;
683 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
684 		if (!T3_) goto LA4_;
685 		rtlAddZCT__system_5334(c);
686 	}
687 	LA4_: ;
688 }
N_INLINE(void,asgnRef)689 static N_INLINE(void, asgnRef)(void** dest, void* src) {
690 	{
691 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
692 		if (!!((src == NIM_NIL))) goto LA3_;
693 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
694 		T5_ = usrToCell__system_5291(src);
695 		incRef__system_5329(T5_);
696 	}
697 	LA3_: ;
698 	{
699 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
700 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
701 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
702 		T10_ = usrToCell__system_5291((*dest));
703 		decRef__system_5336(T10_);
704 	}
705 	LA8_: ;
706 	(*dest) = src;
707 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newIdentNodeP__parser_69)708 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNodeP__parser_69)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
709 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
710 	result = NIM_NIL;
711 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2), p);
712 	asgnRef((void**) (&(*result)._kind_5.ident), ident);
713 	return result;
714 }
N_NIMCALL(void,parMessage__parser_143)715 N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_143)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NimStringDesc* msg, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
716 	NimStringDesc* T1_;
717 	NimStringDesc* T2_;
718 	T1_ = NIM_NIL;
719 	T1_ = prettyTok__lexer_239(tok);
720 	T2_ = NIM_NIL;
721 	T2_ = nsuFormatSingleElem(msg, T1_);
722 	parMessage__parser_47(p, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T2_);
723 }
N_INLINE(NI,len__ast_3198)724 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
725 	NI result;
726 	NI T1_;
727 	result = (NI)0;
728 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
729 	result = T1_;
730 	return result;
731 }
N_NIMCALL(void,eat__parser_78)732 N_LIB_PRIVATE N_NIMCALL(void, eat__parser_78)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ tokType) {
733 	{
734 		if (!((*p).tok.tokType == tokType)) goto LA3_;
735 		getTok__parser_45(p);
736 	}
737 	goto LA1_;
738 	LA3_: ;
739 	{
740 		NimStringDesc* T6_;
741 		NimStringDesc* T7_;
742 		T6_ = NIM_NIL;
743 		T7_ = NIM_NIL;
744 		T7_ = prettyTok__lexer_239((&(*p).tok));
745 		T6_ = rawNewString((reprEnum((NI)tokType, (&NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_)) ? reprEnum((NI)tokType, (&NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_))->Sup.len : 0) + (T7_ ? T7_->Sup.len : 0) + 25);
746 appendString(T6_, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_6));
747 appendString(T6_, reprEnum((NI)tokType, (&NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_)));
748 appendString(T6_, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_7));
749 appendString(T6_, T7_);
750 appendString(T6_, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_8));
751 		lexMessage__lexer_336((&(*p).lex), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_);
752 	}
753 	LA1_: ;
754 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseSymbol__parser_95)755 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseSymbol__parser_95)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g mode) {
756 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
757 	result = NIM_NIL;
758 	switch ((*p).tok.tokType) {
759 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
760 	{
761 		result = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
762 		getTok__parser_45(p);
763 	}
764 	break;
765 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68):
766 	{
767 		{
768 			NIM_BOOL T5_;
769 			T5_ = (NIM_BOOL)0;
770 			T5_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3));
771 			if (T5_) goto LA6_;
772 			T5_ = (mode == ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 2));
773 			LA6_: ;
774 			if (!T5_) goto LA7_;
775 			result = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
776 			getTok__parser_45(p);
777 		}
778 		goto LA3_;
779 		LA7_: ;
780 		{
781 			NIM_BOOL T10_;
782 			T10_ = (NIM_BOOL)0;
783 			T10_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44));
784 			if (!(T10_)) goto LA11_;
785 			T10_ = (mode == ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 1));
786 			LA11_: ;
787 			if (!T10_) goto LA12_;
788 			result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (&(*p)));
789 			getTok__parser_45(p);
790 		}
791 		goto LA3_;
792 		LA12_: ;
793 		{
794 			parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
795 			result = (*p).emptyNode;
796 		}
797 		LA3_: ;
798 	}
799 	break;
800 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
801 	{
802 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53), (&(*p)));
803 		getTok__parser_45(p);
804 		{
805 			while (1) {
806 				switch ((*p).tok.tokType) {
807 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
808 				{
809 					{
810 						NI T21_;
811 						T21_ = (NI)0;
812 						T21_ = len__ast_3198(result);
813 						if (!(T21_ == ((NI) 0))) goto LA22_;
814 						parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
815 					}
816 					LA22_: ;
817 					goto LA16;
818 				}
819 				break;
820 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110):
821 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107):
822 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108):
823 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106):
824 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101):
825 				{
826 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineinfo;
827 					NimStringDesc* accm;
828 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node;
829 					lineinfo = parLineInfo__parser_76((&(*p)));
830 					accm = ((NimStringDesc*) NIM_NIL);
831 					{
832 						while (1) {
833 							NimStringDesc* T27_;
834 							if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106) || (*p).tok.tokType >= ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90) && (*p).tok.tokType <= ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101))) goto LA26;
835 							T27_ = NIM_NIL;
836 							T27_ = dollar___lexer_230((&(*p).tok));
837 							accm = resizeString(accm, (T27_ ? T27_->Sup.len : 0) + 0);
838 appendString(accm, T27_);
839 							getTok__parser_45(p);
840 						} LA26: ;
841 					}
842 					node = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2), lineinfo);
843 					asgnRef((void**) (&(*node)._kind_5.ident), getIdent__idents_143((*p).lex.cache, accm));
844 					add__ast_4797(result, node);
845 				}
846 				break;
847 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68):
848 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
849 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89):
850 				{
851 					NimStringDesc* T29_;
852 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T30_;
853 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
854 					T29_ = NIM_NIL;
855 					T29_ = dollar___lexer_230((&(*p).tok));
856 					T30_ = NIM_NIL;
857 					T30_ = getIdent__idents_143((*p).lex.cache, T29_);
858 					T31_ = NIM_NIL;
859 					T31_ = newIdentNodeP__parser_69(T30_, (&(*p)));
860 					add__ast_4797(result, T31_);
861 					getTok__parser_45(p);
862 				}
863 				break;
864 				default:
865 				{
866 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
867 					goto LA16;
868 				}
869 				break;
870 				}
871 			}
872 		} LA16: ;
873 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112));
874 	}
875 	break;
876 	default:
877 	{
878 		parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
879 		result = (*p).emptyNode;
880 	}
881 	break;
882 	}
883 	return result;
884 }
N_NIMCALL(void,colcom__parser_299)885 N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_299)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
886 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
887 	skipComment__parser_51(p, n);
888 }
N_NIMCALL(NIM_BOOL,isExprStart__parser_1139)889 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_1139)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
890 	NIM_BOOL result;
891 	result = (NIM_BOOL)0;
892 	switch ((*p).tok.tokType) {
893 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
894 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
895 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110):
896 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 45):
897 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44):
898 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 11):
899 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31):
900 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28):
901 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51):
902 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30):
903 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38):
904 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7):
905 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3):
906 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90):
907 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92):
908 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94):
909 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89):
910 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
911 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54):
912 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52):
913 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61):
914 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47):
915 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
916 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
917 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
918 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58):
919 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
920 	{
921 		result = NIM_TRUE;
922 	}
923 	break;
924 	default:
925 	{
926 		result = NIM_FALSE;
927 	}
928 	break;
929 	}
930 	return result;
931 }
N_NIMCALL(void,exprList__parser_378)932 N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_378)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
933 	getTok__parser_45(p);
934 	optInd__parser_85(p, result);
935 	{
936 		while (1) {
937 			NIM_BOOL T3_;
938 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
939 			T3_ = (NIM_BOOL)0;
940 			T3_ = !(((*p).tok.tokType == endTok));
941 			if (!(T3_)) goto LA4_;
942 			T3_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)));
943 			LA4_: ;
944 			if (!T3_) goto LA2;
945 			a = parseExpr__parser_256(p);
946 			add__ast_4797(result, a);
947 			{
948 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA7_;
949 				goto LA1;
950 			}
951 			LA7_: ;
952 			getTok__parser_45(p);
953 			optInd__parser_85(p, a);
954 		} LA2: ;
955 	} LA1: ;
956 }
N_NIMCALL(void,flexComment__parser_183)957 N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_183)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
958 	{
959 		NIM_BOOL T3_;
960 		T3_ = (NIM_BOOL)0;
961 		T3_ = ((*p).tok.indent < ((NI) 0));
962 		if (T3_) goto LA4_;
963 		T3_ = ((*p).currInd < (*p).tok.indent);
964 		LA4_: ;
965 		if (!T3_) goto LA5_;
966 		rawSkipComment__parser_165(p, node);
967 	}
968 	LA5_: ;
969 }
N_NIMCALL(void,optPar__parser_83)970 N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_83)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
971 	{
972 		if (!(((NI) 0) <= (*p).tok.indent)) goto LA3_;
973 		{
974 			if (!((*p).tok.indent < (*p).currInd)) goto LA7_;
975 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
976 		}
977 		LA7_: ;
978 	}
979 	LA3_: ;
980 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,colonOrEquals__parser_342)981 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, colonOrEquals__parser_342)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
982 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
983 	result = NIM_NIL;
984 	{
985 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
986 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA3_;
987 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), (&(*p)));
988 		getTok__parser_45(p);
989 		add__ast_4797(result, a);
990 		T5_ = NIM_NIL;
991 		T5_ = parseExpr__parser_256(p);
992 		add__ast_4797(result, T5_);
993 	}
994 	goto LA1_;
995 	LA3_: ;
996 	{
997 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
998 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA7_;
999 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33), (&(*p)));
1000 		getTok__parser_45(p);
1001 		add__ast_4797(result, a);
1002 		T9_ = NIM_NIL;
1003 		T9_ = parseExpr__parser_256(p);
1004 		add__ast_4797(result, T9_);
1005 	}
1006 	goto LA1_;
1007 	LA7_: ;
1008 	{
1009 		result = a;
1010 	}
1011 	LA1_: ;
1012 	return result;
1013 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,exprColonEqExpr__parser_370)1014 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, exprColonEqExpr__parser_370)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1015 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1016 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1017 	result = NIM_NIL;
1018 	a = parseExpr__parser_256(p);
1019 	{
1020 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20))) goto LA3_;
1021 		result = postExprBlocks__parser_107(p, a);
1022 	}
1023 	goto LA1_;
1024 	LA3_: ;
1025 	{
1026 		result = colonOrEquals__parser_342(p, a);
1027 	}
1028 	LA1_: ;
1029 	return result;
1030 }
N_NIMCALL(void,exprColonEqExprListAux__parser_399)1031 N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__parser_399)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
1032 	getTok__parser_45(p);
1033 	flexComment__parser_183(p, result);
1034 	optPar__parser_83(p);
1035 	{
1036 		while (1) {
1037 			NIM_BOOL T3_;
1038 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1039 			T3_ = (NIM_BOOL)0;
1040 			T3_ = !(((*p).tok.tokType == endTok));
1041 			if (!(T3_)) goto LA4_;
1042 			T3_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)));
1043 			LA4_: ;
1044 			if (!T3_) goto LA2;
1045 			a = exprColonEqExpr__parser_370(p);
1046 			add__ast_4797(result, a);
1047 			{
1048 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA7_;
1049 				goto LA1;
1050 			}
1051 			goto LA5_;
1052 			LA7_: ;
1053 			{
1054 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37))) goto LA10_;
1055 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
1056 			}
1057 			goto LA5_;
1058 			LA10_: ;
1059 			LA5_: ;
1060 			getTok__parser_45(p);
1061 			skipComment__parser_51(p, a);
1062 		} LA2: ;
1063 	} LA1: ;
1064 	optPar__parser_83(p);
1065 	eat__parser_78(p, endTok);
1066 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotExpr__parser_436)1067 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotExpr__parser_436)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
1068 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1069 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
1070 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1071 	result = NIM_NIL;
1072 	info = parLineInfo__parser_76((&(*p)));
1073 	getTok__parser_45(p);
1074 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), info);
1075 	optInd__parser_85(p, result);
1076 	add__ast_4797(result, a);
1077 	T1_ = NIM_NIL;
1078 	T1_ = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 2));
1079 	add__ast_4797(result, T1_);
1080 	{
1081 		NIM_BOOL T4_;
1082 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
1083 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T8_;
1084 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
1085 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T9_;
1086 		T4_ = (NIM_BOOL)0;
1087 		T4_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109));
1088 		if (!(T4_)) goto LA5_;
1089 		T4_ = ((*p).tok.strongSpaceA <= ((NI8) 0));
1090 		LA5_: ;
1091 		if (!T4_) goto LA6_;
1092 		T8_ = parLineInfo__parser_76((&(*p)));
1093 		x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T8_);
1094 		add__ast_4797(x, (*result)._kind_6.sons->data[((NI) 1)]);
1095 		exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), x);
1096 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
1097 		T9_ = parLineInfo__parser_76((&(*p)));
1098 		y = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T9_);
1099 		add__ast_4797(y, x);
1100 		add__ast_4797(y, (*result)._kind_6.sons->data[((NI) 0)]);
1101 		{
1102 			NIM_BOOL T12_;
1103 			T12_ = (NIM_BOOL)0;
1104 			T12_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90));
1105 			if (!(T12_)) goto LA13_;
1106 			T12_ = ((*p).tok.strongSpaceA <= ((NI8) 0));
1107 			LA13_: ;
1108 			if (!T12_) goto LA14_;
1109 			exprColonEqExprListAux__parser_399(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), y);
1110 		}
1111 		LA14_: ;
1112 		result = y;
1113 	}
1114 	LA6_: ;
1115 	return result;
1116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,identVis__parser_925)1117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identVis__parser_925)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL allowDot) {
1118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1119 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1120 	result = NIM_NIL;
1121 	a = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
1122 	{
1123 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
1124 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110))) goto LA3_;
1125 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31), (&(*p)));
1126 		T5_ = NIM_NIL;
1127 		T5_ = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
1128 		add__ast_4797(result, T5_);
1129 		add__ast_4797(result, a);
1130 		getTok__parser_45(p);
1131 	}
1132 	goto LA1_;
1133 	LA3_: ;
1134 	{
1135 		NIM_BOOL T7_;
1136 		T7_ = (NIM_BOOL)0;
1137 		T7_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107));
1138 		if (!(T7_)) goto LA8_;
1139 		T7_ = allowDot;
1140 		LA8_: ;
1141 		if (!T7_) goto LA9_;
1142 		result = dotExpr__parser_436(p, a);
1143 	}
1144 	goto LA1_;
1145 	LA9_: ;
1146 	{
1147 		result = a;
1148 	}
1149 	LA1_: ;
1150 	return result;
1151 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parsePragma__parser_105)1152 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePragma__parser_105)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1153 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1154 	result = NIM_NIL;
1155 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90), (&(*p)));
1156 	(*p).inPragma += ((NI) 1);
1157 	getTok__parser_45(p);
1158 	optInd__parser_85(p, result);
1159 	{
1160 		while (1) {
1161 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1162 			if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 99) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)))) goto LA2;
1163 			(*p).hasProgress = NIM_FALSE;
1164 			a = exprColonEqExpr__parser_370(p);
1165 			{
1166 				if (!!((*p).hasProgress)) goto LA5_;
1167 				goto LA1;
1168 			}
1169 			LA5_: ;
1170 			add__ast_4797(result, a);
1171 			{
1172 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102))) goto LA9_;
1173 				getTok__parser_45(p);
1174 				skipComment__parser_51(p, a);
1175 			}
1176 			LA9_: ;
1177 		} LA2: ;
1178 	} LA1: ;
1179 	optPar__parser_83(p);
1180 	{
1181 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 99) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95))) goto LA13_;
1182 		getTok__parser_45(p);
1183 	}
1184 	goto LA11_;
1185 	LA13_: ;
1186 	{
1187 		parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_11));
1188 	}
1189 	LA11_: ;
1190 	(*p).inPragma -= ((NI) 1);
1191 	return result;
1192 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,identWithPragma__parser_946)1193 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identWithPragma__parser_946)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL allowDot) {
1194 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1195 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1196 	result = NIM_NIL;
1197 	a = identVis__parser_925(p, allowDot);
1198 	{
1199 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
1200 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98))) goto LA3_;
1201 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (&(*p)));
1202 		add__ast_4797(result, a);
1203 		T5_ = NIM_NIL;
1204 		T5_ = parsePragma__parser_105(p);
1205 		add__ast_4797(result, T5_);
1206 	}
1207 	goto LA1_;
1208 	LA3_: ;
1209 	{
1210 		result = a;
1211 	}
1212 	LA1_: ;
1213 	return result;
1214 }
N_NIMCALL(NIM_BOOL,isOperator__parser_43)1215 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__parser_43)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
1216 	NIM_BOOL result;
1217 	result = (NIM_BOOL)0;
1218 	result = ((TM__MW5RrD2zyVLHF67ojsDu8Q_12[(NU)((*tok).tokType)>>3] &(1U<<((NU)((*tok).tokType)&7U)))!=0);
1219 	return result;
1220 }
N_INLINE(NIM_BOOL,isSigilLike__parser_265)1221 static N_INLINE(NIM_BOOL, isSigilLike__parser_265)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
1222 	NIM_BOOL result;
1223 	NIM_BOOL T1_;
1224 	result = (NIM_BOOL)0;
1225 	T1_ = (NIM_BOOL)0;
1226 	T1_ = ((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110));
1227 	if (!(T1_)) goto LA2_;
1228 	T1_ = ((NU8)((*(*tok).ident).s->data[((NI) 0)]) == (NU8)(64));
1229 	LA2_: ;
1230 	result = T1_;
1231 	return result;
1232 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,commandParam__parser_748)1233 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, commandParam__parser_748)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL* isFirstParam, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
1234 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1235 	result = NIM_NIL;
1236 	{
1237 		if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 1))) goto LA3_;
1238 		result = simpleExpr__parser_582(p, mode);
1239 	}
1240 	goto LA1_;
1241 	LA3_: ;
1242 	{
1243 		result = parseExpr__parser_256(p);
1244 	}
1245 	LA1_: ;
1246 	{
1247 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20))) goto LA8_;
1248 		result = postExprBlocks__parser_107(p, result);
1249 	}
1250 	goto LA6_;
1251 	LA8_: ;
1252 	{
1253 		NIM_BOOL T11_;
1254 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
1255 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
1256 		T11_ = (NIM_BOOL)0;
1257 		T11_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106));
1258 		if (!(T11_)) goto LA12_;
1259 		T11_ = !((*isFirstParam));
1260 		LA12_: ;
1261 		if (!T11_) goto LA13_;
1262 		lhs = result;
1263 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33), (&(*p)));
1264 		getTok__parser_45(p);
1265 		add__ast_4797(result, lhs);
1266 		T15_ = NIM_NIL;
1267 		T15_ = parseExpr__parser_256(p);
1268 		add__ast_4797(result, T15_);
1269 	}
1270 	goto LA6_;
1271 	LA13_: ;
1272 	LA6_: ;
1273 	(*isFirstParam) = NIM_FALSE;
1274 	return result;
1275 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,commandExpr__parser_775)1276 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, commandExpr__parser_775)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
1277 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1278 	NIM_BOOL isFirstParam;
1279 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1280 	result = NIM_NIL;
1281 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26), (&(*p)));
1282 	add__ast_4797(result, r);
1283 	isFirstParam = NIM_TRUE;
1284 	(*p).hasProgress = NIM_FALSE;
1285 	T1_ = NIM_NIL;
1286 	T1_ = commandParam__parser_748(p, (&isFirstParam), mode);
1287 	add__ast_4797(result, T1_);
1288 	return result;
1289 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,namedParams__parser_737)1290 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, namedParams__parser_737)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok) {
1291 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1292 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1293 	result = NIM_NIL;
1294 	a = callee;
1295 	result = newNodeP__parser_54(kind, (&(*p)));
1296 	add__ast_4797(result, a);
1297 	exprColonEqExprListAux__parser_399(p, endTok, result);
1298 	return result;
1299 }
N_INLINE(void,nimGCunrefNoCycle)1300 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1301 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1302 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1303 	T1_ = usrToCell__system_5291(p);
1304 	decRef__system_5336(T1_);
1305 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStrNodeP__parser_65)1306 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNodeP__parser_65)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1307 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1308 	NimStringDesc* T1_;
1309 	result = NIM_NIL;
1310 	result = newNodeP__parser_54(kind, p);
1311 	T1_ = NIM_NIL;
1312 	T1_ = (*result)._kind_3.strVal; (*result)._kind_3.strVal = copyStringRC1(strVal);
1313 	if (T1_) nimGCunrefNoCycle(T1_);
1314 	return result;
1315 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseGStrLit__parser_560)1316 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGStrLit__parser_560)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
1317 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1318 	result = NIM_NIL;
1319 	switch ((*p).tok.tokType) {
1320 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 86):
1321 	{
1322 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
1323 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28), (&(*p)));
1324 		add__ast_4797(result, a);
1325 		T2_ = NIM_NIL;
1326 		T2_ = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21), (*p).tok.literal, (&(*p)));
1327 		add__ast_4797(result, T2_);
1328 		getTok__parser_45(p);
1329 	}
1330 	break;
1331 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 87):
1332 	{
1333 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
1334 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28), (&(*p)));
1335 		add__ast_4797(result, a);
1336 		T4_ = NIM_NIL;
1337 		T4_ = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22), (*p).tok.literal, (&(*p)));
1338 		add__ast_4797(result, T4_);
1339 		getTok__parser_45(p);
1340 	}
1341 	break;
1342 	default:
1343 	{
1344 		result = a;
1345 	}
1346 	break;
1347 	}
1348 	return result;
1349 }
N_NIMCALL(NIM_BOOL,isDotLike__parser_789)1350 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__parser_789)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
1351 	NIM_BOOL result;
1352 	NIM_BOOL T1_;
1353 	NIM_BOOL T2_;
1354 	NIM_BOOL T3_;
1355 	result = (NIM_BOOL)0;
1356 	T1_ = (NIM_BOOL)0;
1357 	T2_ = (NIM_BOOL)0;
1358 	T3_ = (NIM_BOOL)0;
1359 	T3_ = ((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110));
1360 	if (!(T3_)) goto LA4_;
1361 	T3_ = (((NI) 1) < ((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0));
1362 	LA4_: ;
1363 	T2_ = T3_;
1364 	if (!(T2_)) goto LA5_;
1365 	T2_ = ((NU8)((*(*tok).ident).s->data[((NI) 0)]) == (NU8)(46));
1366 	LA5_: ;
1367 	T1_ = T2_;
1368 	if (!(T1_)) goto LA6_;
1369 	T1_ = !(((NU8)((*(*tok).ident).s->data[((NI) 1)]) == (NU8)(46)));
1370 	LA6_: ;
1371 	result = T1_;
1372 	return result;
1373 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotLikeExpr__parser_473)1374 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotLikeExpr__parser_473)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
1375 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1376 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
1377 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opNode;
1378 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1379 	result = NIM_NIL;
1380 	info = parLineInfo__parser_76((&(*p)));
1381 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), info);
1382 	optInd__parser_85(p, result);
1383 	opNode = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
1384 	getTok__parser_45(p);
1385 	add__ast_4797(result, opNode);
1386 	add__ast_4797(result, a);
1387 	T1_ = NIM_NIL;
1388 	T1_ = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 2));
1389 	add__ast_4797(result, T1_);
1390 	return result;
1391 }
N_NIMCALL(NIM_BOOL,isUnary__parser_279)1392 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__parser_279)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
1393 	NIM_BOOL result;
1394 	NIM_BOOL T1_;
1395 	NIM_BOOL T2_;
1396 	result = (NIM_BOOL)0;
1397 	T1_ = (NIM_BOOL)0;
1398 	T2_ = (NIM_BOOL)0;
1399 	T2_ = ((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110) || (*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108));
1400 	if (!(T2_)) goto LA3_;
1401 	T2_ = ((*tok).strongSpaceB == ((NI8) 0));
1402 	LA3_: ;
1403 	T1_ = T2_;
1404 	if (!(T1_)) goto LA4_;
1405 	T1_ = (((NI8) 0) < (*tok).strongSpaceA);
1406 	LA4_: ;
1407 	result = T1_;
1408 	return result;
1409 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,primarySuffix__parser_796)1410 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, primarySuffix__parser_796)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, NI baseIndent, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
1411 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1412 	result = NIM_NIL;
1413 	result = r;
1414 	{
1415 		while (1) {
1416 			NIM_BOOL T3_;
1417 			NIM_BOOL T5_;
1418 			T3_ = (NIM_BOOL)0;
1419 			T3_ = ((*p).tok.indent < ((NI) 0));
1420 			if (T3_) goto LA4_;
1421 			T5_ = (NIM_BOOL)0;
1422 			T5_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107));
1423 			if (!(T5_)) goto LA6_;
1424 			T5_ = (baseIndent <= (*p).tok.indent);
1425 			LA6_: ;
1426 			T3_ = T5_;
1427 			LA4_: ;
1428 			if (!T3_) goto LA2;
1429 			switch ((*p).tok.tokType) {
1430 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90):
1431 			{
1432 				{
1433 					if (!(((NI8) 0) < (*p).tok.strongSpaceA)) goto LA10_;
1434 					{
1435 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
1436 						if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2))) goto LA14_;
1437 						result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26), (&(*p)));
1438 						add__ast_4797(result, r);
1439 						T16_ = NIM_NIL;
1440 						T16_ = primary__parser_114(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
1441 						add__ast_4797(result, T16_);
1442 					}
1443 					goto LA12_;
1444 					LA14_: ;
1445 					{
1446 						result = commandExpr__parser_775(p, result, mode);
1447 					}
1448 					LA12_: ;
1449 					goto LA1;
1450 				}
1451 				LA10_: ;
1452 				result = namedParams__parser_737(p, result, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
1453 				{
1454 					NIM_BOOL T20_;
1455 					NI T21_;
1456 					T20_ = (NIM_BOOL)0;
1457 					T21_ = (NI)0;
1458 					T21_ = len__ast_3198(result);
1459 					T20_ = (((NI) 1) < T21_);
1460 					if (!(T20_)) goto LA22_;
1461 					T20_ = ((*(*result)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
1462 					LA22_: ;
1463 					if (!T20_) goto LA23_;
1464 					transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 38));
1465 				}
1466 				LA23_: ;
1467 			}
1468 			break;
1469 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107):
1470 			{
1471 				result = dotExpr__parser_436(p, result);
1472 				result = parseGStrLit__parser_560(p, result);
1473 			}
1474 			break;
1475 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92):
1476 			{
1477 				{
1478 					if (!(((NI8) 0) < (*p).tok.strongSpaceA)) goto LA29_;
1479 					result = commandExpr__parser_775(p, result, mode);
1480 					goto LA1;
1481 				}
1482 				LA29_: ;
1483 				result = namedParams__parser_737(p, result, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
1484 			}
1485 			break;
1486 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94):
1487 			{
1488 				{
1489 					if (!(((NI8) 0) < (*p).tok.strongSpaceA)) goto LA34_;
1490 					result = commandExpr__parser_775(p, result, mode);
1491 					goto LA1;
1492 				}
1493 				LA34_: ;
1494 				result = namedParams__parser_737(p, result, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95));
1495 			}
1496 			break;
1497 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
1498 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
1499 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89):
1500 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44):
1501 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 11):
1502 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110):
1503 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108):
1504 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
1505 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
1506 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58):
1507 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
1508 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24):
1509 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61):
1510 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47):
1511 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51):
1512 			{
1513 				NIM_BOOL isDotLike2;
1514 				isDotLike2 = isDotLike__parser_789((&(*p).tok));
1515 				{
1516 					NIM_BOOL T39_;
1517 					T39_ = (NIM_BOOL)0;
1518 					T39_ = isDotLike2;
1519 					if (!(T39_)) goto LA40_;
1520 					T39_ = isDefined__options_2279((*p).lex.config, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_13));
1521 					LA40_: ;
1522 					if (!T39_) goto LA41_;
1523 					result = dotLikeExpr__parser_473(p, result);
1524 					result = parseGStrLit__parser_560(p, result);
1525 				}
1526 				goto LA37_;
1527 				LA41_: ;
1528 				{
1529 					{
1530 						if (!isDotLike2) goto LA46_;
1531 						parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 22), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_14));
1532 					}
1533 					LA46_: ;
1534 					{
1535 						NIM_BOOL T50_;
1536 						NIM_BOOL T52_;
1537 						T50_ = (NIM_BOOL)0;
1538 						T50_ = ((*p).inPragma == ((NI) 0));
1539 						if (!(T50_)) goto LA51_;
1540 						T52_ = (NIM_BOOL)0;
1541 						T52_ = isUnary__parser_279((&(*p).tok));
1542 						if (T52_) goto LA53_;
1543 						T52_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108)));
1544 						LA53_: ;
1545 						T50_ = T52_;
1546 						LA51_: ;
1547 						if (!T50_) goto LA54_;
1548 						result = commandExpr__parser_775(p, result, mode);
1549 					}
1550 					LA54_: ;
1551 					goto LA1;
1552 				}
1553 				LA37_: ;
1554 			}
1555 			break;
1556 			default:
1557 			{
1558 				goto LA1;
1559 			}
1560 			break;
1561 			}
1562 		} LA2: ;
1563 	} LA1: ;
1564 	return result;
1565 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTuple__parser_1029)1566 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTuple__parser_1029)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL indentAllowed) {
1567 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1568 	result = NIM_NIL;
1569 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134), (&(*p)));
1570 	getTok__parser_45(p);
1571 	{
1572 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92))) goto LA3_;
1573 		getTok__parser_45(p);
1574 		optInd__parser_85(p, result);
1575 		{
1576 			while (1) {
1577 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1578 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112))) goto LA6;
1579 				a = parseIdentColonEquals__parser_971(p, 0);
1580 				add__ast_4797(result, a);
1581 				{
1582 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103)))) goto LA9_;
1583 					goto LA5;
1584 				}
1585 				LA9_: ;
1586 				getTok__parser_45(p);
1587 				skipComment__parser_51(p, a);
1588 			} LA6: ;
1589 		} LA5: ;
1590 		optPar__parser_83(p);
1591 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
1592 	}
1593 	goto LA1_;
1594 	LA3_: ;
1595 	{
1596 		if (!indentAllowed) goto LA12_;
1597 		skipComment__parser_51(p, result);
1598 		{
1599 			NI oldIndX60gensym65_;
1600 			if (!((*p).currInd < (*p).tok.indent)) goto LA16_;
1601 			oldIndX60gensym65_ = (*p).currInd;
1602 			(*p).currInd = (*p).tok.indent;
1603 			rawSkipComment__parser_165(p, result);
1604 			{
1605 				while (1) {
1606 					switch ((*p).tok.tokType) {
1607 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
1608 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
1609 					{
1610 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
1611 						a_2 = parseIdentColonEquals__parser_971(p, 0);
1612 						{
1613 							NIM_BOOL T23_;
1614 							T23_ = (NIM_BOOL)0;
1615 							T23_ = ((*p).tok.indent < ((NI) 0));
1616 							if (T23_) goto LA24_;
1617 							T23_ = ((*p).currInd <= (*p).tok.indent);
1618 							LA24_: ;
1619 							if (!T23_) goto LA25_;
1620 							rawSkipComment__parser_165(p, a_2);
1621 						}
1622 						LA25_: ;
1623 						add__ast_4797(result, a_2);
1624 					}
1625 					break;
1626 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1):
1627 					{
1628 						goto LA18;
1629 					}
1630 					break;
1631 					default:
1632 					{
1633 						parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
1634 						goto LA18;
1635 					}
1636 					break;
1637 					}
1638 					{
1639 						if (!!(((*p).tok.indent == (*p).currInd))) goto LA31_;
1640 						goto LA18;
1641 					}
1642 					LA31_: ;
1643 				}
1644 			} LA18: ;
1645 			(*p).currInd = oldIndX60gensym65_;
1646 		}
1647 		LA16_: ;
1648 	}
1649 	goto LA1_;
1650 	LA12_: ;
1651 	{
1652 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA34_;
1653 		parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_15));
1654 	}
1655 	goto LA1_;
1656 	LA34_: ;
1657 	{
1658 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135), (&(*p)));
1659 	}
1660 	LA1_: ;
1661 	return result;
1662 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,optPragmas__parser_1093)1663 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, optPragmas__parser_1093)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1664 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1665 	result = NIM_NIL;
1666 	{
1667 		NIM_BOOL T3_;
1668 		NIM_BOOL T5_;
1669 		T3_ = (NIM_BOOL)0;
1670 		T3_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
1671 		if (!(T3_)) goto LA4_;
1672 		T5_ = (NIM_BOOL)0;
1673 		T5_ = ((*p).tok.indent < ((NI) 0));
1674 		if (T5_) goto LA6_;
1675 		T5_ = ((*p).currInd < (*p).tok.indent);
1676 		LA6_: ;
1677 		T3_ = T5_;
1678 		LA4_: ;
1679 		if (!T3_) goto LA7_;
1680 		result = parsePragma__parser_105(p);
1681 	}
1682 	goto LA1_;
1683 	LA7_: ;
1684 	{
1685 		result = (*p).emptyNode;
1686 	}
1687 	LA1_: ;
1688 	return result;
1689 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseProcExpr__parser_1110)1690 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseProcExpr__parser_1110)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL isExpr, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
1691 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1692 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
1693 	NIM_BOOL hasSignature;
1694 	NIM_BOOL T1_;
1695 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
1696 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas;
1697 	result = NIM_NIL;
1698 	info = parLineInfo__parser_76((&(*p)));
1699 	getTok__parser_45(p);
1700 	T1_ = (NIM_BOOL)0;
1701 	T1_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
1702 	if (!(T1_)) goto LA2_;
1703 	T1_ = ((*p).tok.indent < ((NI) 0));
1704 	LA2_: ;
1705 	hasSignature = T1_;
1706 	params = parseParamList__parser_262(p, NIM_TRUE);
1707 	pragmas = optPragmas__parser_1093(p);
1708 	{
1709 		NIM_BOOL T5_;
1710 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
1711 		T5_ = (NIM_BOOL)0;
1712 		T5_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106));
1713 		if (!(T5_)) goto LA6_;
1714 		T5_ = isExpr;
1715 		LA6_: ;
1716 		if (!T5_) goto LA7_;
1717 		getTok__parser_45(p);
1718 		skipComment__parser_51(p, result);
1719 		T9_ = NIM_NIL;
1720 		T9_ = parseStmt__parser_258(p);
1721 		result = newProcNode__ast_3821(kind, info, T9_, params, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, pragmas, (*p).emptyNode);
1722 	}
1723 	goto LA3_;
1724 	LA7_: ;
1725 	{
1726 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147), info);
1727 		{
1728 			if (!hasSignature) goto LA13_;
1729 			add__ast_4797(result, params);
1730 			{
1731 				if (!(kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159))) goto LA17_;
1732 				parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_16));
1733 			}
1734 			LA17_: ;
1735 			add__ast_4797(result, pragmas);
1736 		}
1737 		LA13_: ;
1738 	}
1739 	LA3_: ;
1740 	return result;
1741 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseEnum__parser_1228)1742 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseEnum__parser_1228)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1743 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1744 {	result = NIM_NIL;
1745 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), (&(*p)));
1746 	getTok__parser_45(p);
1747 	add__ast_4797(result, (*p).emptyNode);
1748 	optInd__parser_85(p, result);
1749 	flexComment__parser_183(p, result);
1750 	{
1751 		while (1) {
1752 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1753 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symPragma;
1754 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
1755 			a = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
1756 			{
1757 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA5_;
1758 				goto BeforeRet_;
1759 			}
1760 			LA5_: ;
1761 			symPragma = a;
1762 			pragma = NIM_NIL;
1763 			{
1764 				NIM_BOOL T9_;
1765 				NIM_BOOL T10_;
1766 				T9_ = (NIM_BOOL)0;
1767 				T10_ = (NIM_BOOL)0;
1768 				T10_ = ((*p).tok.indent < ((NI) 0));
1769 				if (T10_) goto LA11_;
1770 				T10_ = ((*p).currInd <= (*p).tok.indent);
1771 				LA11_: ;
1772 				T9_ = T10_;
1773 				if (!(T9_)) goto LA12_;
1774 				T9_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
1775 				LA12_: ;
1776 				if (!T9_) goto LA13_;
1777 				pragma = optPragmas__parser_1093(p);
1778 				symPragma = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (&(*p)));
1779 				add__ast_4797(symPragma, a);
1780 				add__ast_4797(symPragma, pragma);
1781 			}
1782 			LA13_: ;
1783 			{
1784 				NIM_BOOL T17_;
1785 				T17_ = (NIM_BOOL)0;
1786 				T17_ = (((NI) 0) <= (*p).tok.indent);
1787 				if (!(T17_)) goto LA18_;
1788 				T17_ = ((*p).tok.indent <= (*p).currInd);
1789 				LA18_: ;
1790 				if (!T17_) goto LA19_;
1791 				add__ast_4797(result, symPragma);
1792 				goto LA1;
1793 			}
1794 			LA19_: ;
1795 			{
1796 				NIM_BOOL T23_;
1797 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
1798 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
1799 				T23_ = (NIM_BOOL)0;
1800 				T23_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106));
1801 				if (!(T23_)) goto LA24_;
1802 				T23_ = ((*p).tok.indent < ((NI) 0));
1803 				LA24_: ;
1804 				if (!T23_) goto LA25_;
1805 				getTok__parser_45(p);
1806 				optInd__parser_85(p, symPragma);
1807 				b = symPragma;
1808 				symPragma = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151), (&(*p)));
1809 				add__ast_4797(symPragma, b);
1810 				T27_ = NIM_NIL;
1811 				T27_ = parseExpr__parser_256(p);
1812 				add__ast_4797(symPragma, T27_);
1813 				{
1814 					NIM_BOOL T30_;
1815 					T30_ = (NIM_BOOL)0;
1816 					T30_ = ((*p).tok.indent < ((NI) 0));
1817 					if (T30_) goto LA31_;
1818 					T30_ = ((*p).currInd <= (*p).tok.indent);
1819 					LA31_: ;
1820 					if (!T30_) goto LA32_;
1821 					rawSkipComment__parser_165(p, symPragma);
1822 				}
1823 				LA32_: ;
1824 			}
1825 			LA25_: ;
1826 			{
1827 				NIM_BOOL T36_;
1828 				T36_ = (NIM_BOOL)0;
1829 				T36_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
1830 				if (!(T36_)) goto LA37_;
1831 				T36_ = ((*p).tok.indent < ((NI) 0));
1832 				LA37_: ;
1833 				if (!T36_) goto LA38_;
1834 				getTok__parser_45(p);
1835 				rawSkipComment__parser_165(p, symPragma);
1836 			}
1837 			goto LA34_;
1838 			LA38_: ;
1839 			{
1840 				{
1841 					NIM_BOOL T43_;
1842 					T43_ = (NIM_BOOL)0;
1843 					T43_ = ((*p).tok.indent < ((NI) 0));
1844 					if (T43_) goto LA44_;
1845 					T43_ = ((*p).currInd <= (*p).tok.indent);
1846 					LA44_: ;
1847 					if (!T43_) goto LA45_;
1848 					rawSkipComment__parser_165(p, symPragma);
1849 				}
1850 				LA45_: ;
1851 			}
1852 			LA34_: ;
1853 			add__ast_4797(result, symPragma);
1854 			{
1855 				NIM_BOOL T49_;
1856 				NIM_BOOL T50_;
1857 				T49_ = (NIM_BOOL)0;
1858 				T50_ = (NIM_BOOL)0;
1859 				T50_ = (((NI) 0) <= (*p).tok.indent);
1860 				if (!(T50_)) goto LA51_;
1861 				T50_ = ((*p).tok.indent <= (*p).currInd);
1862 				LA51_: ;
1863 				T49_ = T50_;
1864 				if (T49_) goto LA52_;
1865 				T49_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1));
1866 				LA52_: ;
1867 				if (!T49_) goto LA53_;
1868 				goto LA1;
1869 			}
1870 			LA53_: ;
1871 		}
1872 	} LA1: ;
1873 	{
1874 		NI T57_;
1875 		T57_ = (NI)0;
1876 		T57_ = len__ast_3198(result);
1877 		if (!(T57_ <= ((NI) 1))) goto LA58_;
1878 		parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
1879 	}
1880 	LA58_: ;
1881 	}BeforeRet_: ;
1882 	return result;
1883 }
N_INLINE(NIM_BOOL,validInd__parser_162)1884 static N_INLINE(NIM_BOOL, validInd__parser_162)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1885 	NIM_BOOL result;
1886 	NIM_BOOL T1_;
1887 	result = (NIM_BOOL)0;
1888 	T1_ = (NIM_BOOL)0;
1889 	T1_ = ((*p).tok.indent < ((NI) 0));
1890 	if (T1_) goto LA2_;
1891 	T1_ = ((*p).currInd < (*p).tok.indent);
1892 	LA2_: ;
1893 	result = T1_;
1894 	return result;
1895 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseObjectWhen__parser_2006)1896 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectWhen__parser_2006)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1897 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1898 	result = NIM_NIL;
1899 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140), (&(*p)));
1900 	{
1901 		while (1) {
1902 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
1903 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
1904 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
1905 			if (!((*p).tok.indent == (*p).currInd)) goto LA2;
1906 			getTok__parser_45(p);
1907 			branch = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (&(*p)));
1908 			optInd__parser_85(p, branch);
1909 			T3_ = NIM_NIL;
1910 			T3_ = parseExpr__parser_256(p);
1911 			add__ast_4797(branch, T3_);
1912 			colcom__parser_299(p, branch);
1913 			T4_ = NIM_NIL;
1914 			T4_ = parseObjectPart__parser_2004(p);
1915 			add__ast_4797(branch, T4_);
1916 			flexComment__parser_183(p, branch);
1917 			add__ast_4797(result, branch);
1918 			{
1919 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21)))) goto LA7_;
1920 				goto LA1;
1921 			}
1922 			LA7_: ;
1923 		} LA2: ;
1924 	} LA1: ;
1925 	{
1926 		NIM_BOOL T11_;
1927 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
1928 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
1929 		T11_ = (NIM_BOOL)0;
1930 		T11_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22));
1931 		if (!(T11_)) goto LA12_;
1932 		T11_ = ((*p).tok.indent == (*p).currInd);
1933 		LA12_: ;
1934 		if (!T11_) goto LA13_;
1935 		branch_2 = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (&(*p)));
1936 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22));
1937 		colcom__parser_299(p, branch_2);
1938 		T15_ = NIM_NIL;
1939 		T15_ = parseObjectPart__parser_2004(p);
1940 		add__ast_4797(branch_2, T15_);
1941 		flexComment__parser_183(p, branch_2);
1942 		add__ast_4797(result, branch_2);
1943 	}
1944 	LA13_: ;
1945 	return result;
1946 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseObjectCase__parser_2039)1947 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectCase__parser_2039)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
1948 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1949 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1950 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1951 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
1952 	NIM_BOOL wasIndented;
1953 	NI oldInd;
1954 	result = NIM_NIL;
1955 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139), (&(*p)));
1956 	getTokNoInd__parser_196(p);
1957 	a = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (&(*p)));
1958 	T1_ = NIM_NIL;
1959 	T1_ = identWithPragma__parser_946(p, NIM_FALSE);
1960 	add__ast_4797(a, T1_);
1961 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
1962 	T2_ = NIM_NIL;
1963 	T2_ = parseTypeDesc__parser_260(p);
1964 	add__ast_4797(a, T2_);
1965 	add__ast_4797(a, (*p).emptyNode);
1966 	add__ast_4797(result, a);
1967 	{
1968 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA5_;
1969 		getTok__parser_45(p);
1970 	}
1971 	LA5_: ;
1972 	flexComment__parser_183(p, result);
1973 	wasIndented = NIM_FALSE;
1974 	oldInd = (*p).currInd;
1975 	{
1976 		if (!((*p).currInd < (*p).tok.indent)) goto LA9_;
1977 		(*p).currInd = (*p).tok.indent;
1978 		wasIndented = NIM_TRUE;
1979 	}
1980 	LA9_: ;
1981 	{
1982 		while (1) {
1983 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
1984 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fields;
1985 			if (!((*p).tok.indent == (*p).currInd)) goto LA12;
1986 			b = NIM_NIL;
1987 			switch ((*p).tok.tokType) {
1988 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48):
1989 			{
1990 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85), (&(*p)));
1991 				exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), b);
1992 			}
1993 			break;
1994 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22):
1995 			{
1996 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (&(*p)));
1997 				getTok__parser_45(p);
1998 			}
1999 			break;
2000 			default:
2001 			{
2002 				goto LA11;
2003 			}
2004 			break;
2005 			}
2006 			colcom__parser_299(p, b);
2007 			fields = parseObjectPart__parser_2004(p);
2008 			{
2009 				if (!((*fields).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA18_;
2010 				parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
2011 				fields = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (&(*p)));
2012 			}
2013 			LA18_: ;
2014 			add__ast_4797(b, fields);
2015 			add__ast_4797(result, b);
2016 			{
2017 				if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA22_;
2018 				goto LA11;
2019 			}
2020 			LA22_: ;
2021 		} LA12: ;
2022 	} LA11: ;
2023 	{
2024 		if (!wasIndented) goto LA26_;
2025 		(*p).currInd = oldInd;
2026 	}
2027 	LA26_: ;
2028 	return result;
2029 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseObjectPart__parser_2004)2030 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObjectPart__parser_2004)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2031 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2032 	result = NIM_NIL;
2033 	{
2034 		NI oldIndX60gensym145_;
2035 		if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
2036 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (&(*p)));
2037 		oldIndX60gensym145_ = (*p).currInd;
2038 		(*p).currInd = (*p).tok.indent;
2039 		rawSkipComment__parser_165(p, result);
2040 		{
2041 			while (1) {
2042 				if (!((*p).tok.indent == (*p).currInd)) goto LA6;
2043 				switch ((*p).tok.tokType) {
2044 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
2045 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
2046 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
2047 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
2048 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44):
2049 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 17):
2050 				{
2051 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2052 					T8_ = NIM_NIL;
2053 					T8_ = parseObjectPart__parser_2004(p);
2054 					add__ast_4797(result, T8_);
2055 				}
2056 				break;
2057 				default:
2058 				{
2059 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
2060 					goto LA5;
2061 				}
2062 				break;
2063 				}
2064 			} LA6: ;
2065 		} LA5: ;
2066 		(*p).currInd = oldIndX60gensym145_;
2067 	}
2068 	goto LA1_;
2069 	LA3_: ;
2070 	{
2071 		NIM_BOOL T11_;
2072 		T11_ = (NIM_BOOL)0;
2073 		T11_ = ((*p).tok.indent == (*p).currInd);
2074 		if (T11_) goto LA12_;
2075 		T11_ = ((*p).tok.indent < ((NI) 0));
2076 		LA12_: ;
2077 		if (!T11_) goto LA13_;
2078 		switch ((*p).tok.tokType) {
2079 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
2080 		{
2081 			result = parseObjectWhen__parser_2006(p);
2082 		}
2083 		break;
2084 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
2085 		{
2086 			result = parseObjectCase__parser_2039(p);
2087 		}
2088 		break;
2089 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
2090 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
2091 		{
2092 			result = parseIdentColonEquals__parser_971(p, 1);
2093 			{
2094 				NIM_BOOL T20_;
2095 				T20_ = (NIM_BOOL)0;
2096 				T20_ = ((*p).tok.indent < ((NI) 0));
2097 				if (T20_) goto LA21_;
2098 				T20_ = ((*p).currInd <= (*p).tok.indent);
2099 				LA21_: ;
2100 				if (!T20_) goto LA22_;
2101 				rawSkipComment__parser_165(p, result);
2102 			}
2103 			LA22_: ;
2104 		}
2105 		break;
2106 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44):
2107 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 17):
2108 		{
2109 			result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (&(*p)));
2110 			getTok__parser_45(p);
2111 		}
2112 		break;
2113 		default:
2114 		{
2115 			result = (*p).emptyNode;
2116 		}
2117 		break;
2118 		}
2119 	}
2120 	goto LA1_;
2121 	LA13_: ;
2122 	{
2123 		result = (*p).emptyNode;
2124 	}
2125 	LA1_: ;
2126 	return result;
2127 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseObject__parser_1230)2128 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseObject__parser_1230)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2129 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2130 	result = NIM_NIL;
2131 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133), (&(*p)));
2132 	getTok__parser_45(p);
2133 	{
2134 		NIM_BOOL T3_;
2135 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
2136 		T3_ = (NIM_BOOL)0;
2137 		T3_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
2138 		if (!(T3_)) goto LA4_;
2139 		T3_ = validInd__parser_162(p);
2140 		LA4_: ;
2141 		if (!T3_) goto LA5_;
2142 		parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_17));
2143 		T7_ = NIM_NIL;
2144 		T7_ = parsePragma__parser_105(p);
2145 		add__ast_4797(result, T7_);
2146 	}
2147 	goto LA1_;
2148 	LA5_: ;
2149 	{
2150 		add__ast_4797(result, (*p).emptyNode);
2151 	}
2152 	LA1_: ;
2153 	{
2154 		NIM_BOOL T11_;
2155 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2156 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2157 		T11_ = (NIM_BOOL)0;
2158 		T11_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48));
2159 		if (!(T11_)) goto LA12_;
2160 		T11_ = ((*p).tok.indent < ((NI) 0));
2161 		LA12_: ;
2162 		if (!T11_) goto LA13_;
2163 		a = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77), (&(*p)));
2164 		getTok__parser_45(p);
2165 		T15_ = NIM_NIL;
2166 		T15_ = parseTypeDesc__parser_260(p);
2167 		add__ast_4797(a, T15_);
2168 		add__ast_4797(result, a);
2169 	}
2170 	goto LA9_;
2171 	LA13_: ;
2172 	{
2173 		add__ast_4797(result, (*p).emptyNode);
2174 	}
2175 	LA9_: ;
2176 	{
2177 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA19_;
2178 		skipComment__parser_51(p, result);
2179 	}
2180 	LA19_: ;
2181 	{
2182 		if (!!(((*p).currInd < (*p).tok.indent))) goto LA23_;
2183 		add__ast_4797(result, (*p).emptyNode);
2184 	}
2185 	goto LA21_;
2186 	LA23_: ;
2187 	{
2188 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
2189 		T26_ = NIM_NIL;
2190 		T26_ = parseObjectPart__parser_2004(p);
2191 		add__ast_4797(result, T26_);
2192 	}
2193 	LA21_: ;
2194 	return result;
2195 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeClassParam__parser_2136)2196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeClassParam__parser_2136)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2197 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2198 	tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw modifier;
2199 	result = NIM_NIL;
2200 	switch ((*p).tok.tokType) {
2201 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
2202 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
2203 	{
2204 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143);
2205 	}
2206 	break;
2207 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52):
2208 	{
2209 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142);
2210 	}
2211 	break;
2212 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54):
2213 	{
2214 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141);
2215 	}
2216 	break;
2217 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58):
2218 	{
2219 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137);
2220 	}
2221 	break;
2222 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
2223 	{
2224 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132);
2225 	}
2226 	break;
2227 	default:
2228 	{
2229 		modifier = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1);
2230 	}
2231 	break;
2232 	}
2233 	{
2234 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2235 		if (!!((modifier == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
2236 		result = newNodeP__parser_54(modifier, (&(*p)));
2237 		getTok__parser_45(p);
2238 		T11_ = NIM_NIL;
2239 		T11_ = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
2240 		add__ast_4797(result, T11_);
2241 	}
2242 	goto LA7_;
2243 	LA9_: ;
2244 	{
2245 		result = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
2246 	}
2247 	LA7_: ;
2248 	return result;
2249 }
N_INLINE(NIM_BOOL,isNewStyleConcept__ast_5226)2250 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2251 	NIM_BOOL result;
2252 	result = (NIM_BOOL)0;
2253 	result = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2254 	return result;
2255 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeClass__parser_1232)2256 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeClass__parser_1232)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2257 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2258 	result = NIM_NIL;
2259 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136), (&(*p)));
2260 	getTok__parser_45(p);
2261 	{
2262 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA3_;
2263 		skipComment__parser_51(p, result);
2264 	}
2265 	LA3_: ;
2266 	{
2267 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* args;
2268 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
2269 		if (!((*p).tok.indent < ((NI) 0))) goto LA7_;
2270 		args = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (&(*p)));
2271 		add__ast_4797(result, args);
2272 		T9_ = NIM_NIL;
2273 		T9_ = parseTypeClassParam__parser_2136(p);
2274 		add__ast_4797(args, T9_);
2275 		{
2276 			while (1) {
2277 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
2278 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102))) goto LA11;
2279 				getTok__parser_45(p);
2280 				T12_ = NIM_NIL;
2281 				T12_ = parseTypeClassParam__parser_2136(p);
2282 				add__ast_4797(args, T12_);
2283 			} LA11: ;
2284 		}
2285 	}
2286 	goto LA5_;
2287 	LA7_: ;
2288 	{
2289 		add__ast_4797(result, (*p).emptyNode);
2290 	}
2291 	LA5_: ;
2292 	{
2293 		NIM_BOOL T16_;
2294 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2295 		T16_ = (NIM_BOOL)0;
2296 		T16_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
2297 		if (!(T16_)) goto LA17_;
2298 		T16_ = validInd__parser_162(p);
2299 		LA17_: ;
2300 		if (!T16_) goto LA18_;
2301 		T20_ = NIM_NIL;
2302 		T20_ = parsePragma__parser_105(p);
2303 		add__ast_4797(result, T20_);
2304 	}
2305 	goto LA14_;
2306 	LA18_: ;
2307 	{
2308 		add__ast_4797(result, (*p).emptyNode);
2309 	}
2310 	LA14_: ;
2311 	{
2312 		NIM_BOOL T24_;
2313 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2314 		T24_ = (NIM_BOOL)0;
2315 		T24_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48));
2316 		if (!(T24_)) goto LA25_;
2317 		T24_ = ((*p).tok.indent < ((NI) 0));
2318 		LA25_: ;
2319 		if (!T24_) goto LA26_;
2320 		a = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77), (&(*p)));
2321 		getTok__parser_45(p);
2322 		{
2323 			while (1) {
2324 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
2325 				T30_ = NIM_NIL;
2326 				T30_ = parseTypeDesc__parser_260(p);
2327 				add__ast_4797(a, T30_);
2328 				{
2329 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA33_;
2330 					goto LA28;
2331 				}
2332 				LA33_: ;
2333 				getTok__parser_45(p);
2334 			}
2335 		} LA28: ;
2336 		add__ast_4797(result, a);
2337 	}
2338 	goto LA22_;
2339 	LA26_: ;
2340 	{
2341 		add__ast_4797(result, (*p).emptyNode);
2342 	}
2343 	LA22_: ;
2344 	{
2345 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA38_;
2346 		skipComment__parser_51(p, result);
2347 	}
2348 	LA38_: ;
2349 	{
2350 		if (!!(((*p).currInd < (*p).tok.indent))) goto LA42_;
2351 		{
2352 			NIM_BOOL T46_;
2353 			T46_ = (NIM_BOOL)0;
2354 			T46_ = isNewStyleConcept__ast_5226(result);
2355 			if (!T46_) goto LA47_;
2356 			parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_18), (&(*p).tok));
2357 		}
2358 		LA47_: ;
2359 		add__ast_4797(result, (*p).emptyNode);
2360 	}
2361 	goto LA40_;
2362 	LA42_: ;
2363 	{
2364 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
2365 		T50_ = NIM_NIL;
2366 		T50_ = parseStmt__parser_258(p);
2367 		add__ast_4797(result, T50_);
2368 	}
2369 	LA40_: ;
2370 	return result;
2371 }
N_INLINE(int,nimCmpMem)2372 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2373 	int result;
2374 	result = (int)0;
2375 	result = memcmp(a, b, ((size_t) (size)));
2376 	return result;
2377 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2378 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2379 	NIM_BOOL result;
2380 	int T1_;
2381 	result = (NIM_BOOL)0;
2382 	T1_ = (int)0;
2383 	T1_ = nimCmpMem(a, b, size);
2384 	result = (T1_ == ((NI32) 0));
2385 	return result;
2386 }
N_INLINE(NIM_BOOL,eqStrings)2387 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2388 	NIM_BOOL result;
2389 	NI alen;
2390 	NI blen;
2391 {	result = (NIM_BOOL)0;
2392 	alen = (a ? a->Sup.len : 0);
2393 	blen = (b ? b->Sup.len : 0);
2394 	{
2395 		if (!(alen == blen)) goto LA3_;
2396 		{
2397 			if (!(alen == ((NI) 0))) goto LA7_;
2398 			result = NIM_TRUE;
2399 			goto BeforeRet_;
2400 		}
2401 		LA7_: ;
2402 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2403 		goto BeforeRet_;
2404 	}
2405 	LA3_: ;
2406 	}BeforeRet_: ;
2407 	return result;
2408 }
N_NIMCALL(void,parseSymbolList__parser_1142)2409 N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_1142)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
2410 	{
2411 		while (1) {
2412 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2413 			s = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 1));
2414 			{
2415 				if (!((*s).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA5_;
2416 				goto LA1;
2417 			}
2418 			LA5_: ;
2419 			add__ast_4797(result, s);
2420 			{
2421 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA9_;
2422 				goto LA1;
2423 			}
2424 			LA9_: ;
2425 			getTok__parser_45(p);
2426 			optInd__parser_85(p, s);
2427 		}
2428 	} LA1: ;
2429 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeDescKAux__parser_1158)2430 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDescKAux__parser_1158)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
2431 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2432 {	result = NIM_NIL;
2433 	result = newNodeP__parser_54(kind, (&(*p)));
2434 	getTok__parser_45(p);
2435 	{
2436 		NIM_BOOL T3_;
2437 		T3_ = (NIM_BOOL)0;
2438 		T3_ = !(((*p).tok.indent == ((NI) -1)));
2439 		if (!(T3_)) goto LA4_;
2440 		T3_ = ((*p).tok.indent <= (*p).currInd);
2441 		LA4_: ;
2442 		if (!T3_) goto LA5_;
2443 		goto BeforeRet_;
2444 	}
2445 	LA5_: ;
2446 	optInd__parser_85(p, result);
2447 	{
2448 		NIM_BOOL T9_;
2449 		NIM_BOOL T10_;
2450 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
2451 		T9_ = (NIM_BOOL)0;
2452 		T10_ = (NIM_BOOL)0;
2453 		T10_ = isOperator__parser_43((&(*p).tok));
2454 		T9_ = !(T10_);
2455 		if (!(T9_)) goto LA11_;
2456 		T9_ = isExprStart__parser_1139((&(*p)));
2457 		LA11_: ;
2458 		if (!T9_) goto LA12_;
2459 		T14_ = NIM_NIL;
2460 		T14_ = primary__parser_114(p, mode);
2461 		add__ast_4797(result, T14_);
2462 	}
2463 	LA12_: ;
2464 	{
2465 		NIM_BOOL T17_;
2466 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw nodeKind;
2467 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list;
2468 		T17_ = (NIM_BOOL)0;
2469 		T17_ = (kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146));
2470 		if (!(T17_)) goto LA18_;
2471 		T17_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2));
2472 		LA18_: ;
2473 		if (!T17_) goto LA19_;
2474 		nodeKind = (tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw)0;
2475 		{
2476 			if (!eqStrings((*(*p).tok.ident).s, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_20))) goto LA23_;
2477 			nodeKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130);
2478 		}
2479 		goto LA21_;
2480 		LA23_: ;
2481 		{
2482 			if (!eqStrings((*(*p).tok.ident).s, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_21))) goto LA26_;
2483 			nodeKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 131);
2484 		}
2485 		goto LA21_;
2486 		LA26_: ;
2487 		{
2488 			goto BeforeRet_;
2489 		}
2490 		LA21_: ;
2491 		getTok__parser_45(p);
2492 		list = newNodeP__parser_54(nodeKind, (&(*p)));
2493 		add__ast_4797(result, list);
2494 		parseSymbolList__parser_1142(p, list);
2495 	}
2496 	LA19_: ;
2497 	}BeforeRet_: ;
2498 	return result;
2499 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newIntNodeP__parser_57)2500 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNodeP__parser_57)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2501 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2502 	result = NIM_NIL;
2503 	result = newNodeP__parser_54(kind, p);
2504 	(*result)._kind_1.intVal = intVal;
2505 	return result;
2506 }
N_NIMCALL(void,setBaseFlags__parser_92)2507 N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_92)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog base) {
2508 	switch (base) {
2509 	case ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 0):
2510 	{
2511 	}
2512 	break;
2513 	case ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 1):
2514 	{
2515 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1)) & 31);
2516 	}
2517 	break;
2518 	case ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 2):
2519 	{
2520 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 2)) & 31);
2521 	}
2522 	break;
2523 	case ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 3):
2524 	{
2525 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 3)) & 31);
2526 	}
2527 	break;
2528 	}
2529 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newFloatNodeP__parser_61)2530 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newFloatNodeP__parser_61)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NF floatVal, tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2531 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2532 	result = NIM_NIL;
2533 	result = newNodeP__parser_54(kind, p);
2534 	(*result)._kind_2.floatVal = floatVal;
2535 	return result;
2536 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,exprColonEqExprList__parser_431)2537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, exprColonEqExprList__parser_431)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ endTok) {
2538 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2539 	result = NIM_NIL;
2540 	result = newNodeP__parser_54(kind, (&(*p)));
2541 	exprColonEqExprListAux__parser_399(p, endTok, result);
2542 	return result;
2543 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseIfOrWhenExpr__parser_585)2544 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIfOrWhenExpr__parser_585)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
2545 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2546 	result = NIM_NIL;
2547 	result = newNodeP__parser_54(kind, (&(*p)));
2548 	{
2549 		while (1) {
2550 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2551 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
2552 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
2553 			getTok__parser_45(p);
2554 			branch = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49), (&(*p)));
2555 			optInd__parser_85(p, branch);
2556 			T3_ = NIM_NIL;
2557 			T3_ = parseExpr__parser_256(p);
2558 			add__ast_4797(branch, T3_);
2559 			colcom__parser_299(p, branch);
2560 			T4_ = NIM_NIL;
2561 			T4_ = parseStmt__parser_258(p);
2562 			add__ast_4797(branch, T4_);
2563 			skipComment__parser_51(p, branch);
2564 			add__ast_4797(result, branch);
2565 			{
2566 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21)))) goto LA7_;
2567 				goto LA1;
2568 			}
2569 			LA7_: ;
2570 		}
2571 	} LA1: ;
2572 	{
2573 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
2574 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
2575 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22))) goto LA11_;
2576 		branch_2 = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50), (&(*p)));
2577 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22));
2578 		colcom__parser_299(p, branch_2);
2579 		T13_ = NIM_NIL;
2580 		T13_ = parseStmt__parser_258(p);
2581 		add__ast_4797(branch_2, T13_);
2582 		add__ast_4797(result, branch_2);
2583 	}
2584 	LA11_: ;
2585 	return result;
2586 }
N_NIMCALL(void,semiStmtList__parser_588)2587 N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__parser_588)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
2588 	NI oldIndX60gensym32_;
2589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2590 	(*p).inSemiStmtList += ((NI) 1);
2591 	oldIndX60gensym32_ = (*p).currInd;
2592 	(*p).currInd = (*p).tok.indent;
2593 	switch ((*p).tok.tokType) {
2594 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31):
2595 	{
2596 		a = parseIfOrWhenExpr__parser_585(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92));
2597 	}
2598 	break;
2599 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
2600 	{
2601 		a = parseIfOrWhenExpr__parser_585(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93));
2602 	}
2603 	break;
2604 	default:
2605 	{
2606 		a = complexOrSimpleStmt__parser_580(p);
2607 	}
2608 	break;
2609 	}
2610 	add__ast_4797(result, a);
2611 	{
2612 		while (1) {
2613 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
2614 			if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)))) goto LA5;
2615 			{
2616 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103))) goto LA8_;
2617 				getTok__parser_45(p);
2618 			}
2619 			LA8_: ;
2620 			{
2621 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91))) goto LA12_;
2622 				goto LA4;
2623 			}
2624 			goto LA10_;
2625 			LA12_: ;
2626 			{
2627 				NIM_BOOL T15_;
2628 				T15_ = (NIM_BOOL)0;
2629 				T15_ = ((*p).tok.indent == (*p).currInd);
2630 				if (T15_) goto LA16_;
2631 				T15_ = ((*p).currInd < (*p).tok.indent);
2632 				LA16_: ;
2633 				if (!!(T15_)) goto LA17_;
2634 				parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
2635 			}
2636 			goto LA10_;
2637 			LA17_: ;
2638 			LA10_: ;
2639 			a_2 = complexOrSimpleStmt__parser_580(p);
2640 			{
2641 				if (!((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA21_;
2642 				parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
2643 				getTok__parser_45(p);
2644 			}
2645 			goto LA19_;
2646 			LA21_: ;
2647 			{
2648 				add__ast_4797(result, a_2);
2649 			}
2650 			LA19_: ;
2651 		} LA5: ;
2652 	} LA4: ;
2653 	(*p).currInd = oldIndX60gensym32_;
2654 	(*p).inSemiStmtList -= ((NI) 1);
2655 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
2656 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseStmtPragma__parser_103)2657 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStmtPragma__parser_103)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2658 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2659 	result = NIM_NIL;
2660 	result = parsePragma__parser_105(p);
2661 	{
2662 		NIM_BOOL T3_;
2663 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2664 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
2665 		T3_ = (NIM_BOOL)0;
2666 		T3_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
2667 		if (!(T3_)) goto LA4_;
2668 		T3_ = ((*p).tok.indent < ((NI) 0));
2669 		LA4_: ;
2670 		if (!T3_) goto LA5_;
2671 		a = result;
2672 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91), (*a).info);
2673 		getTok__parser_45(p);
2674 		skipComment__parser_51(p, result);
2675 		add__ast_4797(result, a);
2676 		T7_ = NIM_NIL;
2677 		T7_ = parseStmt__parser_258(p);
2678 		add__ast_4797(result, T7_);
2679 	}
2680 	LA5_: ;
2681 	return result;
2682 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parsePar__parser_627)2683 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePar__parser_627)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2684 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2685 	result = NIM_NIL;
2686 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37), (&(*p)));
2687 	getTok__parser_45(p);
2688 	optInd__parser_85(p, result);
2689 	flexComment__parser_183(p, result);
2690 	{
2691 		if (!((TM__MW5RrD2zyVLHF67ojsDu8Q_22[(NU)((*p).tok.tokType)>>3] &(1U<<((NU)((*p).tok.tokType)&7U)))!=0)) goto LA3_;
2692 		semiStmtList__parser_588(p, result);
2693 	}
2694 	goto LA1_;
2695 	LA3_: ;
2696 	{
2697 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103))) goto LA6_;
2698 		getTok__parser_45(p);
2699 		optInd__parser_85(p, result);
2700 		semiStmtList__parser_588(p, result);
2701 	}
2702 	goto LA1_;
2703 	LA6_: ;
2704 	{
2705 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2706 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98))) goto LA9_;
2707 		T11_ = NIM_NIL;
2708 		T11_ = parseStmtPragma__parser_103(p);
2709 		add__ast_4797(result, T11_);
2710 	}
2711 	goto LA1_;
2712 	LA9_: ;
2713 	{
2714 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91))) goto LA13_;
2715 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
2716 	}
2717 	goto LA1_;
2718 	LA13_: ;
2719 	{
2720 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2721 		a = simpleExpr__parser_582(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
2722 		{
2723 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20))) goto LA18_;
2724 			result = postExprBlocks__parser_107(p, a);
2725 		}
2726 		goto LA16_;
2727 		LA18_: ;
2728 		{
2729 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
2730 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
2731 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA21_;
2732 			asgn = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (&(*p)));
2733 			getTok__parser_45(p);
2734 			optInd__parser_85(p, result);
2735 			b = parseExpr__parser_256(p);
2736 			add__ast_4797(asgn, a);
2737 			add__ast_4797(asgn, b);
2738 			add__ast_4797(result, asgn);
2739 			{
2740 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103))) goto LA25_;
2741 				semiStmtList__parser_588(p, result);
2742 			}
2743 			LA25_: ;
2744 		}
2745 		goto LA16_;
2746 		LA21_: ;
2747 		{
2748 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103))) goto LA28_;
2749 			add__ast_4797(result, a);
2750 			semiStmtList__parser_588(p, result);
2751 		}
2752 		goto LA16_;
2753 		LA28_: ;
2754 		{
2755 			a = colonOrEquals__parser_342(p, a);
2756 			{
2757 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA33_;
2758 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
2759 			}
2760 			LA33_: ;
2761 			add__ast_4797(result, a);
2762 			{
2763 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102))) goto LA37_;
2764 				getTok__parser_45(p);
2765 				skipComment__parser_51(p, a);
2766 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
2767 				{
2768 					while (1) {
2769 						NIM_BOOL T41_;
2770 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
2771 						T41_ = (NIM_BOOL)0;
2772 						T41_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91)));
2773 						if (!(T41_)) goto LA42_;
2774 						T41_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)));
2775 						LA42_: ;
2776 						if (!T41_) goto LA40;
2777 						a_2 = exprColonEqExpr__parser_370(p);
2778 						add__ast_4797(result, a_2);
2779 						{
2780 							if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA45_;
2781 							goto LA39;
2782 						}
2783 						LA45_: ;
2784 						getTok__parser_45(p);
2785 						skipComment__parser_51(p, a_2);
2786 					} LA40: ;
2787 				} LA39: ;
2788 			}
2789 			LA37_: ;
2790 		}
2791 		LA16_: ;
2792 	}
2793 	LA1_: ;
2794 	optPar__parser_83(p);
2795 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
2796 	return result;
2797 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,setOrTableConstr__parser_498)2798 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setOrTableConstr__parser_498)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2799 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2800 	result = NIM_NIL;
2801 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (&(*p)));
2802 	getTok__parser_45(p);
2803 	optInd__parser_85(p, result);
2804 	{
2805 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA3_;
2806 		getTok__parser_45(p);
2807 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 54));
2808 	}
2809 	goto LA1_;
2810 	LA3_: ;
2811 	{
2812 		{
2813 			while (1) {
2814 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
2815 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)))) goto LA7;
2816 				a = exprColonEqExpr__parser_370(p);
2817 				{
2818 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10_;
2819 					transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 54));
2820 				}
2821 				LA10_: ;
2822 				add__ast_4797(result, a);
2823 				{
2824 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA14_;
2825 					goto LA6;
2826 				}
2827 				LA14_: ;
2828 				getTok__parser_45(p);
2829 				skipComment__parser_51(p, a);
2830 			} LA7: ;
2831 		} LA6: ;
2832 	}
2833 	LA1_: ;
2834 	optPar__parser_83(p);
2835 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95));
2836 	return result;
2837 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseCast__parser_522)2838 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseCast__parser_522)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
2839 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2840 	result = NIM_NIL;
2841 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (&(*p)));
2842 	getTok__parser_45(p);
2843 	{
2844 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
2845 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2846 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92))) goto LA3_;
2847 		getTok__parser_45(p);
2848 		optInd__parser_85(p, result);
2849 		T5_ = NIM_NIL;
2850 		T5_ = parseTypeDesc__parser_260(p);
2851 		add__ast_4797(result, T5_);
2852 		optPar__parser_83(p);
2853 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
2854 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90));
2855 		optInd__parser_85(p, result);
2856 		T6_ = NIM_NIL;
2857 		T6_ = parseExpr__parser_256(p);
2858 		add__ast_4797(result, T6_);
2859 	}
2860 	goto LA1_;
2861 	LA3_: ;
2862 	{
2863 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2864 		add__ast_4797(result, (*p).emptyNode);
2865 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90));
2866 		optInd__parser_85(p, result);
2867 		T8_ = NIM_NIL;
2868 		T8_ = exprColonEqExpr__parser_370(p);
2869 		add__ast_4797(result, T8_);
2870 	}
2871 	LA1_: ;
2872 	optPar__parser_83(p);
2873 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
2874 	return result;
2875 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,identOrLiteral__parser_714)2876 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, identOrLiteral__parser_714)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
2877 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2878 	result = NIM_NIL;
2879 	switch ((*p).tok.tokType) {
2880 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
2881 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3):
2882 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
2883 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58):
2884 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
2885 	{
2886 		result = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
2887 		getTok__parser_45(p);
2888 		result = parseGStrLit__parser_560(p, result);
2889 	}
2890 	break;
2891 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
2892 	{
2893 		result = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
2894 	}
2895 	break;
2896 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69):
2897 	{
2898 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*p).tok.iNumber, (&(*p)));
2899 		setBaseFlags__parser_92(result, (*p).tok.base);
2900 		getTok__parser_45(p);
2901 	}
2902 	break;
2903 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70):
2904 	{
2905 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7), (*p).tok.iNumber, (&(*p)));
2906 		setBaseFlags__parser_92(result, (*p).tok.base);
2907 		getTok__parser_45(p);
2908 	}
2909 	break;
2910 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71):
2911 	{
2912 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8), (*p).tok.iNumber, (&(*p)));
2913 		setBaseFlags__parser_92(result, (*p).tok.base);
2914 		getTok__parser_45(p);
2915 	}
2916 	break;
2917 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72):
2918 	{
2919 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9), (*p).tok.iNumber, (&(*p)));
2920 		setBaseFlags__parser_92(result, (*p).tok.base);
2921 		getTok__parser_45(p);
2922 	}
2923 	break;
2924 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73):
2925 	{
2926 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10), (*p).tok.iNumber, (&(*p)));
2927 		setBaseFlags__parser_92(result, (*p).tok.base);
2928 		getTok__parser_45(p);
2929 	}
2930 	break;
2931 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74):
2932 	{
2933 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11), (*p).tok.iNumber, (&(*p)));
2934 		setBaseFlags__parser_92(result, (*p).tok.base);
2935 		getTok__parser_45(p);
2936 	}
2937 	break;
2938 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75):
2939 	{
2940 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12), (*p).tok.iNumber, (&(*p)));
2941 		setBaseFlags__parser_92(result, (*p).tok.base);
2942 		getTok__parser_45(p);
2943 	}
2944 	break;
2945 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76):
2946 	{
2947 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13), (*p).tok.iNumber, (&(*p)));
2948 		setBaseFlags__parser_92(result, (*p).tok.base);
2949 		getTok__parser_45(p);
2950 	}
2951 	break;
2952 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77):
2953 	{
2954 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14), (*p).tok.iNumber, (&(*p)));
2955 		setBaseFlags__parser_92(result, (*p).tok.base);
2956 		getTok__parser_45(p);
2957 	}
2958 	break;
2959 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78):
2960 	{
2961 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15), (*p).tok.iNumber, (&(*p)));
2962 		setBaseFlags__parser_92(result, (*p).tok.base);
2963 		getTok__parser_45(p);
2964 	}
2965 	break;
2966 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79):
2967 	{
2968 		result = newFloatNodeP__parser_61(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), (*p).tok.fNumber, (&(*p)));
2969 		setBaseFlags__parser_92(result, (*p).tok.base);
2970 		getTok__parser_45(p);
2971 	}
2972 	break;
2973 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80):
2974 	{
2975 		result = newFloatNodeP__parser_61(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17), (*p).tok.fNumber, (&(*p)));
2976 		setBaseFlags__parser_92(result, (*p).tok.base);
2977 		getTok__parser_45(p);
2978 	}
2979 	break;
2980 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81):
2981 	{
2982 		result = newFloatNodeP__parser_61(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18), (*p).tok.fNumber, (&(*p)));
2983 		setBaseFlags__parser_92(result, (*p).tok.base);
2984 		getTok__parser_45(p);
2985 	}
2986 	break;
2987 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82):
2988 	{
2989 		result = newFloatNodeP__parser_61(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19), (*p).tok.fNumber, (&(*p)));
2990 		setBaseFlags__parser_92(result, (*p).tok.base);
2991 		getTok__parser_45(p);
2992 	}
2993 	break;
2994 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83):
2995 	{
2996 		result = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*p).tok.literal, (&(*p)));
2997 		getTok__parser_45(p);
2998 	}
2999 	break;
3000 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84):
3001 	{
3002 		result = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21), (*p).tok.literal, (&(*p)));
3003 		getTok__parser_45(p);
3004 	}
3005 	break;
3006 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 85):
3007 	{
3008 		result = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22), (*p).tok.literal, (&(*p)));
3009 		getTok__parser_45(p);
3010 	}
3011 	break;
3012 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88):
3013 	{
3014 		result = newIntNodeP__parser_57(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((NI64) (((NU8)((*p).tok.literal->data[((NI) 0)])))), (&(*p)));
3015 		getTok__parser_45(p);
3016 	}
3017 	break;
3018 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89):
3019 	{
3020 		NI splitPos;
3021 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* str;
3022 		NimStringDesc* T22_;
3023 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee;
3024 		NimStringDesc* T23_;
3025 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T24_;
3026 		splitPos = ((NI) ((*p).tok.iNumber));
3027 		T22_ = NIM_NIL;
3028 		T22_ = substr__system_7764((*p).tok.literal, ((NI) 0), (NI)(splitPos - ((NI) 1)));
3029 		str = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21), T22_, (&(*p)));
3030 		T23_ = NIM_NIL;
3031 		T23_ = substr__system_7776((*p).tok.literal, splitPos);
3032 		T24_ = NIM_NIL;
3033 		T24_ = getIdent__idents_143((*p).lex.cache, T23_);
3034 		callee = newIdentNodeP__parser_69(T24_, (&(*p)));
3035 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (&(*p)));
3036 		add__ast_4797(result, str);
3037 		add__ast_4797(result, callee);
3038 		getTok__parser_45(p);
3039 	}
3040 	break;
3041 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44):
3042 	{
3043 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (&(*p)));
3044 		getTok__parser_45(p);
3045 	}
3046 	break;
3047 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90):
3048 	{
3049 		{
3050 			if (!((6 &((NU8)1<<((NU)(mode)&7U)))!=0)) goto LA29_;
3051 			result = exprColonEqExprList__parser_431(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
3052 		}
3053 		goto LA27_;
3054 		LA29_: ;
3055 		{
3056 			result = parsePar__parser_627(p);
3057 		}
3058 		LA27_: ;
3059 	}
3060 	break;
3061 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94):
3062 	{
3063 		result = setOrTableConstr__parser_498(p);
3064 	}
3065 	break;
3066 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92):
3067 	{
3068 		result = exprColonEqExprList__parser_431(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
3069 	}
3070 	break;
3071 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 11):
3072 	{
3073 		result = parseCast__parser_522(p);
3074 	}
3075 	break;
3076 	default:
3077 	{
3078 		parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
3079 		getTok__parser_45(p);
3080 		result = (*p).emptyNode;
3081 	}
3082 	break;
3083 	}
3084 	return result;
3085 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,primary__parser_114)3086 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, primary__parser_114)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
3087 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3088 {	result = NIM_NIL;
3089 	{
3090 		NIM_BOOL T3_;
3091 		NIM_BOOL isSigil;
3092 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3093 		T3_ = (NIM_BOOL)0;
3094 		T3_ = isOperator__parser_43((&(*p).tok));
3095 		if (!T3_) goto LA4_;
3096 		isSigil = isSigilLike__parser_265((&(*p).tok));
3097 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), (&(*p)));
3098 		a = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
3099 		add__ast_4797(result, a);
3100 		getTok__parser_45(p);
3101 		optInd__parser_85(p, a);
3102 		{
3103 			NI baseInd;
3104 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
3105 			if (!isSigil) goto LA8_;
3106 			baseInd = (*p).lex.currLineIndent;
3107 			T10_ = NIM_NIL;
3108 			T10_ = primary__parser_114(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 3));
3109 			add__ast_4797(result, T10_);
3110 			result = primarySuffix__parser_796(p, result, baseInd, mode);
3111 		}
3112 		goto LA6_;
3113 		LA8_: ;
3114 		{
3115 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3116 			T12_ = NIM_NIL;
3117 			T12_ = primary__parser_114(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
3118 			add__ast_4797(result, T12_);
3119 		}
3120 		LA6_: ;
3121 		goto BeforeRet_;
3122 	}
3123 	LA4_: ;
3124 	switch ((*p).tok.tokType) {
3125 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61):
3126 	{
3127 		result = parseTuple__parser_1029(p, (mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2)));
3128 	}
3129 	break;
3130 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51):
3131 	{
3132 		result = parseProcExpr__parser_1110(p, !(((6 &((NU8)1<<((NU)(mode)&7U)))!=0)), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51));
3133 	}
3134 	break;
3135 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30):
3136 	{
3137 		result = parseProcExpr__parser_1110(p, !(((6 &((NU8)1<<((NU)(mode)&7U)))!=0)), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
3138 	}
3139 	break;
3140 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38):
3141 	{
3142 		result = parseProcExpr__parser_1110(p, !(((6 &((NU8)1<<((NU)(mode)&7U)))!=0)), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51));
3143 		{
3144 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51))) goto LA19_;
3145 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 84));
3146 		}
3147 		goto LA17_;
3148 		LA19_: ;
3149 		{
3150 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 148));
3151 		}
3152 		LA17_: ;
3153 	}
3154 	break;
3155 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24):
3156 	{
3157 		{
3158 			if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2))) goto LA25_;
3159 			result = parseEnum__parser_1228(p);
3160 		}
3161 		goto LA23_;
3162 		LA25_: ;
3163 		{
3164 			result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), (&(*p)));
3165 			getTok__parser_45(p);
3166 		}
3167 		LA23_: ;
3168 	}
3169 	break;
3170 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47):
3171 	{
3172 		{
3173 			if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2))) goto LA31_;
3174 			result = parseObject__parser_1230(p);
3175 		}
3176 		goto LA29_;
3177 		LA31_: ;
3178 		{
3179 			result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133), (&(*p)));
3180 			getTok__parser_45(p);
3181 		}
3182 		LA29_: ;
3183 	}
3184 	break;
3185 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 12):
3186 	{
3187 		{
3188 			if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2))) goto LA37_;
3189 			result = parseTypeClass__parser_1232(p);
3190 		}
3191 		goto LA35_;
3192 		LA37_: ;
3193 		{
3194 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_19));
3195 		}
3196 		LA35_: ;
3197 	}
3198 	break;
3199 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7):
3200 	{
3201 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
3202 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55), (&(*p)));
3203 		getTok__parser_45(p);
3204 		optInd__parser_85(p, result);
3205 		T41_ = NIM_NIL;
3206 		T41_ = primary__parser_114(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
3207 		add__ast_4797(result, T41_);
3208 	}
3209 	break;
3210 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
3211 	{
3212 		result = parseTypeDescKAux__parser_1158(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143), mode);
3213 	}
3214 	break;
3215 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
3216 	{
3217 		result = parseTypeDescKAux__parser_1158(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 145), mode);
3218 	}
3219 	break;
3220 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54):
3221 	{
3222 		result = parseTypeDescKAux__parser_1158(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141), mode);
3223 	}
3224 	break;
3225 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52):
3226 	{
3227 		result = parseTypeDescKAux__parser_1158(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142), mode);
3228 	}
3229 	break;
3230 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 18):
3231 	{
3232 		result = parseTypeDescKAux__parser_1158(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146), mode);
3233 	}
3234 	break;
3235 	default:
3236 	{
3237 		NI baseInd_2;
3238 		baseInd_2 = (*p).lex.currLineIndent;
3239 		result = identOrLiteral__parser_714(p, mode);
3240 		{
3241 			if (!!((mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 3)))) goto LA50_;
3242 			result = primarySuffix__parser_796(p, result, baseInd_2, mode);
3243 		}
3244 		LA50_: ;
3245 	}
3246 	break;
3247 	}
3248 	}BeforeRet_: ;
3249 	return result;
3250 }
N_INLINE(void,checkBinary__parser_286)3251 static N_INLINE(void, checkBinary__parser_286)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3252 	{
3253 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110))) goto LA3_;
3254 		{
3255 			NIM_BOOL T7_;
3256 			NimStringDesc* T11_;
3257 			T7_ = (NIM_BOOL)0;
3258 			T7_ = (((NI8) 0) < (*p).tok.strongSpaceB);
3259 			if (!(T7_)) goto LA8_;
3260 			T7_ = ((*p).tok.strongSpaceA == ((NI8) 0));
3261 			LA8_: ;
3262 			if (!T7_) goto LA9_;
3263 			T11_ = NIM_NIL;
3264 			T11_ = prettyTok__lexer_239((&(*p).tok));
3265 			parMessage__parser_47(p, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 54), T11_);
3266 		}
3267 		LA9_: ;
3268 	}
3269 	LA3_: ;
3270 }
N_INLINE(NIM_BOOL,isRightAssociative__parser_272)3271 static N_INLINE(NIM_BOOL, isRightAssociative__parser_272)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
3272 	NIM_BOOL result;
3273 	NIM_BOOL T1_;
3274 	result = (NIM_BOOL)0;
3275 	T1_ = (NIM_BOOL)0;
3276 	T1_ = ((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110));
3277 	if (!(T1_)) goto LA2_;
3278 	T1_ = ((NU8)((*(*tok).ident).s->data[((NI) 0)]) == (NU8)(94));
3279 	LA2_: ;
3280 	result = T1_;
3281 	return result;
3282 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseOperators__parser_831)3283 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseOperators__parser_831)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headNode, NI limit, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
3284 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3285 	NI opPrec;
3286 	tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg modeB;
3287 	result = NIM_NIL;
3288 	result = headNode;
3289 	opPrec = getPrecedence__lexer_1374((&(*p).tok));
3290 	{
3291 		if (!(mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2))) goto LA3_;
3292 		modeB = ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 1);
3293 	}
3294 	goto LA1_;
3295 	LA3_: ;
3296 	{
3297 		modeB = mode;
3298 	}
3299 	LA1_: ;
3300 	{
3301 		while (1) {
3302 			NIM_BOOL T8_;
3303 			NIM_BOOL T9_;
3304 			NIM_BOOL T12_;
3305 			NI leftAssoc;
3306 			NIM_BOOL T13_;
3307 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3308 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opNode;
3309 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
3310 			T8_ = (NIM_BOOL)0;
3311 			T9_ = (NIM_BOOL)0;
3312 			T9_ = (limit <= opPrec);
3313 			if (!(T9_)) goto LA10_;
3314 			T9_ = ((*p).tok.indent < ((NI) 0));
3315 			LA10_: ;
3316 			T8_ = T9_;
3317 			if (!(T8_)) goto LA11_;
3318 			T12_ = (NIM_BOOL)0;
3319 			T12_ = isUnary__parser_279((&(*p).tok));
3320 			T8_ = !(T12_);
3321 			LA11_: ;
3322 			if (!T8_) goto LA7;
3323 			checkBinary__parser_286((&(*p)));
3324 			T13_ = (NIM_BOOL)0;
3325 			T13_ = isRightAssociative__parser_272((&(*p).tok));
3326 			leftAssoc = !(T13_);
3327 			a = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (&(*p)));
3328 			opNode = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
3329 			getTok__parser_45(p);
3330 			flexComment__parser_183(p, a);
3331 			optPar__parser_83(p);
3332 			b = simpleExprAux__parser_117(p, (NI)(opPrec + leftAssoc), modeB);
3333 			add__ast_4797(a, opNode);
3334 			add__ast_4797(a, result);
3335 			add__ast_4797(a, b);
3336 			result = a;
3337 			opPrec = getPrecedence__lexer_1374((&(*p).tok));
3338 		} LA7: ;
3339 	}
3340 	return result;
3341 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,simpleExprAux__parser_117)3342 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleExprAux__parser_117)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NI limit, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
3343 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3344 	result = NIM_NIL;
3345 	result = primary__parser_114(p, mode);
3346 	{
3347 		NIM_BOOL T3_;
3348 		NIM_BOOL T4_;
3349 		NIM_BOOL T6_;
3350 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaExp;
3351 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
3352 		T3_ = (NIM_BOOL)0;
3353 		T4_ = (NIM_BOOL)0;
3354 		T4_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
3355 		if (!(T4_)) goto LA5_;
3356 		T6_ = (NIM_BOOL)0;
3357 		T6_ = ((*p).tok.indent < ((NI) 0));
3358 		if (T6_) goto LA7_;
3359 		T6_ = ((*p).currInd < (*p).tok.indent);
3360 		LA7_: ;
3361 		T4_ = T6_;
3362 		LA5_: ;
3363 		T3_ = T4_;
3364 		if (!(T3_)) goto LA8_;
3365 		T3_ = (mode == ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
3366 		LA8_: ;
3367 		if (!T3_) goto LA9_;
3368 		pragmaExp = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (&(*p)));
3369 		add__ast_4797(pragmaExp, result);
3370 		T11_ = NIM_NIL;
3371 		T11_ = parsePragma__parser_105(p);
3372 		add__ast_4797(pragmaExp, T11_);
3373 		result = pragmaExp;
3374 	}
3375 	LA9_: ;
3376 	result = parseOperators__parser_831(p, result, limit, mode);
3377 	return result;
3378 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,simpleExpr__parser_582)3379 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleExpr__parser_582)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg mode) {
3380 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3381 	result = NIM_NIL;
3382 	result = simpleExprAux__parser_117(p, ((NI) -1), mode);
3383 	return result;
3384 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,binaryNot__parser_1294)3385 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, binaryNot__parser_1294)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
3386 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3387 	result = NIM_NIL;
3388 	{
3389 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notOpr;
3390 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
3391 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 45))) goto LA3_;
3392 		notOpr = newIdentNodeP__parser_69((*p).tok.ident, (&(*p)));
3393 		getTok__parser_45(p);
3394 		optInd__parser_85(p, notOpr);
3395 		b = parseExpr__parser_256(p);
3396 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (&(*p)));
3397 		add__ast_4797(result, notOpr);
3398 		add__ast_4797(result, a);
3399 		add__ast_4797(result, b);
3400 	}
3401 	goto LA1_;
3402 	LA3_: ;
3403 	{
3404 		result = a;
3405 	}
3406 	LA1_: ;
3407 	return result;
3408 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeDesc__parser_260)3409 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDesc__parser_260)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3410 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3411 	result = NIM_NIL;
3412 	result = simpleExpr__parser_582(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 1));
3413 	result = binaryNot__parser_1294(p, result);
3414 	return result;
3415 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseIdentColonEquals__parser_971)3416 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIdentColonEquals__parser_971)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tySet_tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA flags) {
3417 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3418 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3419 {	result = NIM_NIL;
3420 	a = NIM_NIL;
3421 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (&(*p)));
3422 	{
3423 		while (1) {
3424 			switch ((*p).tok.tokType) {
3425 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
3426 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
3427 			{
3428 				{
3429 					if (!((flags &((NU8)1<<((NU)(((tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA) 0))&7U)))!=0)) goto LA6_;
3430 					a = identWithPragma__parser_946(p, ((flags &((NU8)1<<((NU)(((tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA) 2))&7U)))!=0));
3431 				}
3432 				goto LA4_;
3433 				LA6_: ;
3434 				{
3435 					a = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
3436 				}
3437 				LA4_: ;
3438 				{
3439 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA11_;
3440 					goto BeforeRet_;
3441 				}
3442 				LA11_: ;
3443 			}
3444 			break;
3445 			default:
3446 			{
3447 				goto LA1;
3448 			}
3449 			break;
3450 			}
3451 			add__ast_4797(result, a);
3452 			{
3453 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA16_;
3454 				goto LA1;
3455 			}
3456 			LA16_: ;
3457 			getTok__parser_45(p);
3458 			optInd__parser_85(p, a);
3459 		}
3460 	} LA1: ;
3461 	{
3462 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
3463 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA20_;
3464 		getTok__parser_45(p);
3465 		optInd__parser_85(p, result);
3466 		T22_ = NIM_NIL;
3467 		T22_ = parseTypeDesc__parser_260(p);
3468 		add__ast_4797(result, T22_);
3469 	}
3470 	goto LA18_;
3471 	LA20_: ;
3472 	{
3473 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
3474 		T24_ = NIM_NIL;
3475 		T24_ = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (&(*p)));
3476 		add__ast_4797(result, T24_);
3477 		{
3478 			NIM_BOOL T27_;
3479 			T27_ = (NIM_BOOL)0;
3480 			T27_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106)));
3481 			if (!(T27_)) goto LA28_;
3482 			T27_ = !(((flags &((NU8)1<<((NU)(((tyEnum_DeclaredIdentFlag__5CdK8b1znEHaI0ZaCQKLRA) 1))&7U)))!=0));
3483 			LA28_: ;
3484 			if (!T27_) goto LA29_;
3485 			parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_23), (&(*p).tok));
3486 		}
3487 		LA29_: ;
3488 	}
3489 	LA18_: ;
3490 	{
3491 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
3492 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA33_;
3493 		getTok__parser_45(p);
3494 		optInd__parser_85(p, result);
3495 		T35_ = NIM_NIL;
3496 		T35_ = parseExpr__parser_256(p);
3497 		add__ast_4797(result, T35_);
3498 	}
3499 	goto LA31_;
3500 	LA33_: ;
3501 	{
3502 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
3503 		T37_ = NIM_NIL;
3504 		T37_ = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (&(*p)));
3505 		add__ast_4797(result, T37_);
3506 	}
3507 	LA31_: ;
3508 	}BeforeRet_: ;
3509 	return result;
3510 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseParamList__parser_262)3511 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseParamList__parser_262)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL retColon) {
3512 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3513 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3514 	NIM_BOOL hasParLe;
3515 	NIM_BOOL T1_;
3516 	NIM_BOOL hasRet;
3517 	result = NIM_NIL;
3518 	a = NIM_NIL;
3519 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (&(*p)));
3520 	add__ast_4797(result, (*p).emptyNode);
3521 	T1_ = (NIM_BOOL)0;
3522 	T1_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90));
3523 	if (!(T1_)) goto LA2_;
3524 	T1_ = ((*p).tok.indent < ((NI) 0));
3525 	LA2_: ;
3526 	hasParLe = T1_;
3527 	{
3528 		if (!hasParLe) goto LA5_;
3529 		getTok__parser_45(p);
3530 		optInd__parser_85(p, result);
3531 		{
3532 			while (1) {
3533 				switch ((*p).tok.tokType) {
3534 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
3535 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
3536 				{
3537 					a = parseIdentColonEquals__parser_971(p, 3);
3538 				}
3539 				break;
3540 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91):
3541 				{
3542 					goto LA7;
3543 				}
3544 				break;
3545 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
3546 				{
3547 					parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_24));
3548 					goto LA7;
3549 				}
3550 				break;
3551 				default:
3552 				{
3553 					parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_25));
3554 					goto LA7;
3555 				}
3556 				break;
3557 				}
3558 				add__ast_4797(result, a);
3559 				{
3560 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103)))) goto LA15_;
3561 					goto LA7;
3562 				}
3563 				LA15_: ;
3564 				getTok__parser_45(p);
3565 				skipComment__parser_51(p, a);
3566 			}
3567 		} LA7: ;
3568 		optPar__parser_83(p);
3569 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
3570 	}
3571 	LA5_: ;
3572 	{
3573 		if (!retColon) goto LA19_;
3574 		hasRet = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
3575 	}
3576 	goto LA17_;
3577 	LA19_: ;
3578 	{
3579 		NIM_BOOL T22_;
3580 		T22_ = (NIM_BOOL)0;
3581 		T22_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110));
3582 		if (!(T22_)) goto LA23_;
3583 		T22_ = eqStrings((*(*p).tok.ident).s, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_26));
3584 		LA23_: ;
3585 		hasRet = T22_;
3586 	}
3587 	LA17_: ;
3588 	{
3589 		NIM_BOOL T26_;
3590 		T26_ = (NIM_BOOL)0;
3591 		T26_ = hasRet;
3592 		if (!(T26_)) goto LA27_;
3593 		T26_ = ((*p).tok.indent < ((NI) 0));
3594 		LA27_: ;
3595 		if (!T26_) goto LA28_;
3596 		getTok__parser_45(p);
3597 		optInd__parser_85(p, result);
3598 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), parseTypeDesc__parser_260(p));
3599 	}
3600 	goto LA24_;
3601 	LA28_: ;
3602 	{
3603 		NIM_BOOL T31_;
3604 		T31_ = (NIM_BOOL)0;
3605 		T31_ = !(retColon);
3606 		if (!(T31_)) goto LA32_;
3607 		T31_ = !(hasParLe);
3608 		LA32_: ;
3609 		if (!T31_) goto LA33_;
3610 		result = (*p).emptyNode;
3611 	}
3612 	goto LA24_;
3613 	LA33_: ;
3614 	LA24_: ;
3615 	return result;
3616 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,makeCall__parser_1322)3617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeCall__parser_1322)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3618 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3619 	result = NIM_NIL;
3620 	{
3621 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
3622 		result = n;
3623 	}
3624 	goto LA1_;
3625 	LA3_: ;
3626 	{
3627 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
3628 		add__ast_4797(result, n);
3629 	}
3630 	LA1_: ;
3631 	return result;
3632 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseDoBlock__parser_1100)3633 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseDoBlock__parser_1100)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3634 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3635 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
3636 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas;
3637 	result = NIM_NIL;
3638 	params = parseParamList__parser_262(p, NIM_FALSE);
3639 	pragmas = optPragmas__parser_1093(p);
3640 	colcom__parser_299(p, result);
3641 	result = parseStmt__parser_258(p);
3642 	{
3643 		if (!!(((*params).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
3644 		result = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), info, result, params, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, pragmas, (*p).emptyNode);
3645 	}
3646 	LA3_: ;
3647 	return result;
3648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,postExprBlocks__parser_107)3649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, postExprBlocks__parser_107)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
3650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3651 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* openingParams;
3652 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* openingPragmas;
3653 {	result = NIM_NIL;
3654 	result = x;
3655 	{
3656 		if (!(((NI) 0) <= (*p).tok.indent)) goto LA3_;
3657 		goto BeforeRet_;
3658 	}
3659 	LA3_: ;
3660 	openingParams = (*p).emptyNode;
3661 	openingPragmas = (*p).emptyNode;
3662 	{
3663 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20))) goto LA7_;
3664 		getTok__parser_45(p);
3665 		openingParams = parseParamList__parser_262(p, NIM_FALSE);
3666 		openingPragmas = optPragmas__parser_1093(p);
3667 	}
3668 	LA7_: ;
3669 	{
3670 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA11_;
3671 		result = makeCall__parser_1322(result);
3672 		getTok__parser_45(p);
3673 		skipComment__parser_51(p, result);
3674 		{
3675 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmtList;
3676 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
3677 			if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25)))) goto LA15_;
3678 			stmtList = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (&(*p)));
3679 			T17_ = NIM_NIL;
3680 			T17_ = parseStmt__parser_258(p);
3681 			add__ast_4797(stmtList, T17_);
3682 			{
3683 				if (!((*(*stmtList)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA20_;
3684 				stmtList = (*stmtList)._kind_6.sons->data[((NI) 0)];
3685 			}
3686 			LA20_: ;
3687 			(*stmtList).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 16)) & 31);
3688 			{
3689 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
3690 				if (!!(((*openingParams).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA24_;
3691 				T26_ = NIM_NIL;
3692 				T26_ = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), (*stmtList).info, stmtList, openingParams, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, openingPragmas, (*p).emptyNode);
3693 				add__ast_4797(result, T26_);
3694 			}
3695 			goto LA22_;
3696 			LA24_: ;
3697 			{
3698 				add__ast_4797(result, stmtList);
3699 			}
3700 			LA22_: ;
3701 		}
3702 		LA15_: ;
3703 		{
3704 			while (1) {
3705 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nextBlock;
3706 				tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ nextToken;
3707 				if (!((*p).tok.indent == (*p).currInd)) goto LA29;
3708 				nextBlock = NIM_NIL;
3709 				nextToken = (*p).tok.tokType;
3710 				{
3711 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
3712 					if (!(nextToken == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20))) goto LA32_;
3713 					info = parLineInfo__parser_76((&(*p)));
3714 					getTok__parser_45(p);
3715 					nextBlock = parseDoBlock__parser_1100(p, info);
3716 				}
3717 				goto LA30_;
3718 				LA32_: ;
3719 				{
3720 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
3721 					switch (nextToken) {
3722 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48):
3723 					{
3724 						nextBlock = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85), (&(*p)));
3725 						exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), nextBlock);
3726 					}
3727 					break;
3728 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21):
3729 					{
3730 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
3731 						nextBlock = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (&(*p)));
3732 						getTok__parser_45(p);
3733 						optInd__parser_85(p, nextBlock);
3734 						T37_ = NIM_NIL;
3735 						T37_ = parseExpr__parser_256(p);
3736 						add__ast_4797(nextBlock, T37_);
3737 					}
3738 					break;
3739 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25):
3740 					{
3741 						nextBlock = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87), (&(*p)));
3742 						exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), nextBlock);
3743 					}
3744 					break;
3745 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 27):
3746 					{
3747 						nextBlock = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107), (&(*p)));
3748 						getTok__parser_45(p);
3749 					}
3750 					break;
3751 					case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22):
3752 					{
3753 						nextBlock = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (&(*p)));
3754 						getTok__parser_45(p);
3755 					}
3756 					break;
3757 					default:
3758 					{
3759 						goto LA28;
3760 					}
3761 					break;
3762 					}
3763 					eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104));
3764 					T42_ = NIM_NIL;
3765 					T42_ = parseStmt__parser_258(p);
3766 					add__ast_4797(nextBlock, T42_);
3767 				}
3768 				LA30_: ;
3769 				(*nextBlock).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 16)) & 31);
3770 				add__ast_4797(result, nextBlock);
3771 				{
3772 					if (!((*nextBlock).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*nextBlock).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA45_;
3773 					goto LA28;
3774 				}
3775 				LA45_: ;
3776 			} LA29: ;
3777 		} LA28: ;
3778 	}
3779 	goto LA9_;
3780 	LA11_: ;
3781 	{
3782 		{
3783 			if (!!(((*openingParams).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA50_;
3784 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_27));
3785 		}
3786 		LA50_: ;
3787 	}
3788 	LA9_: ;
3789 	}BeforeRet_: ;
3790 	return result;
3791 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseReturnOrRaise__parser_1533)3792 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseReturnOrRaise__parser_1533)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
3793 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3794 	result = NIM_NIL;
3795 	result = newNodeP__parser_54(kind, (&(*p)));
3796 	getTok__parser_45(p);
3797 	{
3798 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA3_;
3799 		skipComment__parser_51(p, result);
3800 		add__ast_4797(result, (*p).emptyNode);
3801 	}
3802 	goto LA1_;
3803 	LA3_: ;
3804 	{
3805 		NIM_BOOL T6_;
3806 		NIM_BOOL T7_;
3807 		NIM_BOOL T10_;
3808 		T6_ = (NIM_BOOL)0;
3809 		T7_ = (NIM_BOOL)0;
3810 		T7_ = (((NI) 0) <= (*p).tok.indent);
3811 		if (!(T7_)) goto LA8_;
3812 		T7_ = ((*p).tok.indent <= (*p).currInd);
3813 		LA8_: ;
3814 		T6_ = T7_;
3815 		if (T6_) goto LA9_;
3816 		T10_ = (NIM_BOOL)0;
3817 		T10_ = isExprStart__parser_1139((&(*p)));
3818 		T6_ = !(T10_);
3819 		LA9_: ;
3820 		if (!T6_) goto LA11_;
3821 		add__ast_4797(result, (*p).emptyNode);
3822 	}
3823 	goto LA1_;
3824 	LA11_: ;
3825 	{
3826 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
3827 		e = parseExpr__parser_256(p);
3828 		e = postExprBlocks__parser_107(p, e);
3829 		add__ast_4797(result, e);
3830 	}
3831 	LA1_: ;
3832 	return result;
3833 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseModuleName__parser_1460)3834 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseModuleName__parser_1460)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
3835 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3836 	result = NIM_NIL;
3837 	result = parseExpr__parser_256(p);
3838 	return result;
3839 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseImport__parser_1464)3840 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseImport__parser_1464)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
3841 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3842 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3843 	result = NIM_NIL;
3844 	result = newNodeP__parser_54(kind, (&(*p)));
3845 	getTok__parser_45(p);
3846 	optInd__parser_85(p, result);
3847 	a = parseModuleName__parser_1460(p, kind);
3848 	add__ast_4797(result, a);
3849 	{
3850 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25))) goto LA3_;
3851 		{
3852 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25))) goto LA7_;
3853 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw)(kind + ((NI) 1)))));
3854 		}
3855 		LA7_: ;
3856 		getTok__parser_45(p);
3857 		optInd__parser_85(p, result);
3858 		{
3859 			while (1) {
3860 				(*p).hasProgress = NIM_FALSE;
3861 				a = parseModuleName__parser_1460(p, kind);
3862 				{
3863 					NIM_BOOL T13_;
3864 					T13_ = (NIM_BOOL)0;
3865 					T13_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
3866 					if (T13_) goto LA14_;
3867 					T13_ = !((*p).hasProgress);
3868 					LA14_: ;
3869 					if (!T13_) goto LA15_;
3870 					goto LA9;
3871 				}
3872 				LA15_: ;
3873 				add__ast_4797(result, a);
3874 				{
3875 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA19_;
3876 					goto LA9;
3877 				}
3878 				LA19_: ;
3879 				getTok__parser_45(p);
3880 				optInd__parser_85(p, a);
3881 			}
3882 		} LA9: ;
3883 	}
3884 	LA3_: ;
3885 	return result;
3886 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseFromStmt__parser_1513)3887 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseFromStmt__parser_1513)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3888 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3889 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3890 	result = NIM_NIL;
3891 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120), (&(*p)));
3892 	getTok__parser_45(p);
3893 	optInd__parser_85(p, result);
3894 	a = parseModuleName__parser_1460(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116));
3895 	add__ast_4797(result, a);
3896 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32));
3897 	optInd__parser_85(p, result);
3898 	{
3899 		while (1) {
3900 			(*p).hasProgress = NIM_FALSE;
3901 			a = parseExpr__parser_256(p);
3902 			{
3903 				NIM_BOOL T5_;
3904 				T5_ = (NIM_BOOL)0;
3905 				T5_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
3906 				if (T5_) goto LA6_;
3907 				T5_ = !((*p).hasProgress);
3908 				LA6_: ;
3909 				if (!T5_) goto LA7_;
3910 				goto LA1;
3911 			}
3912 			LA7_: ;
3913 			add__ast_4797(result, a);
3914 			{
3915 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA11_;
3916 				goto LA1;
3917 			}
3918 			LA11_: ;
3919 			getTok__parser_45(p);
3920 			optInd__parser_85(p, a);
3921 		}
3922 	} LA1: ;
3923 	return result;
3924 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseIncludeStmt__parser_1497)3925 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIncludeStmt__parser_1497)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3926 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3927 	result = NIM_NIL;
3928 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121), (&(*p)));
3929 	getTok__parser_45(p);
3930 	optInd__parser_85(p, result);
3931 	{
3932 		while (1) {
3933 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3934 			(*p).hasProgress = NIM_FALSE;
3935 			a = parseExpr__parser_256(p);
3936 			{
3937 				NIM_BOOL T5_;
3938 				T5_ = (NIM_BOOL)0;
3939 				T5_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
3940 				if (T5_) goto LA6_;
3941 				T5_ = !((*p).hasProgress);
3942 				LA6_: ;
3943 				if (!T5_) goto LA7_;
3944 				goto LA1;
3945 			}
3946 			LA7_: ;
3947 			add__ast_4797(result, a);
3948 			{
3949 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA11_;
3950 				goto LA1;
3951 			}
3952 			LA11_: ;
3953 			getTok__parser_45(p);
3954 			optInd__parser_85(p, a);
3955 		}
3956 	} LA1: ;
3957 	return result;
3958 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCommentStmt__parser_1909)3959 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCommentStmt__parser_1909)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3960 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3961 	result = NIM_NIL;
3962 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125), (&(*p)));
3963 	commenteq___ast_1361(result, (*p).tok.literal);
3964 	getTok__parser_45(p);
3965 	return result;
3966 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseExprStmt__parser_110)3967 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExprStmt__parser_110)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
3968 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3969 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3970 	result = NIM_NIL;
3971 	a = simpleExpr__parser_582(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
3972 	{
3973 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
3974 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA3_;
3975 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (&(*p)));
3976 		getTok__parser_45(p);
3977 		optInd__parser_85(p, result);
3978 		b = parseExpr__parser_256(p);
3979 		b = postExprBlocks__parser_107(p, b);
3980 		add__ast_4797(result, a);
3981 		add__ast_4797(result, b);
3982 	}
3983 	goto LA1_;
3984 	LA3_: ;
3985 	{
3986 		NIM_BOOL isFirstParam;
3987 		isFirstParam = NIM_FALSE;
3988 		{
3989 			NIM_BOOL T8_;
3990 			NIM_BOOL T9_;
3991 			T8_ = (NIM_BOOL)0;
3992 			T9_ = (NIM_BOOL)0;
3993 			T9_ = ((*p).tok.indent < ((NI) 0));
3994 			if (!(T9_)) goto LA10_;
3995 			T9_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
3996 			LA10_: ;
3997 			T8_ = T9_;
3998 			if (!(T8_)) goto LA11_;
3999 			T8_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26));
4000 			LA11_: ;
4001 			if (!T8_) goto LA12_;
4002 			result = a;
4003 			{
4004 				while (1) {
4005 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4006 					getTok__parser_45(p);
4007 					optInd__parser_85(p, result);
4008 					T16_ = NIM_NIL;
4009 					T16_ = commandParam__parser_748(p, (&isFirstParam), ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
4010 					add__ast_4797(result, T16_);
4011 					{
4012 						if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA19_;
4013 						goto LA14;
4014 					}
4015 					LA19_: ;
4016 				}
4017 			} LA14: ;
4018 		}
4019 		goto LA6_;
4020 		LA12_: ;
4021 		{
4022 			NIM_BOOL T22_;
4023 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T26_;
4024 			T22_ = (NIM_BOOL)0;
4025 			T22_ = ((*p).tok.indent < ((NI) 0));
4026 			if (!(T22_)) goto LA23_;
4027 			T22_ = isExprStart__parser_1139((&(*p)));
4028 			LA23_: ;
4029 			if (!T22_) goto LA24_;
4030 			nimZeroMem((void*)T26_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4031 			T26_[0] = a;
4032 			result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26), (*a).info, T26_, 1);
4033 			{
4034 				while (1) {
4035 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
4036 					T29_ = NIM_NIL;
4037 					T29_ = commandParam__parser_748(p, (&isFirstParam), ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
4038 					add__ast_4797(result, T29_);
4039 					{
4040 						if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA32_;
4041 						goto LA27;
4042 					}
4043 					LA32_: ;
4044 					getTok__parser_45(p);
4045 					optInd__parser_85(p, result);
4046 				}
4047 			} LA27: ;
4048 		}
4049 		goto LA6_;
4050 		LA24_: ;
4051 		{
4052 			result = a;
4053 		}
4054 		LA6_: ;
4055 		result = postExprBlocks__parser_107(p, result);
4056 	}
4057 	LA1_: ;
4058 	return result;
4059 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,simpleStmt__parser_2388)4060 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, simpleStmt__parser_2388)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4061 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4062 	result = NIM_NIL;
4063 	switch ((*p).tok.tokType) {
4064 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 55):
4065 	{
4066 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109));
4067 	}
4068 	break;
4069 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 53):
4070 	{
4071 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108));
4072 	}
4073 	break;
4074 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68):
4075 	{
4076 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104));
4077 	}
4078 	break;
4079 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 17):
4080 	{
4081 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114));
4082 	}
4083 	break;
4084 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 9):
4085 	{
4086 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110));
4087 	}
4088 	break;
4089 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 14):
4090 	{
4091 		result = parseReturnOrRaise__parser_1533(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
4092 	}
4093 	break;
4094 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98):
4095 	{
4096 		result = parseStmtPragma__parser_103(p);
4097 	}
4098 	break;
4099 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32):
4100 	{
4101 		result = parseImport__parser_1464(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116));
4102 	}
4103 	break;
4104 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 26):
4105 	{
4106 		result = parseImport__parser_1464(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118));
4107 	}
4108 	break;
4109 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 29):
4110 	{
4111 		result = parseFromStmt__parser_1513(p);
4112 	}
4113 	break;
4114 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 34):
4115 	{
4116 		result = parseIncludeStmt__parser_1497(p);
4117 	}
4118 	break;
4119 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111):
4120 	{
4121 		result = newCommentStmt__parser_1909(p);
4122 	}
4123 	break;
4124 	default:
4125 	{
4126 		{
4127 			NIM_BOOL T16_;
4128 			T16_ = (NIM_BOOL)0;
4129 			T16_ = isExprStart__parser_1139((&(*p)));
4130 			if (!T16_) goto LA17_;
4131 			result = parseExprStmt__parser_110(p);
4132 		}
4133 		goto LA14_;
4134 		LA17_: ;
4135 		{
4136 			result = (*p).emptyNode;
4137 		}
4138 		LA14_: ;
4139 	}
4140 	break;
4141 	}
4142 	{
4143 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA22_;
4144 		skipComment__parser_51(p, result);
4145 	}
4146 	LA22_: ;
4147 	return result;
4148 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseStmt__parser_258)4149 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStmt__parser_258)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4150 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4151 	result = NIM_NIL;
4152 	{
4153 		NI oldIndX60gensym176_;
4154 		if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
4155 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (&(*p)));
4156 		oldIndX60gensym176_ = (*p).currInd;
4157 		(*p).currInd = (*p).tok.indent;
4158 		{
4159 			while (1) {
4160 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4161 				{
4162 					if (!((*p).tok.indent == (*p).currInd)) goto LA9_;
4163 				}
4164 				goto LA7_;
4165 				LA9_: ;
4166 				{
4167 					if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103))) goto LA12_;
4168 					getTok__parser_45(p);
4169 					{
4170 						NIM_BOOL T16_;
4171 						T16_ = (NIM_BOOL)0;
4172 						T16_ = ((*p).tok.indent < ((NI) 0));
4173 						if (T16_) goto LA17_;
4174 						T16_ = ((*p).tok.indent == (*p).currInd);
4175 						LA17_: ;
4176 						if (!T16_) goto LA18_;
4177 					}
4178 					goto LA14_;
4179 					LA18_: ;
4180 					{
4181 						goto LA5;
4182 					}
4183 					LA14_: ;
4184 				}
4185 				goto LA7_;
4186 				LA12_: ;
4187 				{
4188 					{
4189 						NIM_BOOL T24_;
4190 						T24_ = (NIM_BOOL)0;
4191 						T24_ = ((*p).currInd < (*p).tok.indent);
4192 						if (!(T24_)) goto LA25_;
4193 						T24_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107)));
4194 						LA25_: ;
4195 						if (!T24_) goto LA26_;
4196 						parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
4197 					}
4198 					LA26_: ;
4199 					goto LA5;
4200 				}
4201 				LA7_: ;
4202 				{
4203 					if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 99) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93))) goto LA30_;
4204 					goto LA5;
4205 				}
4206 				LA30_: ;
4207 				(*p).hasProgress = NIM_FALSE;
4208 				{
4209 					if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21))) goto LA34_;
4210 					goto LA5;
4211 				}
4212 				LA34_: ;
4213 				a = complexOrSimpleStmt__parser_580(p);
4214 				{
4215 					NIM_BOOL T38_;
4216 					T38_ = (NIM_BOOL)0;
4217 					T38_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
4218 					if (!(T38_)) goto LA39_;
4219 					T38_ = !((*p).hasProgress);
4220 					LA39_: ;
4221 					if (!T38_) goto LA40_;
4222 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
4223 					goto LA5;
4224 				}
4225 				goto LA36_;
4226 				LA40_: ;
4227 				{
4228 					add__ast_4797(result, a);
4229 				}
4230 				LA36_: ;
4231 				{
4232 					NIM_BOOL T45_;
4233 					T45_ = (NIM_BOOL)0;
4234 					T45_ = !((*p).hasProgress);
4235 					if (!(T45_)) goto LA46_;
4236 					T45_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1));
4237 					LA46_: ;
4238 					if (!T45_) goto LA47_;
4239 					goto LA5;
4240 				}
4241 				LA47_: ;
4242 			}
4243 		} LA5: ;
4244 		(*p).currInd = oldIndX60gensym176_;
4245 	}
4246 	goto LA1_;
4247 	LA3_: ;
4248 	{
4249 		switch ((*p).tok.tokType) {
4250 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31):
4251 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 66):
4252 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
4253 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 60):
4254 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28):
4255 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8):
4256 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 6):
4257 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51):
4258 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30):
4259 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38):
4260 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 40):
4261 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
4262 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 13):
4263 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
4264 		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
4265 		{
4266 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_10));
4267 			result = (*p).emptyNode;
4268 		}
4269 		break;
4270 		default:
4271 		{
4272 			{
4273 				if (!(((NI) 0) < (*p).inSemiStmtList)) goto LA54_;
4274 				result = simpleStmt__parser_2388(p);
4275 				{
4276 					if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA58_;
4277 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
4278 				}
4279 				LA58_: ;
4280 			}
4281 			goto LA52_;
4282 			LA54_: ;
4283 			{
4284 				result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (&(*p)));
4285 				{
4286 					while (1) {
4287 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
4288 						NIM_BOOL err;
4289 						{
4290 							if (!(((NI) 0) <= (*p).tok.indent)) goto LA65_;
4291 							parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
4292 						}
4293 						LA65_: ;
4294 						(*p).hasProgress = NIM_FALSE;
4295 						a_2 = simpleStmt__parser_2388(p);
4296 						err = !((*p).hasProgress);
4297 						{
4298 							if (!((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA69_;
4299 							parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
4300 						}
4301 						LA69_: ;
4302 						add__ast_4797(result, a_2);
4303 						{
4304 							if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103)))) goto LA73_;
4305 							goto LA61;
4306 						}
4307 						LA73_: ;
4308 						getTok__parser_45(p);
4309 						{
4310 							NIM_BOOL T77_;
4311 							T77_ = (NIM_BOOL)0;
4312 							T77_ = err;
4313 							if (!(T77_)) goto LA78_;
4314 							T77_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1));
4315 							LA78_: ;
4316 							if (!T77_) goto LA79_;
4317 							goto LA61;
4318 						}
4319 						LA79_: ;
4320 					}
4321 				} LA61: ;
4322 			}
4323 			LA52_: ;
4324 		}
4325 		break;
4326 		}
4327 	}
4328 	LA1_: ;
4329 	return result;
4330 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseBlock__parser_112)4331 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseBlock__parser_112)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4332 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4333 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
4334 	result = NIM_NIL;
4335 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112), (&(*p)));
4336 	getTokNoInd__parser_196(p);
4337 	{
4338 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA3_;
4339 		add__ast_4797(result, (*p).emptyNode);
4340 	}
4341 	goto LA1_;
4342 	LA3_: ;
4343 	{
4344 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
4345 		T6_ = NIM_NIL;
4346 		T6_ = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
4347 		add__ast_4797(result, T6_);
4348 	}
4349 	LA1_: ;
4350 	colcom__parser_299(p, result);
4351 	T7_ = NIM_NIL;
4352 	T7_ = parseStmt__parser_258(p);
4353 	add__ast_4797(result, T7_);
4354 	return result;
4355 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseVarTuple__parser_1181)4356 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseVarTuple__parser_1181)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4357 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4358 	result = NIM_NIL;
4359 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (&(*p)));
4360 	getTok__parser_45(p);
4361 	optInd__parser_85(p, result);
4362 	{
4363 		while (1) {
4364 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4365 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112))) goto LA2;
4366 			a = identWithPragma__parser_946(p, NIM_TRUE);
4367 			add__ast_4797(result, a);
4368 			{
4369 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA5_;
4370 				goto LA1;
4371 			}
4372 			LA5_: ;
4373 			getTok__parser_45(p);
4374 			skipComment__parser_51(p, a);
4375 		} LA2: ;
4376 	} LA1: ;
4377 	add__ast_4797(result, (*p).emptyNode);
4378 	optPar__parser_83(p);
4379 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
4380 	return result;
4381 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseFor__parser_1183)4382 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseFor__parser_1183)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4383 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4384 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4385 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
4386 	result = NIM_NIL;
4387 	getTokNoInd__parser_196(p);
4388 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94), (&(*p)));
4389 	{
4390 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4391 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA3_;
4392 		T5_ = NIM_NIL;
4393 		T5_ = parseVarTuple__parser_1181(p);
4394 		add__ast_4797(result, T5_);
4395 	}
4396 	goto LA1_;
4397 	LA3_: ;
4398 	{
4399 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4400 		a = identWithPragma__parser_946(p, NIM_FALSE);
4401 		add__ast_4797(result, a);
4402 		{
4403 			while (1) {
4404 				if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102))) goto LA8;
4405 				getTok__parser_45(p);
4406 				optInd__parser_85(p, a);
4407 				{
4408 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
4409 					if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA11_;
4410 					T13_ = NIM_NIL;
4411 					T13_ = parseVarTuple__parser_1181(p);
4412 					add__ast_4797(result, T13_);
4413 					goto LA7;
4414 				}
4415 				LA11_: ;
4416 				a = identWithPragma__parser_946(p, NIM_FALSE);
4417 				add__ast_4797(result, a);
4418 			} LA8: ;
4419 		} LA7: ;
4420 	}
4421 	LA1_: ;
4422 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33));
4423 	T14_ = NIM_NIL;
4424 	T14_ = parseExpr__parser_256(p);
4425 	add__ast_4797(result, T14_);
4426 	colcom__parser_299(p, result);
4427 	T15_ = NIM_NIL;
4428 	T15_ = parseStmt__parser_258(p);
4429 	add__ast_4797(result, T15_);
4430 	return result;
4431 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseCase__parser_101)4432 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseCase__parser_101)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4433 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4434 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
4435 	NIM_BOOL inElif;
4436 	NIM_BOOL wasIndented;
4437 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4438 	NI oldInd;
4439 	result = NIM_NIL;
4440 	b = NIM_NIL;
4441 	inElif = NIM_FALSE;
4442 	wasIndented = NIM_FALSE;
4443 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97), (&(*p)));
4444 	getTok__parser_45(p);
4445 	T1_ = NIM_NIL;
4446 	T1_ = parseExpr__parser_256(p);
4447 	add__ast_4797(result, T1_);
4448 	{
4449 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA4_;
4450 		getTok__parser_45(p);
4451 	}
4452 	LA4_: ;
4453 	skipComment__parser_51(p, result);
4454 	oldInd = (*p).currInd;
4455 	{
4456 		if (!((*p).currInd < (*p).tok.indent)) goto LA8_;
4457 		(*p).currInd = (*p).tok.indent;
4458 		wasIndented = NIM_TRUE;
4459 	}
4460 	LA8_: ;
4461 	{
4462 		while (1) {
4463 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
4464 			if (!((*p).tok.indent == (*p).currInd)) goto LA11;
4465 			switch ((*p).tok.tokType) {
4466 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48):
4467 			{
4468 				{
4469 					if (!inElif) goto LA15_;
4470 					goto LA10;
4471 				}
4472 				LA15_: ;
4473 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85), (&(*p)));
4474 				exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), b);
4475 			}
4476 			break;
4477 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21):
4478 			{
4479 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
4480 				inElif = NIM_TRUE;
4481 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (&(*p)));
4482 				getTok__parser_45(p);
4483 				optInd__parser_85(p, b);
4484 				T18_ = NIM_NIL;
4485 				T18_ = parseExpr__parser_256(p);
4486 				add__ast_4797(b, T18_);
4487 			}
4488 			break;
4489 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22):
4490 			{
4491 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (&(*p)));
4492 				getTok__parser_45(p);
4493 			}
4494 			break;
4495 			default:
4496 			{
4497 				goto LA10;
4498 			}
4499 			break;
4500 			}
4501 			colcom__parser_299(p, b);
4502 			T21_ = NIM_NIL;
4503 			T21_ = parseStmt__parser_258(p);
4504 			add__ast_4797(b, T21_);
4505 			add__ast_4797(result, b);
4506 			{
4507 				if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA24_;
4508 				goto LA10;
4509 			}
4510 			LA24_: ;
4511 		} LA11: ;
4512 	} LA10: ;
4513 	{
4514 		if (!wasIndented) goto LA28_;
4515 		(*p).currInd = oldInd;
4516 	}
4517 	LA28_: ;
4518 	return result;
4519 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTry__parser_98)4520 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTry__parser_98)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, NIM_BOOL isExpr) {
4521 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4522 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4523 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
4524 	result = NIM_NIL;
4525 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106), (&(*p)));
4526 	getTok__parser_45(p);
4527 	colcom__parser_299(p, result);
4528 	T1_ = NIM_NIL;
4529 	T1_ = parseStmt__parser_258(p);
4530 	add__ast_4797(result, T1_);
4531 	b = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
4532 	{
4533 		while (1) {
4534 			NIM_BOOL T4_;
4535 			NIM_BOOL T5_;
4536 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
4537 			T4_ = (NIM_BOOL)0;
4538 			T5_ = (NIM_BOOL)0;
4539 			T5_ = ((*p).tok.indent == (*p).currInd);
4540 			if (T5_) goto LA6_;
4541 			T5_ = ((*p).tok.indent < ((NI) 0));
4542 			LA6_: ;
4543 			T4_ = T5_;
4544 			if (T4_) goto LA7_;
4545 			T4_ = isExpr;
4546 			LA7_: ;
4547 			if (!T4_) goto LA3;
4548 			switch ((*p).tok.tokType) {
4549 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25):
4550 			{
4551 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87), (&(*p)));
4552 				exprList__parser_378(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), b);
4553 			}
4554 			break;
4555 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 27):
4556 			{
4557 				b = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107), (&(*p)));
4558 				getTok__parser_45(p);
4559 			}
4560 			break;
4561 			default:
4562 			{
4563 				goto LA2;
4564 			}
4565 			break;
4566 			}
4567 			colcom__parser_299(p, b);
4568 			T11_ = NIM_NIL;
4569 			T11_ = parseStmt__parser_258(p);
4570 			add__ast_4797(b, T11_);
4571 			add__ast_4797(result, b);
4572 		} LA3: ;
4573 	} LA2: ;
4574 	{
4575 		if (!(b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA14_;
4576 		parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_28));
4577 	}
4578 	LA14_: ;
4579 	return result;
4580 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseExpr__parser_256)4581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExpr__parser_256)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4582 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4583 	result = NIM_NIL;
4584 	switch ((*p).tok.tokType) {
4585 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8):
4586 	{
4587 		result = parseBlock__parser_112(p);
4588 	}
4589 	break;
4590 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31):
4591 	{
4592 		result = parseIfOrWhenExpr__parser_585(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48));
4593 	}
4594 	break;
4595 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28):
4596 	{
4597 		result = parseFor__parser_1183(p);
4598 	}
4599 	break;
4600 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
4601 	{
4602 		result = parseIfOrWhenExpr__parser_585(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93));
4603 	}
4604 	break;
4605 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
4606 	{
4607 		result = parseCase__parser_101(p);
4608 	}
4609 	break;
4610 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 60):
4611 	{
4612 		result = parseTry__parser_98(p, NIM_TRUE);
4613 	}
4614 	break;
4615 	default:
4616 	{
4617 		result = simpleExpr__parser_582(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
4618 	}
4619 	break;
4620 	}
4621 	return result;
4622 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseIfOrWhen__parser_1554)4623 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseIfOrWhen__parser_1554)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
4624 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4625 	result = NIM_NIL;
4626 	result = newNodeP__parser_54(kind, (&(*p)));
4627 	{
4628 		while (1) {
4629 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4630 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4631 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
4632 			getTok__parser_45(p);
4633 			branch = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (&(*p)));
4634 			optInd__parser_85(p, branch);
4635 			T3_ = NIM_NIL;
4636 			T3_ = parseExpr__parser_256(p);
4637 			add__ast_4797(branch, T3_);
4638 			colcom__parser_299(p, branch);
4639 			T4_ = NIM_NIL;
4640 			T4_ = parseStmt__parser_258(p);
4641 			add__ast_4797(branch, T4_);
4642 			skipComment__parser_51(p, branch);
4643 			add__ast_4797(result, branch);
4644 			{
4645 				NIM_BOOL T7_;
4646 				NIM_BOOL T9_;
4647 				T7_ = (NIM_BOOL)0;
4648 				T7_ = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21)));
4649 				if (T7_) goto LA8_;
4650 				T9_ = (NIM_BOOL)0;
4651 				T9_ = ((*p).tok.indent == (*p).currInd);
4652 				if (T9_) goto LA10_;
4653 				T9_ = ((*p).tok.indent < ((NI) 0));
4654 				LA10_: ;
4655 				T7_ = !(T9_);
4656 				LA8_: ;
4657 				if (!T7_) goto LA11_;
4658 				goto LA1;
4659 			}
4660 			LA11_: ;
4661 		}
4662 	} LA1: ;
4663 	{
4664 		NIM_BOOL T15_;
4665 		NIM_BOOL T17_;
4666 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
4667 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
4668 		T15_ = (NIM_BOOL)0;
4669 		T15_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22));
4670 		if (!(T15_)) goto LA16_;
4671 		T17_ = (NIM_BOOL)0;
4672 		T17_ = ((*p).tok.indent == (*p).currInd);
4673 		if (T17_) goto LA18_;
4674 		T17_ = ((*p).tok.indent < ((NI) 0));
4675 		LA18_: ;
4676 		T15_ = T17_;
4677 		LA16_: ;
4678 		if (!T15_) goto LA19_;
4679 		branch_2 = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (&(*p)));
4680 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22));
4681 		colcom__parser_299(p, branch_2);
4682 		T21_ = NIM_NIL;
4683 		T21_ = parseStmt__parser_258(p);
4684 		add__ast_4797(branch_2, T21_);
4685 		add__ast_4797(result, branch_2);
4686 	}
4687 	LA19_: ;
4688 	return result;
4689 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseWhile__parser_1622)4690 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseWhile__parser_1622)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4691 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4692 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4693 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4694 	result = NIM_NIL;
4695 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), (&(*p)));
4696 	getTok__parser_45(p);
4697 	optInd__parser_85(p, result);
4698 	T1_ = NIM_NIL;
4699 	T1_ = parseExpr__parser_256(p);
4700 	add__ast_4797(result, T1_);
4701 	colcom__parser_299(p, result);
4702 	T2_ = NIM_NIL;
4703 	T2_ = parseStmt__parser_258(p);
4704 	add__ast_4797(result, T2_);
4705 	return result;
4706 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseExceptBlock__parser_1685)4707 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseExceptBlock__parser_1685)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
4708 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4709 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4710 	result = NIM_NIL;
4711 	result = newNodeP__parser_54(kind, (&(*p)));
4712 	getTok__parser_45(p);
4713 	colcom__parser_299(p, result);
4714 	T1_ = NIM_NIL;
4715 	T1_ = parseStmt__parser_258(p);
4716 	add__ast_4797(result, T1_);
4717 	return result;
4718 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseStaticOrDefer__parser_1712)4719 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseStaticOrDefer__parser_1712)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k) {
4720 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4721 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4722 	result = NIM_NIL;
4723 	result = newNodeP__parser_54(k, (&(*p)));
4724 	getTok__parser_45(p);
4725 	colcom__parser_299(p, result);
4726 	T1_ = NIM_NIL;
4727 	T1_ = parseStmt__parser_258(p);
4728 	add__ast_4797(result, T1_);
4729 	return result;
4730 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseAsm__parser_1720)4731 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseAsm__parser_1720)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4732 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4733 {	result = NIM_NIL;
4734 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89), (&(*p)));
4735 	getTokNoInd__parser_196(p);
4736 	{
4737 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4738 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98))) goto LA3_;
4739 		T5_ = NIM_NIL;
4740 		T5_ = parsePragma__parser_105(p);
4741 		add__ast_4797(result, T5_);
4742 	}
4743 	goto LA1_;
4744 	LA3_: ;
4745 	{
4746 		add__ast_4797(result, (*p).emptyNode);
4747 	}
4748 	LA1_: ;
4749 	switch ((*p).tok.tokType) {
4750 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83):
4751 	{
4752 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
4753 		T8_ = NIM_NIL;
4754 		T8_ = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*p).tok.literal, (&(*p)));
4755 		add__ast_4797(result, T8_);
4756 	}
4757 	break;
4758 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84):
4759 	{
4760 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4761 		T10_ = NIM_NIL;
4762 		T10_ = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21), (*p).tok.literal, (&(*p)));
4763 		add__ast_4797(result, T10_);
4764 	}
4765 	break;
4766 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 85):
4767 	{
4768 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4769 		T12_ = NIM_NIL;
4770 		T12_ = newStrNodeP__parser_65(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22), (*p).tok.literal, (&(*p)));
4771 		add__ast_4797(result, T12_);
4772 	}
4773 	break;
4774 	default:
4775 	{
4776 		parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_29));
4777 		add__ast_4797(result, (*p).emptyNode);
4778 		goto BeforeRet_;
4779 	}
4780 	break;
4781 	}
4782 	getTok__parser_45(p);
4783 	}BeforeRet_: ;
4784 	return result;
4785 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parsePattern__parser_1820)4786 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parsePattern__parser_1820)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4787 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4788 	result = NIM_NIL;
4789 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94));
4790 	result = parseStmt__parser_258(p);
4791 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95));
4792 	return result;
4793 }
N_NIMCALL(void,expectIdent__parser_74)4794 N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_74)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4795 	{
4796 		NimStringDesc* T5_;
4797 		NimStringDesc* T6_;
4798 		if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2)))) goto LA3_;
4799 		T5_ = NIM_NIL;
4800 		T5_ = prettyTok__lexer_239((&(*p).tok));
4801 		T6_ = NIM_NIL;
4802 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), T5_);
4803 		lexMessage__lexer_336((&(*p).lex), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_);
4804 	}
4805 	LA3_: ;
4806 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseGenericParam__parser_1751)4807 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGenericParam__parser_1751)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4808 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4809 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4810 {	result = NIM_NIL;
4811 	a = NIM_NIL;
4812 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (&(*p)));
4813 	{
4814 		while (1) {
4815 			switch ((*p).tok.tokType) {
4816 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33):
4817 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50):
4818 			{
4819 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* x;
4820 				NimStringDesc* T4_;
4821 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4822 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
4823 				T4_ = NIM_NIL;
4824 				{
4825 					if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33))) goto LA7_;
4826 					T4_ = copyString(((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_30));
4827 				}
4828 				goto LA5_;
4829 				LA7_: ;
4830 				{
4831 					T4_ = copyString(((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_31));
4832 				}
4833 				LA5_: ;
4834 				x = getIdent__idents_143((*p).lex.cache, T4_);
4835 				a = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), (&(*p)));
4836 				T10_ = NIM_NIL;
4837 				T10_ = newIdentNodeP__parser_69(x, (&(*p)));
4838 				add__ast_4797(a, T10_);
4839 				getTok__parser_45(p);
4840 				expectIdent__parser_74((&(*p)));
4841 				T11_ = NIM_NIL;
4842 				T11_ = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
4843 				add__ast_4797(a, T11_);
4844 			}
4845 			break;
4846 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
4847 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
4848 			{
4849 				a = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
4850 				{
4851 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA15_;
4852 					goto BeforeRet_;
4853 				}
4854 				LA15_: ;
4855 			}
4856 			break;
4857 			default:
4858 			{
4859 				goto LA1;
4860 			}
4861 			break;
4862 			}
4863 			add__ast_4797(result, a);
4864 			{
4865 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA20_;
4866 				goto LA1;
4867 			}
4868 			LA20_: ;
4869 			getTok__parser_45(p);
4870 			optInd__parser_85(p, a);
4871 		}
4872 	} LA1: ;
4873 	{
4874 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
4875 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA24_;
4876 		getTok__parser_45(p);
4877 		optInd__parser_85(p, result);
4878 		T26_ = NIM_NIL;
4879 		T26_ = parseExpr__parser_256(p);
4880 		add__ast_4797(result, T26_);
4881 	}
4882 	goto LA22_;
4883 	LA24_: ;
4884 	{
4885 		add__ast_4797(result, (*p).emptyNode);
4886 	}
4887 	LA22_: ;
4888 	{
4889 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
4890 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA30_;
4891 		getTok__parser_45(p);
4892 		optInd__parser_85(p, result);
4893 		T32_ = NIM_NIL;
4894 		T32_ = parseExpr__parser_256(p);
4895 		add__ast_4797(result, T32_);
4896 	}
4897 	goto LA28_;
4898 	LA30_: ;
4899 	{
4900 		add__ast_4797(result, (*p).emptyNode);
4901 	}
4902 	LA28_: ;
4903 	}BeforeRet_: ;
4904 	return result;
4905 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseGenericParamList__parser_1804)4906 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseGenericParamList__parser_1804)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
4907 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4908 	result = NIM_NIL;
4909 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75), (&(*p)));
4910 	getTok__parser_45(p);
4911 	optInd__parser_85(p, result);
4912 	{
4913 		while (1) {
4914 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4915 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 50))) goto LA2;
4916 			a = parseGenericParam__parser_1751(p);
4917 			add__ast_4797(result, a);
4918 			{
4919 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103)))) goto LA5_;
4920 				goto LA1;
4921 			}
4922 			LA5_: ;
4923 			getTok__parser_45(p);
4924 			skipComment__parser_51(p, a);
4925 		} LA2: ;
4926 	} LA1: ;
4927 	optPar__parser_83(p);
4928 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93));
4929 	return result;
4930 }
N_NIMCALL(void,indAndComment__parser_88)4931 N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_88)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL maybeMissEquals) {
4932 	{
4933 		if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
4934 		{
4935 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111))) goto LA7_;
4936 			rawSkipComment__parser_165(p, n);
4937 		}
4938 		goto LA5_;
4939 		LA7_: ;
4940 		{
4941 			NI col;
4942 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
4943 			tyArray__nHXaesL0DJZHyVS07ARPRA T12_;
4944 			NimStringDesc* T13_;
4945 			if (!maybeMissEquals) goto LA10_;
4946 			col = (NI)((*p).bufposPrevious - (*p).lineStartPrevious);
4947 			info = newLineInfo__msgs_381((*p).lex.fileIdx, (*p).lineNumberPrevious, col);
4948 			nimZeroMem((void*)T12_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
4949 			T12_[0] = dollar___msgs_624((*p).lex.config, info);
4950 			T13_ = NIM_NIL;
4951 			T13_ = nsuFormatOpenArray(((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_32), T12_, 1);
4952 			parMessage__parser_147((&(*p)), T13_);
4953 		}
4954 		goto LA5_;
4955 		LA10_: ;
4956 		{
4957 			parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
4958 		}
4959 		LA5_: ;
4960 	}
4961 	goto LA1_;
4962 	LA3_: ;
4963 	{
4964 		skipComment__parser_51(p, n);
4965 	}
4966 	LA1_: ;
4967 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseRoutine__parser_1823)4968 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseRoutine__parser_1823)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind) {
4969 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4970 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4971 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
4972 	NIM_BOOL maybeMissEquals;
4973 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4974 	NI T35_;
4975 	result = NIM_NIL;
4976 	result = newNodeP__parser_54(kind, (&(*p)));
4977 	getTok__parser_45(p);
4978 	optInd__parser_85(p, result);
4979 	T1_ = NIM_NIL;
4980 	T1_ = identVis__parser_925(p, NIM_FALSE);
4981 	add__ast_4797(result, T1_);
4982 	{
4983 		NIM_BOOL T4_;
4984 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
4985 		T4_ = (NIM_BOOL)0;
4986 		T4_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94));
4987 		if (!(T4_)) goto LA5_;
4988 		T4_ = validInd__parser_162(p);
4989 		LA5_: ;
4990 		if (!T4_) goto LA6_;
4991 		T8_ = NIM_NIL;
4992 		T8_ = parsePattern__parser_1820(p);
4993 		add__ast_4797(result, T8_);
4994 	}
4995 	goto LA2_;
4996 	LA6_: ;
4997 	{
4998 		add__ast_4797(result, (*p).emptyNode);
4999 	}
5000 	LA2_: ;
5001 	{
5002 		NIM_BOOL T12_;
5003 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
5004 		T12_ = (NIM_BOOL)0;
5005 		T12_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92));
5006 		if (!(T12_)) goto LA13_;
5007 		T12_ = validInd__parser_162(p);
5008 		LA13_: ;
5009 		if (!T12_) goto LA14_;
5010 		T16_ = NIM_NIL;
5011 		T16_ = parseGenericParamList__parser_1804(p);
5012 		add__ast_4797(result, T16_);
5013 	}
5014 	goto LA10_;
5015 	LA14_: ;
5016 	{
5017 		add__ast_4797(result, (*p).emptyNode);
5018 	}
5019 	LA10_: ;
5020 	T18_ = NIM_NIL;
5021 	T18_ = parseParamList__parser_262(p, NIM_TRUE);
5022 	add__ast_4797(result, T18_);
5023 	{
5024 		NIM_BOOL T21_;
5025 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
5026 		T21_ = (NIM_BOOL)0;
5027 		T21_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98));
5028 		if (!(T21_)) goto LA22_;
5029 		T21_ = validInd__parser_162(p);
5030 		LA22_: ;
5031 		if (!T21_) goto LA23_;
5032 		T25_ = NIM_NIL;
5033 		T25_ = parsePragma__parser_105(p);
5034 		add__ast_4797(result, T25_);
5035 	}
5036 	goto LA19_;
5037 	LA23_: ;
5038 	{
5039 		add__ast_4797(result, (*p).emptyNode);
5040 	}
5041 	LA19_: ;
5042 	add__ast_4797(result, (*p).emptyNode);
5043 	maybeMissEquals = !(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106)));
5044 	{
5045 		NIM_BOOL T29_;
5046 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
5047 		T29_ = (NIM_BOOL)0;
5048 		T29_ = !(maybeMissEquals);
5049 		if (!(T29_)) goto LA30_;
5050 		T29_ = validInd__parser_162(p);
5051 		LA30_: ;
5052 		if (!T29_) goto LA31_;
5053 		getTok__parser_45(p);
5054 		skipComment__parser_51(p, result);
5055 		T33_ = NIM_NIL;
5056 		T33_ = parseStmt__parser_258(p);
5057 		add__ast_4797(result, T33_);
5058 	}
5059 	goto LA27_;
5060 	LA31_: ;
5061 	{
5062 		add__ast_4797(result, (*p).emptyNode);
5063 	}
5064 	LA27_: ;
5065 	indAndComment__parser_88(p, result, maybeMissEquals);
5066 	T35_ = (NI)0;
5067 	T35_ = len__ast_3198(result);
5068 	body = (*result)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))];
5069 	{
5070 		NIM_BOOL T38_;
5071 		NIM_BOOL T39_;
5072 		NIM_BOOL T40_;
5073 		NI T42_;
5074 		NimStringDesc* T44_;
5075 		T38_ = (NIM_BOOL)0;
5076 		T39_ = (NIM_BOOL)0;
5077 		T40_ = (NIM_BOOL)0;
5078 		T40_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
5079 		if (!(T40_)) goto LA41_;
5080 		T42_ = (NI)0;
5081 		T42_ = len__ast_3198(body);
5082 		T40_ = (((NI) 0) < T42_);
5083 		LA41_: ;
5084 		T39_ = T40_;
5085 		if (!(T39_)) goto LA43_;
5086 		T44_ = NIM_NIL;
5087 		T44_ = comment__ast_993((*body)._kind_6.sons->data[((NI) 0)]);
5088 		T39_ = (((NI) 0) < (T44_ ? T44_->Sup.len : 0));
5089 		LA43_: ;
5090 		T38_ = T39_;
5091 		if (!(T38_)) goto LA45_;
5092 		T38_ = !(((*(*body)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125)));
5093 		LA45_: ;
5094 		if (!T38_) goto LA46_;
5095 		{
5096 			NimStringDesc* T50_;
5097 			NimStringDesc* T53_;
5098 			T50_ = NIM_NIL;
5099 			T50_ = comment__ast_993(result);
5100 			if (!((T50_ ? T50_->Sup.len : 0) == ((NI) 0))) goto LA51_;
5101 			T53_ = NIM_NIL;
5102 			T53_ = comment__ast_993((*body)._kind_6.sons->data[((NI) 0)]);
5103 			commenteq___ast_1361(result, T53_);
5104 			commenteq___ast_1361((*body)._kind_6.sons->data[((NI) 0)], ((NimStringDesc*) NIM_NIL));
5105 		}
5106 		LA51_: ;
5107 	}
5108 	LA46_: ;
5109 	return result;
5110 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseSection__parser_1912)5111 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseSection__parser_1912)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyProc__DRjGxmJIweFVoAt8was9aww defparser) {
5112 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5113 	result = NIM_NIL;
5114 	result = newNodeP__parser_54(kind, (&(*p)));
5115 	{
5116 		if (!!((kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98)))) goto LA3_;
5117 		getTok__parser_45(p);
5118 	}
5119 	LA3_: ;
5120 	skipComment__parser_51(p, result);
5121 	{
5122 		NI oldIndX60gensym129_;
5123 		if (!((*p).currInd < (*p).tok.indent)) goto LA7_;
5124 		oldIndX60gensym129_ = (*p).currInd;
5125 		(*p).currInd = (*p).tok.indent;
5126 		skipComment__parser_51(p, result);
5127 		{
5128 			while (1) {
5129 				if (!((*p).tok.indent == (*p).currInd)) goto LA10;
5130 				switch ((*p).tok.tokType) {
5131 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2):
5132 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112):
5133 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90):
5134 				{
5135 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5136 					a = defparser(p);
5137 					skipComment__parser_51(p, a);
5138 					add__ast_4797(result, a);
5139 				}
5140 				break;
5141 				case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111):
5142 				{
5143 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
5144 					a_2 = newCommentStmt__parser_1909(p);
5145 					add__ast_4797(result, a_2);
5146 				}
5147 				break;
5148 				default:
5149 				{
5150 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
5151 					goto LA9;
5152 				}
5153 				break;
5154 				}
5155 			} LA10: ;
5156 		} LA9: ;
5157 		(*p).currInd = oldIndX60gensym129_;
5158 		{
5159 			NI T16_;
5160 			T16_ = (NI)0;
5161 			T16_ = len__ast_3198(result);
5162 			if (!(T16_ == ((NI) 0))) goto LA17_;
5163 			parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
5164 		}
5165 		LA17_: ;
5166 	}
5167 	goto LA5_;
5168 	LA7_: ;
5169 	{
5170 		NIM_BOOL T20_;
5171 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
5172 		T20_ = (NIM_BOOL)0;
5173 		T20_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112) || (*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90));
5174 		if (!(T20_)) goto LA21_;
5175 		T20_ = ((*p).tok.indent < ((NI) 0));
5176 		LA21_: ;
5177 		if (!T20_) goto LA22_;
5178 		T24_ = NIM_NIL;
5179 		T24_ = defparser(p);
5180 		add__ast_4797(result, T24_);
5181 	}
5182 	goto LA5_;
5183 	LA22_: ;
5184 	{
5185 		parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_5), (&(*p).tok));
5186 	}
5187 	LA5_: ;
5188 	return result;
5189 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeDefAux__parser_1319)5190 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDefAux__parser_1319)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5191 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5192 	result = NIM_NIL;
5193 	result = simpleExpr__parser_582(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 2));
5194 	result = binaryNot__parser_1294(p, result);
5195 	return result;
5196 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTypeDef__parser_2221)5197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTypeDef__parser_2221)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5198 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5199 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identifier;
5200 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identPragma;
5201 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
5202 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParam;
5203 	NIM_BOOL noPragmaYet;
5204 	result = NIM_NIL;
5205 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103), (&(*p)));
5206 	identifier = identVis__parser_925(p, NIM_TRUE);
5207 	identPragma = identifier;
5208 	pragma = NIM_NIL;
5209 	genericParam = NIM_NIL;
5210 	noPragmaYet = NIM_TRUE;
5211 	{
5212 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98))) goto LA3_;
5213 		pragma = optPragmas__parser_1093(p);
5214 		identPragma = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (&(*p)));
5215 		add__ast_4797(identPragma, identifier);
5216 		add__ast_4797(identPragma, pragma);
5217 		noPragmaYet = NIM_FALSE;
5218 	}
5219 	LA3_: ;
5220 	{
5221 		NIM_BOOL T7_;
5222 		T7_ = (NIM_BOOL)0;
5223 		T7_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92));
5224 		if (!(T7_)) goto LA8_;
5225 		T7_ = validInd__parser_162(p);
5226 		LA8_: ;
5227 		if (!T7_) goto LA9_;
5228 		{
5229 			if (!!(noPragmaYet)) goto LA13_;
5230 			parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_33));
5231 		}
5232 		LA13_: ;
5233 		genericParam = parseGenericParamList__parser_1804(p);
5234 	}
5235 	goto LA5_;
5236 	LA9_: ;
5237 	{
5238 		genericParam = (*p).emptyNode;
5239 	}
5240 	LA5_: ;
5241 	{
5242 		if (!noPragmaYet) goto LA18_;
5243 		pragma = optPragmas__parser_1093(p);
5244 		{
5245 			if (!!(((*pragma).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22_;
5246 			identPragma = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (&(*p)));
5247 			add__ast_4797(identPragma, identifier);
5248 			add__ast_4797(identPragma, pragma);
5249 		}
5250 		LA22_: ;
5251 	}
5252 	goto LA16_;
5253 	LA18_: ;
5254 	{
5255 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98))) goto LA25_;
5256 		parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_34));
5257 	}
5258 	goto LA16_;
5259 	LA25_: ;
5260 	LA16_: ;
5261 	add__ast_4797(result, identPragma);
5262 	add__ast_4797(result, genericParam);
5263 	{
5264 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
5265 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106))) goto LA29_;
5266 		(*result).info = parLineInfo__parser_76((&(*p)));
5267 		getTok__parser_45(p);
5268 		optInd__parser_85(p, result);
5269 		T31_ = NIM_NIL;
5270 		T31_ = parseTypeDefAux__parser_1319(p);
5271 		add__ast_4797(result, T31_);
5272 	}
5273 	goto LA27_;
5274 	LA29_: ;
5275 	{
5276 		add__ast_4797(result, (*p).emptyNode);
5277 	}
5278 	LA27_: ;
5279 	indAndComment__parser_88(p, result, NIM_FALSE);
5280 	return result;
5281 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseConstant__parser_2322)5282 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseConstant__parser_2322)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5283 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5284 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
5285 	NI T14_;
5286 	NI T15_;
5287 	result = NIM_NIL;
5288 	{
5289 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA3_;
5290 		result = parseVarTuple__parser_1181(p);
5291 	}
5292 	goto LA1_;
5293 	LA3_: ;
5294 	{
5295 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5296 		result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102), (&(*p)));
5297 		T6_ = NIM_NIL;
5298 		T6_ = identWithPragma__parser_946(p, NIM_FALSE);
5299 		add__ast_4797(result, T6_);
5300 		{
5301 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
5302 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104))) goto LA9_;
5303 			getTok__parser_45(p);
5304 			optInd__parser_85(p, result);
5305 			T11_ = NIM_NIL;
5306 			T11_ = parseTypeDesc__parser_260(p);
5307 			add__ast_4797(result, T11_);
5308 		}
5309 		goto LA7_;
5310 		LA9_: ;
5311 		{
5312 			add__ast_4797(result, (*p).emptyNode);
5313 		}
5314 		LA7_: ;
5315 	}
5316 	LA1_: ;
5317 	eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106));
5318 	optInd__parser_85(p, result);
5319 	T13_ = NIM_NIL;
5320 	T13_ = parseExpr__parser_256(p);
5321 	add__ast_4797(result, T13_);
5322 	T14_ = (NI)0;
5323 	T14_ = len__ast_3198(result);
5324 	T15_ = (NI)0;
5325 	T15_ = len__ast_3198(result);
5326 	asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T14_ - ((NI) 1))]), postExprBlocks__parser_107(p, (*result)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))]));
5327 	indAndComment__parser_88(p, result, NIM_FALSE);
5328 	return result;
5329 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseVariable__parser_2301)5330 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseVariable__parser_2301)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5331 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5332 	NI T7_;
5333 	NI T8_;
5334 	result = NIM_NIL;
5335 	{
5336 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
5337 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA3_;
5338 		result = parseVarTuple__parser_1181(p);
5339 		eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106));
5340 		optInd__parser_85(p, result);
5341 		T5_ = NIM_NIL;
5342 		T5_ = parseExpr__parser_256(p);
5343 		add__ast_4797(result, T5_);
5344 	}
5345 	goto LA1_;
5346 	LA3_: ;
5347 	{
5348 		result = parseIdentColonEquals__parser_971(p, 5);
5349 	}
5350 	LA1_: ;
5351 	T7_ = (NI)0;
5352 	T7_ = len__ast_3198(result);
5353 	T8_ = (NI)0;
5354 	T8_ = len__ast_3198(result);
5355 	asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T7_ - ((NI) 1))]), postExprBlocks__parser_107(p, (*result)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]));
5356 	indAndComment__parser_88(p, result, NIM_FALSE);
5357 	return result;
5358 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,qualifiedIdent__parser_491)5359 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, qualifiedIdent__parser_491)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5360 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5361 	result = NIM_NIL;
5362 	result = parseSymbol__parser_95(p, ((tyEnum_SymbolMode__9aoP9cJZtqH9cYXp2xqhRfe4g) 0));
5363 	{
5364 		if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107))) goto LA3_;
5365 		result = dotExpr__parser_436(p, result);
5366 	}
5367 	LA3_: ;
5368 	return result;
5369 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseBind__parser_2359)5370 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseBind__parser_2359)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k) {
5371 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5372 	result = NIM_NIL;
5373 	result = newNodeP__parser_54(k, (&(*p)));
5374 	getTok__parser_45(p);
5375 	optInd__parser_85(p, result);
5376 	{
5377 		while (1) {
5378 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5379 			a = qualifiedIdent__parser_491(p);
5380 			add__ast_4797(result, a);
5381 			{
5382 				if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102)))) goto LA5_;
5383 				goto LA1;
5384 			}
5385 			LA5_: ;
5386 			getTok__parser_45(p);
5387 			optInd__parser_85(p, a);
5388 		}
5389 	} LA1: ;
5390 	return result;
5391 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,complexOrSimpleStmt__parser_580)5392 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, complexOrSimpleStmt__parser_580)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5393 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5394 	result = NIM_NIL;
5395 	switch ((*p).tok.tokType) {
5396 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31):
5397 	{
5398 		result = parseIfOrWhen__parser_1554(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92));
5399 	}
5400 	break;
5401 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 66):
5402 	{
5403 		result = parseWhile__parser_1622(p);
5404 	}
5405 	break;
5406 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10):
5407 	{
5408 		result = parseCase__parser_101(p);
5409 	}
5410 	break;
5411 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 60):
5412 	{
5413 		result = parseTry__parser_98(p, NIM_FALSE);
5414 	}
5415 	break;
5416 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 27):
5417 	{
5418 		result = parseExceptBlock__parser_1685(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
5419 	}
5420 	break;
5421 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25):
5422 	{
5423 		result = parseExceptBlock__parser_1685(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
5424 	}
5425 	break;
5426 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28):
5427 	{
5428 		result = parseFor__parser_1183(p);
5429 	}
5430 	break;
5431 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8):
5432 	{
5433 		result = parseBlock__parser_112(p);
5434 	}
5435 	break;
5436 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58):
5437 	{
5438 		result = parseStaticOrDefer__parser_1712(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113));
5439 	}
5440 	break;
5441 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 16):
5442 	{
5443 		result = parseStaticOrDefer__parser_1712(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105));
5444 	}
5445 	break;
5446 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 6):
5447 	{
5448 		result = parseAsm__parser_1720(p);
5449 	}
5450 	break;
5451 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51):
5452 	{
5453 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79));
5454 	}
5455 	break;
5456 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30):
5457 	{
5458 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
5459 	}
5460 	break;
5461 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 41):
5462 	{
5463 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80));
5464 	}
5465 	break;
5466 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38):
5467 	{
5468 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84));
5469 	}
5470 	break;
5471 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 40):
5472 	{
5473 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82));
5474 	}
5475 	break;
5476 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 59):
5477 	{
5478 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83));
5479 	}
5480 	break;
5481 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 15):
5482 	{
5483 		result = parseRoutine__parser_1823(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81));
5484 	}
5485 	break;
5486 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62):
5487 	{
5488 		getTok__parser_45(p);
5489 		{
5490 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
5491 			if (!((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90))) goto LA22_;
5492 			getTok__parser_45(p);
5493 			result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132), (&(*p)));
5494 			T24_ = NIM_NIL;
5495 			T24_ = primary__parser_114(p, ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 1));
5496 			add__ast_4797(result, T24_);
5497 			eat__parser_78(p, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91));
5498 			result = parseOperators__parser_831(p, result, ((NI) -1), ((tyEnum_PrimaryMode__oEVT2Q885qI5p3u0L42zBg) 0));
5499 		}
5500 		goto LA20_;
5501 		LA22_: ;
5502 		{
5503 			result = parseSection__parser_1912(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98), parseTypeDef__parser_2221);
5504 		}
5505 		LA20_: ;
5506 	}
5507 	break;
5508 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 13):
5509 	{
5510 		result = parseSection__parser_1912(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101), parseConstant__parser_2322);
5511 	}
5512 	break;
5513 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 39):
5514 	{
5515 		result = parseSection__parser_1912(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), parseVariable__parser_2301);
5516 	}
5517 	break;
5518 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64):
5519 	{
5520 		result = parseSection__parser_1912(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), parseVariable__parser_2301);
5521 	}
5522 	break;
5523 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65):
5524 	{
5525 		result = parseIfOrWhen__parser_1554(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93));
5526 	}
5527 	break;
5528 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7):
5529 	{
5530 		result = parseBind__parser_2359(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122));
5531 	}
5532 	break;
5533 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 42):
5534 	{
5535 		result = parseBind__parser_2359(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123));
5536 	}
5537 	break;
5538 	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 63):
5539 	{
5540 		result = parseSection__parser_1912(p, ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124), parseVariable__parser_2301);
5541 	}
5542 	break;
5543 	default:
5544 	{
5545 		result = simpleStmt__parser_2388(p);
5546 	}
5547 	break;
5548 	}
5549 	return result;
5550 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseAll__parser_37)5551 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseAll__parser_37)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5552 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5553 	result = NIM_NIL;
5554 	result = newNodeP__parser_54(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (&(*p)));
5555 	{
5556 		while (1) {
5557 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5558 			if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1)))) goto LA2;
5559 			(*p).hasProgress = NIM_FALSE;
5560 			a = complexOrSimpleStmt__parser_580(p);
5561 			{
5562 				NIM_BOOL T5_;
5563 				T5_ = (NIM_BOOL)0;
5564 				T5_ = !(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
5565 				if (!(T5_)) goto LA6_;
5566 				T5_ = (*p).hasProgress;
5567 				LA6_: ;
5568 				if (!T5_) goto LA7_;
5569 				add__ast_4797(result, a);
5570 			}
5571 			goto LA3_;
5572 			LA7_: ;
5573 			{
5574 				parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
5575 				getTok__parser_45(p);
5576 			}
5577 			LA3_: ;
5578 			{
5579 				if (!!(((*p).tok.indent == ((NI) 0)))) goto LA12_;
5580 				parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
5581 			}
5582 			LA12_: ;
5583 		} LA2: ;
5584 	}
5585 	return result;
5586 }
N_NIMCALL(void,closeParser__parser_39)5587 N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_39)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5588 	closeLexer__lexer_304((&(*p).lex));
5589 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseTopLevelStmt__parser_41)5590 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseTopLevelStmt__parser_41)(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw* p) {
5591 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5592 	result = NIM_NIL;
5593 	result = (*p).emptyNode;
5594 	{
5595 		while (1) {
5596 			{
5597 				if (!!(((*p).tok.indent == ((NI) 0)))) goto LA5_;
5598 				{
5599 					NIM_BOOL T9_;
5600 					T9_ = (NIM_BOOL)0;
5601 					T9_ = (*p).firstTok;
5602 					if (!(T9_)) goto LA10_;
5603 					T9_ = ((*p).tok.indent < ((NI) 0));
5604 					LA10_: ;
5605 					if (!T9_) goto LA11_;
5606 				}
5607 				goto LA7_;
5608 				LA11_: ;
5609 				{
5610 					if (!!(((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103)))) goto LA14_;
5611 					{
5612 						NIM_BOOL T18_;
5613 						T18_ = (NIM_BOOL)0;
5614 						T18_ = ((*p).tok.tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110));
5615 						if (!(T18_)) goto LA19_;
5616 						T18_ = eqStrings((*(*p).tok.ident).s, ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_35));
5617 						LA19_: ;
5618 						if (!T18_) goto LA20_;
5619 						parMessage__parser_47((&(*p)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_36));
5620 					}
5621 					goto LA16_;
5622 					LA20_: ;
5623 					{
5624 						parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
5625 					}
5626 					LA16_: ;
5627 				}
5628 				goto LA7_;
5629 				LA14_: ;
5630 				LA7_: ;
5631 			}
5632 			LA5_: ;
5633 			(*p).firstTok = NIM_FALSE;
5634 			switch ((*p).tok.tokType) {
5635 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103):
5636 			{
5637 				getTok__parser_45(p);
5638 				{
5639 					if (!((*p).tok.indent <= ((NI) 0))) goto LA26_;
5640 				}
5641 				goto LA24_;
5642 				LA26_: ;
5643 				{
5644 					parMessage__parser_147((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_4));
5645 				}
5646 				LA24_: ;
5647 				(*p).firstTok = NIM_TRUE;
5648 			}
5649 			break;
5650 			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1):
5651 			{
5652 				goto LA1;
5653 			}
5654 			break;
5655 			default:
5656 			{
5657 				result = complexOrSimpleStmt__parser_580(p);
5658 				{
5659 					if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA33_;
5660 					parMessage__parser_143((&(*p)), ((NimStringDesc*) &TM__MW5RrD2zyVLHF67ojsDu8Q_9), (&(*p).tok));
5661 				}
5662 				LA33_: ;
5663 				goto LA1;
5664 			}
5665 			break;
5666 			}
5667 		}
5668 	} LA1: ;
5669 	return result;
5670 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,parseString__parser_2493)5671 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseString__parser_2493)(NimStringDesc* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, NimStringDesc* filename, NI line, tyProc__pIuD7iLYdwrBMntVRm61ZA errorHandler) {
5672 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5673 	tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* stream;
5674 	tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw parser;
5675 	result = NIM_NIL;
5676 	stream = llStreamOpen__llstream_30(s);
5677 	(*stream).lineOffset = line;
5678 	nimZeroMem((void*)(&parser), sizeof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw));
5679 	objectInit((&parser), (&NTIparser__kUTcqfBOdi2S1yCsNNzzUw_));
5680 	parser.lex.errorHandler.ClE_0 = errorHandler.ClE_0;
5681 	parser.lex.errorHandler.ClP_0 = errorHandler.ClP_0;
5682 	openParser__parser_131((&parser), filename, stream, cache, config);
5683 	result = parseAll__parser_37((&parser));
5684 	closeParser__parser_39((&parser));
5685 	return result;
5686 }
N_NIMCALL(void,compiler_parserDatInit000)5687 N_LIB_PRIVATE N_NIMCALL(void, compiler_parserDatInit000)(void) {
5688 static TNimNode* TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[11];
5689 static TNimNode TM__MW5RrD2zyVLHF67ojsDu8Q_0[12];
5690 NTIparser__kUTcqfBOdi2S1yCsNNzzUw_.size = sizeof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw);
5691 NTIparser__kUTcqfBOdi2S1yCsNNzzUw_.align = NIM_ALIGNOF(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw);
5692 NTIparser__kUTcqfBOdi2S1yCsNNzzUw_.kind = 18;
5693 NTIparser__kUTcqfBOdi2S1yCsNNzzUw_.base = 0;
5694 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[0] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[1];
5695 TM__MW5RrD2zyVLHF67ojsDu8Q_0[1].kind = 1;
5696 TM__MW5RrD2zyVLHF67ojsDu8Q_0[1].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, currInd);
5697 TM__MW5RrD2zyVLHF67ojsDu8Q_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5698 TM__MW5RrD2zyVLHF67ojsDu8Q_0[1].name = "currInd";
5699 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[1] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[2];
5700 TM__MW5RrD2zyVLHF67ojsDu8Q_0[2].kind = 1;
5701 TM__MW5RrD2zyVLHF67ojsDu8Q_0[2].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, firstTok);
5702 TM__MW5RrD2zyVLHF67ojsDu8Q_0[2].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
5703 TM__MW5RrD2zyVLHF67ojsDu8Q_0[2].name = "firstTok";
5704 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[2] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[3];
5705 TM__MW5RrD2zyVLHF67ojsDu8Q_0[3].kind = 1;
5706 TM__MW5RrD2zyVLHF67ojsDu8Q_0[3].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, hasProgress);
5707 TM__MW5RrD2zyVLHF67ojsDu8Q_0[3].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
5708 TM__MW5RrD2zyVLHF67ojsDu8Q_0[3].name = "hasProgress";
5709 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[3] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[4];
5710 TM__MW5RrD2zyVLHF67ojsDu8Q_0[4].kind = 1;
5711 TM__MW5RrD2zyVLHF67ojsDu8Q_0[4].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, lex);
5712 TM__MW5RrD2zyVLHF67ojsDu8Q_0[4].typ = (&NTIlexer__JC9bQ4bKzkuzV9bdqS4ju8yw_);
5713 TM__MW5RrD2zyVLHF67ojsDu8Q_0[4].name = "lex";
5714 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[4] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[5];
5715 TM__MW5RrD2zyVLHF67ojsDu8Q_0[5].kind = 1;
5716 TM__MW5RrD2zyVLHF67ojsDu8Q_0[5].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, tok);
5717 TM__MW5RrD2zyVLHF67ojsDu8Q_0[5].typ = (&NTItoken__sNMaWRTImjqfh1DU9cmdQkA_);
5718 TM__MW5RrD2zyVLHF67ojsDu8Q_0[5].name = "tok";
5719 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[5] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[6];
5720 TM__MW5RrD2zyVLHF67ojsDu8Q_0[6].kind = 1;
5721 TM__MW5RrD2zyVLHF67ojsDu8Q_0[6].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, lineStartPrevious);
5722 TM__MW5RrD2zyVLHF67ojsDu8Q_0[6].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5723 TM__MW5RrD2zyVLHF67ojsDu8Q_0[6].name = "lineStartPrevious";
5724 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[6] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[7];
5725 TM__MW5RrD2zyVLHF67ojsDu8Q_0[7].kind = 1;
5726 TM__MW5RrD2zyVLHF67ojsDu8Q_0[7].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, lineNumberPrevious);
5727 TM__MW5RrD2zyVLHF67ojsDu8Q_0[7].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5728 TM__MW5RrD2zyVLHF67ojsDu8Q_0[7].name = "lineNumberPrevious";
5729 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[7] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[8];
5730 TM__MW5RrD2zyVLHF67ojsDu8Q_0[8].kind = 1;
5731 TM__MW5RrD2zyVLHF67ojsDu8Q_0[8].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, bufposPrevious);
5732 TM__MW5RrD2zyVLHF67ojsDu8Q_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5733 TM__MW5RrD2zyVLHF67ojsDu8Q_0[8].name = "bufposPrevious";
5734 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[8] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[9];
5735 TM__MW5RrD2zyVLHF67ojsDu8Q_0[9].kind = 1;
5736 TM__MW5RrD2zyVLHF67ojsDu8Q_0[9].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, inPragma);
5737 TM__MW5RrD2zyVLHF67ojsDu8Q_0[9].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5738 TM__MW5RrD2zyVLHF67ojsDu8Q_0[9].name = "inPragma";
5739 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[9] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[10];
5740 TM__MW5RrD2zyVLHF67ojsDu8Q_0[10].kind = 1;
5741 TM__MW5RrD2zyVLHF67ojsDu8Q_0[10].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, inSemiStmtList);
5742 TM__MW5RrD2zyVLHF67ojsDu8Q_0[10].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5743 TM__MW5RrD2zyVLHF67ojsDu8Q_0[10].name = "inSemiStmtList";
5744 TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[10] = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[11];
5745 TM__MW5RrD2zyVLHF67ojsDu8Q_0[11].kind = 1;
5746 TM__MW5RrD2zyVLHF67ojsDu8Q_0[11].offset = offsetof(tyObject_Parser__kUTcqfBOdi2S1yCsNNzzUw, emptyNode);
5747 TM__MW5RrD2zyVLHF67ojsDu8Q_0[11].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
5748 TM__MW5RrD2zyVLHF67ojsDu8Q_0[11].name = "emptyNode";
5749 TM__MW5RrD2zyVLHF67ojsDu8Q_0[0].len = 11; TM__MW5RrD2zyVLHF67ojsDu8Q_0[0].kind = 2; TM__MW5RrD2zyVLHF67ojsDu8Q_0[0].sons = &TM__MW5RrD2zyVLHF67ojsDu8Q_2_11[0];
5750 NTIparser__kUTcqfBOdi2S1yCsNNzzUw_.node = &TM__MW5RrD2zyVLHF67ojsDu8Q_0[0];
5751 }
5752 
5753