1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #include <stdio.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g;
23 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
24 typedef struct NimStringDesc NimStringDesc;
25 typedef struct TGenericSeq TGenericSeq;
26 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
27 typedef struct tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg;
28 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
29 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
30 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
31 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
32 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
33 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
34 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
35 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
36 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
37 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
38 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
39 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
40 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
41 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
42 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
43 typedef struct RootObj RootObj;
44 typedef struct TNimType TNimType;
45 typedef struct TNimNode TNimNode;
46 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
47 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
48 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
49 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
50 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
51 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
52 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
53 struct TGenericSeq {
54 NI len;
55 NI reserved;
56 };
57 struct NimStringDesc {
58   TGenericSeq Sup;
59 NIM_CHAR data[SEQ_DECL_SIZE];
60 };
61 typedef NU8 tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ;
62 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
63 NU16 line;
64 NI16 col;
65 NI32 fileIndex;
66 };
67 struct tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg {
68 tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inp;
69 tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ state;
70 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
71 NI indent;
72 NI emitPar;
73 NimStringDesc* x;
74 tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* outp;
75 NIM_CHAR subsChar;
76 NIM_CHAR nimDirective;
77 NimStringDesc* emit;
78 NimStringDesc* conc;
79 NimStringDesc* toStr;
80 NI curly;
81 NI bracket;
82 NI par;
83 NIM_BOOL pendingExprLine;
84 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
85 };
86 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
87 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
88 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
89 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
90 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
91 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
92 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
93 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
94 NI intSize;
95 NI floatSize;
96 NI ptrSize;
97 NimStringDesc* tnl;
98 };
99 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
100 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
101 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
102 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
103 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
104 NI counter;
105 };
106 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
107 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
108 NIM_BOOL trackPosAttached;
109 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
110 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
111 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
112 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
113 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
114 NI32 systemFileIdx;
115 };
116 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
117 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
118 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
119 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
120 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
121 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
122 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
123 NI counter;
124 };
125 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
126 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
127 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
128 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
129 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
130 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
131 NI Field0;
132 NI Field1;
133 NI Field2;
134 };
135 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
136 typedef struct {
137 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
138 void* ClE_0;
139 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
140 typedef struct {
141 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
142 void* ClE_0;
143 } tyProc__k2HFjxisIgDALbEUFojxaQ;
144 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
145 typedef struct {
146 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
147 void* ClE_0;
148 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
149 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
150 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
151 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
152 NI linesCompiled;
153 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
154 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
155 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
156 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
157 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
158 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
159 NimStringDesc* unitSep;
160 NI evalTemplateCounter;
161 NI evalMacroCounter;
162 NI8 exitcode;
163 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
164 NimStringDesc* cmdInput;
165 NIM_BOOL projectIsCmd;
166 NIM_BOOL implicitCmd;
167 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
168 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
169 NIM_BOOL hintProcessingDots;
170 NI verbosity;
171 NI numberOfProcessors;
172 NF lastCmdTime;
173 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
174 NI spellSuggestMax;
175 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
176 NimStringDesc* headerFile;
177 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
178 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
179 NimStringDesc* arguments;
180 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
181 NIM_BOOL oldNewlines;
182 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
183 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
184 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
185 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
186 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
187 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
188 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
189 NI mainPackageId;
190 NI errorCounter;
191 NI hintCounter;
192 NI warnCounter;
193 NI errorMax;
194 NI maxLoopIterationsVM;
195 NIM_BOOL isVmTrace;
196 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
197 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
198 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
199 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
200 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
201 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
202 NimStringDesc* outFile;
203 NimStringDesc* outDir;
204 NimStringDesc* jsonBuildFile;
205 NimStringDesc* prefixDir;
206 NimStringDesc* libpath;
207 NimStringDesc* nimcacheDir;
208 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
209 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
210 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
211 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
212 NimStringDesc* projectName;
213 NimStringDesc* projectPath;
214 NimStringDesc* projectFull;
215 NIM_BOOL projectIsStdin;
216 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
217 NI32 projectMainIdx;
218 NI32 projectMainIdx2;
219 NimStringDesc* command;
220 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
221 NimStringDesc* commandLine;
222 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
223 NIM_BOOL keepComments;
224 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
225 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
226 NimStringDesc* docSeeSrcUrl;
227 NimStringDesc* docRoot;
228 NimStringDesc* docCmd;
229 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
230 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
231 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
232 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
233 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
234 NimStringDesc* linkOptionsCmd;
235 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
236 NimStringDesc* linkOptions;
237 NimStringDesc* compileOptions;
238 NimStringDesc* cCompilerPath;
239 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
240 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
241 NI suggestVersion;
242 NI suggestMaxResults;
243 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
244 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
245 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
246 NimStringDesc* cppCustomNamespace;
247 NimStringDesc* nimMainPrefix;
248 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
249 };
250 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
251 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
252 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
253 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
254 struct TNimType {
255 NI size;
256 NI align;
257 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
258 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
259 TNimType* base;
260 TNimNode* node;
261 void* finalizer;
262 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
263 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
264 };
265 struct RootObj {
266 TNimType* m_type;
267 };
268 typedef NU8 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ;
269 typedef struct {
270 N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, void* buf, NI bufLen, void* ClE_0);
271 void* ClE_0;
272 } tyProc__9cZV5JMJLsdOPMv55VbpOVg;
273 typedef struct {
274 N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
275 void* ClE_0;
276 } tyProc__HzVCwACFYM9cx9aV62PdjtuA;
277 struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g {
278   RootObj Sup;
279 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ kind;
280 FILE* f;
281 NimStringDesc* s;
282 NI rd;
283 NI wr;
284 NI lineOffset;
285 tyProc__9cZV5JMJLsdOPMv55VbpOVg repl;
286 tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
287 };
288 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
289 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
290 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
291 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
292 NimStringDesc* Field0;
293 NI Field1;
294 NI Field2;
295 };
296 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
297 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
298 NimStringDesc* Field1;
299 };
300 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
301 NI Field0;
302 NimStringDesc* Field1;
303 NI32 Field2;
304 };
305 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
306 NimStringDesc* fullPath;
307 NimStringDesc* projPath;
308 NimStringDesc* shortName;
309 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
310 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
311 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
312 NimStringDesc* dirtyFile;
313 NimStringDesc* hash;
314 NIM_BOOL dirty;
315 };
316 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
317 NI Field0;
318 NimStringDesc* Field1;
319 };
320 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
321 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
322 NimStringDesc* nimname;
323 NimStringDesc* cname;
324 NimStringDesc* obj;
325 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
326 NimStringDesc* customArgs;
327 };
328 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
329   TGenericSeq Sup;
330   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
331 };
332 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
333   TGenericSeq Sup;
334   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
335 };
336 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
337   TGenericSeq Sup;
338   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
339 };
340 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
341   TGenericSeq Sup;
342   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
343 };
344 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
345   TGenericSeq Sup;
346   NimStringDesc* data[SEQ_DECL_SIZE];
347 };
348 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
349   TGenericSeq Sup;
350   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
351 };
352 static N_INLINE(void, nimZeroMem)(void* p, NI size);
353 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
354 static N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_398)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename, NI line, NI col);
355 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col);
356 N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_376)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
357 N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g*, llStreamOpen__llstream_30)(NimStringDesc* data);
358 N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, charArg__filters_46)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* name, NI pos, NIM_CHAR default_0);
359 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, strArg__filters_62)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* name, NI pos, NimStringDesc* default_0);
360 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
361 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, llStreamReadLine__llstream_194)(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, NimStringDesc** line);
362 N_LIB_PRIVATE N_NIMCALL(void, parseLine__filter95tmpl_72)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p);
363 N_LIB_PRIVATE N_NIMCALL(void, newLine__filter95tmpl_34)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p);
364 N_LIB_PRIVATE N_NIMCALL(void, llStreamWrite__llstream_214)(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, NimStringDesc* data);
365 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
366 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
367 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
368 N_LIB_PRIVATE N_NIMCALL(void, scanPar__filter95tmpl_36)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p, NI d);
369 static N_INLINE(NIM_BOOL, withInExpr__filter95tmpl_68)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p);
370 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsWith__llstream_116)(NimStringDesc* x, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s);
371 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
372 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
373 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
374 N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
375 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
376 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7747)(NimStringDesc* s, NI first);
377 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1635)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
378 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
379 N_LIB_PRIVATE N_NIMCALL(void, llStreamWrite__llstream_224)(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, NIM_CHAR data);
380 N_LIB_PRIVATE N_NIMCALL(void, llStreamClose__llstream_110)(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s);
381 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_2, "subschar", 8);
382 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_3, "metachar", 8);
383 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_4, "emit", 4);
384 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_5, "result.add", 10);
385 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_6, "conc", 4);
386 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_7, " & ", 3);
387 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_8, "tostring", 8);
388 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_9, "$", 1);
389 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_10, "\012", 1);
390 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__paI0W78l0CRDBLjAHJxn6w_11 = {
391 0x00, 0x00, 0x00, 0x00, 0x70, 0xbc, 0x00, 0x50,
392 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
394 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
395 ;
396 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_12, "end", 3);
397 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_13, "if", 2);
398 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_14, "when", 4);
399 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_15, "try", 3);
400 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_16, "while", 5);
401 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_17, "for", 3);
402 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_18, "block", 5);
403 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_19, "case", 4);
404 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_20, "proc", 4);
405 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_21, "iterator", 8);
406 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_22, "converter", 9);
407 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_23, "macro", 5);
408 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_24, "template", 8);
409 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_25, "method", 6);
410 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_26, "func", 4);
411 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_27, "elif", 4);
412 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_28, "of", 2);
413 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_29, "else", 4);
414 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_30, "except", 6);
415 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_31, "finally", 7);
416 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_32, "let", 3);
417 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_33, "var", 3);
418 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_34, "const", 5);
419 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_35, "type", 4);
420 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_36, "\'end\' does not close a control flow construct", 45);
421 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_38, "/home/runner/work/nightlies/nightlies/nim/compiler/filter_tmpl.nim", 66);
422 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_37 = {((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_38),
423 ((NI) 89),
424 ((NI) 18)}
425 ;
426 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_39, "#end", 4);
427 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__paI0W78l0CRDBLjAHJxn6w_40 = {
428 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
429 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
431 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
432 ;
433 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_41, "\"", 1);
434 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_42, "(\"", 2);
435 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_43, "\\x", 2);
436 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_44, "\\\\", 2);
437 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_45, "\\\'", 2);
438 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_46, "\\\"", 2);
439 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_47, "expected closing \'}\'", 20);
440 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_48 = {((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_38),
441 ((NI) 174),
442 ((NI) 24)}
443 ;
444 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_49, "invalid expression", 18);
445 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_50 = {((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_38),
446 ((NI) 196),
447 ((NI) 24)}
448 ;
449 STRING_LITERAL(TM__paI0W78l0CRDBLjAHJxn6w_51, "\\n\"", 3);
N_INLINE(void,nimSetMem__systemZmemory_7)450 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
451 	void* T1_;
452 	T1_ = (void*)0;
453 	T1_ = memset(a, v, ((size_t) (size)));
454 }
N_INLINE(void,nimZeroMem)455 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
456 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
457 }
N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,newLineInfo__msgs_398)458 static N_INLINE(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_398)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename, NI line, NI col) {
459 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
460 	NI32 T1_;
461 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
462 	T1_ = (NI32)0;
463 	T1_ = fileInfoIdx__msgs_376(conf, filename);
464 	result = newLineInfo__msgs_381(T1_, line, col);
465 	return result;
466 }
N_INLINE(NimStringDesc *,spaces__pureZstrutils_1029)467 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
468 	NimStringDesc* result;
469 	result = NIM_NIL;
470 	result = nsuRepeatChar(32, n);
471 	return result;
472 }
N_NIMCALL(void,newLine__filter95tmpl_34)473 N_LIB_PRIVATE N_NIMCALL(void, newLine__filter95tmpl_34)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p) {
474 	NimStringDesc* T1_;
475 	T1_ = NIM_NIL;
476 	T1_ = nsuRepeatChar(41, ((NI) ((*p).emitPar)));
477 	llStreamWrite__llstream_214((*p).outp, T1_);
478 	(*p).emitPar = ((NI) 0);
479 	{
480 		if (!((NU16)(((NU16) 1)) < (NU16)((*p).info.line))) goto LA4_;
481 		llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_10));
482 	}
483 	LA4_: ;
484 	{
485 		NimStringDesc* T10_;
486 		if (!(*p).pendingExprLine) goto LA8_;
487 		T10_ = NIM_NIL;
488 		T10_ = spaces__pureZstrutils_1029(((NI) 2));
489 		llStreamWrite__llstream_214((*p).outp, T10_);
490 		(*p).pendingExprLine = NIM_FALSE;
491 	}
492 	LA8_: ;
493 }
N_NIMCALL(void,scanPar__filter95tmpl_36)494 N_LIB_PRIVATE N_NIMCALL(void, scanPar__filter95tmpl_36)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p, NI d) {
495 	NI i;
496 	i = d;
497 	{
498 		while (1) {
499 			if (!(i < ((*p).x ? (*p).x->Sup.len : 0))) goto LA2;
500 			switch (((NU8)((*p).x->data[i]))) {
501 			case 40:
502 			{
503 				(*p).par += ((NI) 1);
504 			}
505 			break;
506 			case 41:
507 			{
508 				(*p).par -= ((NI) 1);
509 			}
510 			break;
511 			case 91:
512 			{
513 				(*p).bracket += ((NI) 1);
514 			}
515 			break;
516 			case 93:
517 			{
518 				(*p).bracket -= ((NI) 1);
519 			}
520 			break;
521 			case 123:
522 			{
523 				(*p).curly += ((NI) 1);
524 			}
525 			break;
526 			case 125:
527 			{
528 				(*p).curly -= ((NI) 1);
529 			}
530 			break;
531 			default:
532 			{
533 			}
534 			break;
535 			}
536 			i += ((NI) 1);
537 		} LA2: ;
538 	}
539 }
N_INLINE(NIM_BOOL,withInExpr__filter95tmpl_68)540 static N_INLINE(NIM_BOOL, withInExpr__filter95tmpl_68)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p) {
541 	NIM_BOOL result;
542 	NIM_BOOL T1_;
543 	NIM_BOOL T2_;
544 	result = (NIM_BOOL)0;
545 	T1_ = (NIM_BOOL)0;
546 	T2_ = (NIM_BOOL)0;
547 	T2_ = (((NI) 0) < (*p).par);
548 	if (T2_) goto LA3_;
549 	T2_ = (((NI) 0) < (*p).bracket);
550 	LA3_: ;
551 	T1_ = T2_;
552 	if (T1_) goto LA4_;
553 	T1_ = (((NI) 0) < (*p).curly);
554 	LA4_: ;
555 	result = T1_;
556 	return result;
557 }
N_INLINE(int,nimCmpMem)558 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
559 	int result;
560 	result = (int)0;
561 	result = memcmp(a, b, ((size_t) (size)));
562 	return result;
563 }
N_INLINE(NIM_BOOL,equalMem__system_1735)564 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
565 	NIM_BOOL result;
566 	int T1_;
567 	result = (NIM_BOOL)0;
568 	T1_ = (int)0;
569 	T1_ = nimCmpMem(a, b, size);
570 	result = (T1_ == ((NI32) 0));
571 	return result;
572 }
N_INLINE(NIM_BOOL,eqStrings)573 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
574 	NIM_BOOL result;
575 	NI alen;
576 	NI blen;
577 {	result = (NIM_BOOL)0;
578 	alen = (a ? a->Sup.len : 0);
579 	blen = (b ? b->Sup.len : 0);
580 	{
581 		if (!(alen == blen)) goto LA3_;
582 		{
583 			if (!(alen == ((NI) 0))) goto LA7_;
584 			result = NIM_TRUE;
585 			goto BeforeRet_;
586 		}
587 		LA7_: ;
588 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
589 		goto BeforeRet_;
590 	}
591 	LA3_: ;
592 	}BeforeRet_: ;
593 	return result;
594 }
N_NIMCALL(void,parseLine__filter95tmpl_72)595 N_LIB_PRIVATE N_NIMCALL(void, parseLine__filter95tmpl_72)(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg* p) {
596 	NI j;
597 	NI len;
598 	j = ((NI) 0);
599 	len = ((*p).x ? (*p).x->Sup.len : 0);
600 	{
601 		while (1) {
602 			NIM_BOOL T3_;
603 			T3_ = (NIM_BOOL)0;
604 			T3_ = (j < len);
605 			if (!(T3_)) goto LA4_;
606 			T3_ = ((NU8)((*p).x->data[j]) == (NU8)(32));
607 			LA4_: ;
608 			if (!T3_) goto LA2;
609 			j += ((NI) 1);
610 		} LA2: ;
611 	}
612 	{
613 		NIM_BOOL T7_;
614 		NIM_BOOL T8_;
615 		T7_ = (NIM_BOOL)0;
616 		T8_ = (NIM_BOOL)0;
617 		T8_ = (((NI) 2) <= len);
618 		if (!(T8_)) goto LA9_;
619 		T8_ = ((NU8)((*p).x->data[((NI) 0)]) == (NU8)((*p).nimDirective));
620 		LA9_: ;
621 		T7_ = T8_;
622 		if (!(T7_)) goto LA10_;
623 		T7_ = ((NU8)((*p).x->data[((NI) 1)]) == (NU8)(63));
624 		LA10_: ;
625 		if (!T7_) goto LA11_;
626 		newLine__filter95tmpl_34(p);
627 	}
628 	goto LA5_;
629 	LA11_: ;
630 	{
631 		NIM_BOOL T14_;
632 		NI d;
633 		NimStringDesc* keyw;
634 		NIM_BOOL T26_;
635 		T14_ = (NIM_BOOL)0;
636 		T14_ = (j < len);
637 		if (!(T14_)) goto LA15_;
638 		T14_ = ((NU8)((*p).x->data[j]) == (NU8)((*p).nimDirective));
639 		LA15_: ;
640 		if (!T14_) goto LA16_;
641 		newLine__filter95tmpl_34(p);
642 		j += ((NI) 1);
643 		{
644 			while (1) {
645 				NIM_BOOL T20_;
646 				T20_ = (NIM_BOOL)0;
647 				T20_ = (j < len);
648 				if (!(T20_)) goto LA21_;
649 				T20_ = ((NU8)((*p).x->data[j]) == (NU8)(32));
650 				LA21_: ;
651 				if (!T20_) goto LA19;
652 				j += ((NI) 1);
653 			} LA19: ;
654 		}
655 		d = j;
656 		keyw = ((NimStringDesc*) NIM_NIL);
657 		{
658 			while (1) {
659 				NIM_BOOL T24_;
660 				T24_ = (NIM_BOOL)0;
661 				T24_ = (j < len);
662 				if (!(T24_)) goto LA25_;
663 				T24_ = (((NU8)((*p).x->data[j])) >= ((NU8)(97)) && ((NU8)((*p).x->data[j])) <= ((NU8)(122)) || ((NU8)((*p).x->data[j])) >= ((NU8)(65)) && ((NU8)((*p).x->data[j])) <= ((NU8)(90)) || ((NU8)((*p).x->data[j])) >= ((NU8)(48)) && ((NU8)((*p).x->data[j])) <= ((NU8)(57)) || ((NU8)((*p).x->data[j])) >= ((NU8)(128)) && ((NU8)((*p).x->data[j])) <= ((NU8)(255)) || ((NU8)((*p).x->data[j])) == ((NU8)(46)) || ((NU8)((*p).x->data[j])) == ((NU8)(95)));
664 				LA25_: ;
665 				if (!T24_) goto LA23;
666 				keyw = addChar(keyw, (*p).x->data[j]);
667 				j += ((NI) 1);
668 			} LA23: ;
669 		}
670 		scanPar__filter95tmpl_36(p, j);
671 		T26_ = (NIM_BOOL)0;
672 		T26_ = withInExpr__filter95tmpl_68((&(*p)));
673 		if (T26_) goto LA27_;
674 		T26_ = endsWith__llstream_116((*p).x, TM__paI0W78l0CRDBLjAHJxn6w_11);
675 		LA27_: ;
676 		(*p).pendingExprLine = T26_;
677 		switch (hashString(keyw) & 31) {
678 		case 3:
679 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_28))) goto LA30_;
680 break;
681 		case 6:
682 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_19))) goto LA29_;
683 break;
684 		case 7:
685 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_13))) goto LA29_;
686 break;
687 		case 10:
688 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_20))) goto LA29_;
689 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_32))) goto LA31_;
690 break;
691 		case 12:
692 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_21))) goto LA29_;
693 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_33))) goto LA31_;
694 break;
695 		case 13:
696 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_25))) goto LA29_;
697 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_30))) goto LA30_;
698 break;
699 		case 16:
700 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_14))) goto LA29_;
701 break;
702 		case 17:
703 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_27))) goto LA30_;
704 break;
705 		case 18:
706 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_24))) goto LA29_;
707 break;
708 		case 19:
709 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_17))) goto LA29_;
710 break;
711 		case 21:
712 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_29))) goto LA30_;
713 break;
714 		case 23:
715 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_12))) goto LA28_;
716 break;
717 		case 24:
718 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_31))) goto LA30_;
719 break;
720 		case 25:
721 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_16))) goto LA29_;
722 break;
723 		case 26:
724 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_34))) goto LA31_;
725 break;
726 		case 27:
727 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_15))) goto LA29_;
728 break;
729 		case 29:
730 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_18))) goto LA29_;
731 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_26))) goto LA29_;
732 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_35))) goto LA31_;
733 break;
734 		case 30:
735 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_22))) goto LA29_;
736 if (eqStrings(keyw, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_23))) goto LA29_;
737 break;
738 		}
739 		goto LA32_;
740 		LA28_: ;
741 		{
742 			NimStringDesc* T40_;
743 			{
744 				if (!(((NI) 2) <= (*p).indent)) goto LA37_;
745 				(*p).indent -= ((NI) 2);
746 			}
747 			goto LA35_;
748 			LA37_: ;
749 			{
750 				(*p).info.col = ((NI16) (j));
751 				liMessage__msgs_1118((*p).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_36), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__paI0W78l0CRDBLjAHJxn6w_37, NIM_FALSE);
752 			}
753 			LA35_: ;
754 			T40_ = NIM_NIL;
755 			T40_ = spaces__pureZstrutils_1029(((NI) ((*p).indent)));
756 			llStreamWrite__llstream_214((*p).outp, T40_);
757 			llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_39));
758 		}
759 		goto LA33_;
760 		LA29_: ;
761 		{
762 			NimStringDesc* T42_;
763 			NimStringDesc* T43_;
764 			T42_ = NIM_NIL;
765 			T42_ = spaces__pureZstrutils_1029(((NI) ((*p).indent)));
766 			llStreamWrite__llstream_214((*p).outp, T42_);
767 			T43_ = NIM_NIL;
768 			T43_ = substr__system_7747((*p).x, d);
769 			llStreamWrite__llstream_214((*p).outp, T43_);
770 			(*p).indent += ((NI) 2);
771 		}
772 		goto LA33_;
773 		LA30_: ;
774 		{
775 			NimStringDesc* T45_;
776 			NimStringDesc* T46_;
777 			T45_ = NIM_NIL;
778 			T45_ = spaces__pureZstrutils_1029(((NI) ((NI)((*p).indent - ((NI) 2)))));
779 			llStreamWrite__llstream_214((*p).outp, T45_);
780 			T46_ = NIM_NIL;
781 			T46_ = substr__system_7747((*p).x, d);
782 			llStreamWrite__llstream_214((*p).outp, T46_);
783 		}
784 		goto LA33_;
785 		LA31_: ;
786 		{
787 			NimStringDesc* T48_;
788 			NimStringDesc* T49_;
789 			T48_ = NIM_NIL;
790 			T48_ = spaces__pureZstrutils_1029(((NI) ((*p).indent)));
791 			llStreamWrite__llstream_214((*p).outp, T48_);
792 			T49_ = NIM_NIL;
793 			T49_ = substr__system_7747((*p).x, d);
794 			llStreamWrite__llstream_214((*p).outp, T49_);
795 			{
796 				NIM_BOOL T52_;
797 				T52_ = (NIM_BOOL)0;
798 				T52_ = contains__pureZstrutils_1635((*p).x, TM__paI0W78l0CRDBLjAHJxn6w_40);
799 				if (!!(T52_)) goto LA53_;
800 				(*p).indent += ((NI) 2);
801 			}
802 			LA53_: ;
803 		}
804 		goto LA33_;
805 		LA32_: ;
806 		{
807 			NimStringDesc* T56_;
808 			NimStringDesc* T57_;
809 			T56_ = NIM_NIL;
810 			T56_ = spaces__pureZstrutils_1029(((NI) ((*p).indent)));
811 			llStreamWrite__llstream_214((*p).outp, T56_);
812 			T57_ = NIM_NIL;
813 			T57_ = substr__system_7747((*p).x, d);
814 			llStreamWrite__llstream_214((*p).outp, T57_);
815 		}
816 		LA33_: ;
817 		(*p).state = ((tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ) 0);
818 	}
819 	goto LA5_;
820 	LA16_: ;
821 	{
822 		(*p).par = ((NI) 0);
823 		(*p).curly = ((NI) 0);
824 		(*p).bracket = ((NI) 0);
825 		j = ((NI) 0);
826 		switch ((*p).state) {
827 		case ((tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ) 1):
828 		{
829 			NimStringDesc* T60_;
830 			llStreamWrite__llstream_214((*p).outp, (*p).conc);
831 			llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_10));
832 			T60_ = NIM_NIL;
833 			T60_ = spaces__pureZstrutils_1029(((NI) ((NI)((*p).indent + ((NI) 2)))));
834 			llStreamWrite__llstream_214((*p).outp, T60_);
835 			llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_41));
836 		}
837 		break;
838 		case ((tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ) 0):
839 		{
840 			NimStringDesc* T62_;
841 			newLine__filter95tmpl_34(p);
842 			T62_ = NIM_NIL;
843 			T62_ = spaces__pureZstrutils_1029(((NI) ((*p).indent)));
844 			llStreamWrite__llstream_214((*p).outp, T62_);
845 			llStreamWrite__llstream_214((*p).outp, (*p).emit);
846 			llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_42));
847 			(*p).emitPar += ((NI) 1);
848 		}
849 		break;
850 		}
851 		(*p).state = ((tyEnum_TParseState__TMyoReN7VAtsUpVF9bL9cXRQ) 1);
852 		{
853 			while (1) {
854 				if (!(j < len)) goto LA64;
855 				switch (((NU8)((*p).x->data[j]))) {
856 				case 1 ... 31:
857 				case 128 ... 255:
858 				{
859 					NimStringDesc* T66_;
860 					llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_43));
861 					T66_ = NIM_NIL;
862 					T66_ = toHex__pureZstrutils_1792(((NU8)((*p).x->data[j])), ((NI) 2));
863 					llStreamWrite__llstream_214((*p).outp, T66_);
864 					j += ((NI) 1);
865 				}
866 				break;
867 				case 92:
868 				{
869 					llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_44));
870 					j += ((NI) 1);
871 				}
872 				break;
873 				case 39:
874 				{
875 					llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_45));
876 					j += ((NI) 1);
877 				}
878 				break;
879 				case 34:
880 				{
881 					llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_46));
882 					j += ((NI) 1);
883 				}
884 				break;
885 				default:
886 				{
887 					{
888 						if (!((NU8)((*p).x->data[j]) == (NU8)((*p).subsChar))) goto LA73_;
889 						j += ((NI) 1);
890 						switch (((NU8)((*p).x->data[j]))) {
891 						case 123:
892 						{
893 							NI curly;
894 							(*p).info.col = ((NI16) (j));
895 							llStreamWrite__llstream_224((*p).outp, 34);
896 							llStreamWrite__llstream_214((*p).outp, (*p).conc);
897 							llStreamWrite__llstream_214((*p).outp, (*p).toStr);
898 							llStreamWrite__llstream_224((*p).outp, 40);
899 							j += ((NI) 1);
900 							curly = ((NI) 0);
901 							{
902 								while (1) {
903 									if (!(j < len)) goto LA77;
904 									switch (((NU8)((*p).x->data[j]))) {
905 									case 123:
906 									{
907 										j += ((NI) 1);
908 										curly += ((NI) 1);
909 										llStreamWrite__llstream_224((*p).outp, 123);
910 									}
911 									break;
912 									case 125:
913 									{
914 										j += ((NI) 1);
915 										{
916 											if (!(curly == ((NI) 0))) goto LA82_;
917 											goto LA76;
918 										}
919 										LA82_: ;
920 										{
921 											if (!(((NI) 0) < curly)) goto LA86_;
922 											curly -= ((NI) 1);
923 										}
924 										LA86_: ;
925 										llStreamWrite__llstream_224((*p).outp, 125);
926 									}
927 									break;
928 									default:
929 									{
930 										llStreamWrite__llstream_224((*p).outp, (*p).x->data[j]);
931 										j += ((NI) 1);
932 									}
933 									break;
934 									}
935 								} LA77: ;
936 							} LA76: ;
937 							{
938 								if (!(((NI) 0) < curly)) goto LA91_;
939 								liMessage__msgs_1118((*p).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_47), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__paI0W78l0CRDBLjAHJxn6w_48, NIM_FALSE);
940 								goto LA63;
941 							}
942 							LA91_: ;
943 							llStreamWrite__llstream_224((*p).outp, 41);
944 							llStreamWrite__llstream_214((*p).outp, (*p).conc);
945 							llStreamWrite__llstream_224((*p).outp, 34);
946 						}
947 						break;
948 						case 97 ... 122:
949 						case 65 ... 90:
950 						case 128 ... 255:
951 						{
952 							llStreamWrite__llstream_224((*p).outp, 34);
953 							llStreamWrite__llstream_214((*p).outp, (*p).conc);
954 							llStreamWrite__llstream_214((*p).outp, (*p).toStr);
955 							llStreamWrite__llstream_224((*p).outp, 40);
956 							{
957 								while (1) {
958 									NIM_BOOL T96_;
959 									T96_ = (NIM_BOOL)0;
960 									T96_ = (j < len);
961 									if (!(T96_)) goto LA97_;
962 									T96_ = (((NU8)((*p).x->data[j])) >= ((NU8)(97)) && ((NU8)((*p).x->data[j])) <= ((NU8)(122)) || ((NU8)((*p).x->data[j])) >= ((NU8)(65)) && ((NU8)((*p).x->data[j])) <= ((NU8)(90)) || ((NU8)((*p).x->data[j])) >= ((NU8)(48)) && ((NU8)((*p).x->data[j])) <= ((NU8)(57)) || ((NU8)((*p).x->data[j])) >= ((NU8)(128)) && ((NU8)((*p).x->data[j])) <= ((NU8)(255)) || ((NU8)((*p).x->data[j])) == ((NU8)(46)) || ((NU8)((*p).x->data[j])) == ((NU8)(95)));
963 									LA97_: ;
964 									if (!T96_) goto LA95;
965 									llStreamWrite__llstream_224((*p).outp, (*p).x->data[j]);
966 									j += ((NI) 1);
967 								} LA95: ;
968 							}
969 							llStreamWrite__llstream_224((*p).outp, 41);
970 							llStreamWrite__llstream_214((*p).outp, (*p).conc);
971 							llStreamWrite__llstream_224((*p).outp, 34);
972 						}
973 						break;
974 						default:
975 						{
976 							{
977 								if (!((NU8)((*p).x->data[j]) == (NU8)((*p).subsChar))) goto LA101_;
978 								llStreamWrite__llstream_224((*p).outp, (*p).subsChar);
979 								j += ((NI) 1);
980 							}
981 							goto LA99_;
982 							LA101_: ;
983 							{
984 								(*p).info.col = ((NI16) (j));
985 								liMessage__msgs_1118((*p).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_49), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__paI0W78l0CRDBLjAHJxn6w_50, NIM_FALSE);
986 							}
987 							LA99_: ;
988 						}
989 						break;
990 						}
991 					}
992 					goto LA71_;
993 					LA73_: ;
994 					{
995 						llStreamWrite__llstream_224((*p).outp, (*p).x->data[j]);
996 						j += ((NI) 1);
997 					}
998 					LA71_: ;
999 				}
1000 				break;
1001 				}
1002 			} LA64: ;
1003 		} LA63: ;
1004 		llStreamWrite__llstream_214((*p).outp, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_51));
1005 	}
1006 	LA5_: ;
1007 }
N_NIMCALL(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g *,filterTmpl__filter95tmpl_191)1008 N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g*, filterTmpl__filter95tmpl_191)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* stdin_0, NimStringDesc* filename, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call) {
1009 	tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* result;
1010 	tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg p;
1011 	result = NIM_NIL;
1012 	nimZeroMem((void*)(&p), sizeof(tyObject_TTmplParser__hVXV9cC75rOvsaODz9bp1zeg));
1013 	p.config = conf;
1014 	p.info = newLineInfo__msgs_398(conf, filename, ((NI) 0), ((NI) 0));
1015 	p.outp = llStreamOpen__llstream_30(((NimStringDesc*) NIM_NIL));
1016 	p.inp = stdin_0;
1017 	p.subsChar = charArg__filters_46(conf, call, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_2), ((NI) 1), 36);
1018 	p.nimDirective = charArg__filters_46(conf, call, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_3), ((NI) 2), 35);
1019 	p.emit = strArg__filters_62(conf, call, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_4), ((NI) 3), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_5));
1020 	p.conc = strArg__filters_62(conf, call, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_6), ((NI) 4), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_7));
1021 	p.toStr = strArg__filters_62(conf, call, ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_8), ((NI) 5), ((NimStringDesc*) &TM__paI0W78l0CRDBLjAHJxn6w_9));
1022 	p.x = rawNewString(((NI) 120));
1023 	{
1024 		NIM_BOOL T3_;
1025 		T3_ = (NIM_BOOL)0;
1026 		T3_ = llStreamReadLine__llstream_194(p.inp, (&p.x));
1027 		if (!T3_) goto LA4_;
1028 		p.info.line += ((NI) 1);
1029 	}
1030 	LA4_: ;
1031 	{
1032 		while (1) {
1033 			NIM_BOOL T8_;
1034 			T8_ = (NIM_BOOL)0;
1035 			T8_ = llStreamReadLine__llstream_194(p.inp, (&p.x));
1036 			if (!T8_) goto LA7;
1037 			p.info.line += ((NI) 1);
1038 			parseLine__filter95tmpl_72((&p));
1039 		} LA7: ;
1040 	}
1041 	newLine__filter95tmpl_34((&p));
1042 	result = p.outp;
1043 	llStreamClose__llstream_110(p.inp);
1044 	return result;
1045 }
1046