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