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