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