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