/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw;
typedef struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw;
typedef struct tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tyObject_Token__pst9a89bCqNyggpo6gRF7jhA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__urLEtt9bmeGdJpEukhLR9a1A;
struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw {
	tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__urLEtt9bmeGdJpEukhLR9a1A errorHandler;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
typedef NU8 tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA;
typedef NU8 tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ;
typedef NU8 tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA {
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType;
	tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base;
	tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg spacing;
	NI indent;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw {
	NI currInd;
	NIM_BOOL firstTok;
	NIM_BOOL hasProgress;
	tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw lex;
	tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tok;
	NI lineStartPrevious;
	NI lineNumberPrevious;
	NI bufposPrevious;
	NI inPragma;
	NI inSemiStmtList;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
};
typedef NU8 tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, void* buf_p1, NI bufLen_p2, void* ClE_0);
void* ClE_0;
} tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg {
	RootObj Sup;
	tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ kind;
	FILE* f;
	NimStringV2 s;
	NI rd;
	NI wr;
	NI lineOffset;
	tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ repl;
	tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA;
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
typedef NU8 tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw;
typedef NU8 tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setupParser__syntaxes_u223)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPathConsiderDirty__msgs_u657)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NI32 fileIdx_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__stdZsyncio_u414)(FILE** f_p0, NimStringV2 filename_p1, tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg mode_p2, NI bufSize_p3);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___llstream_u112)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, openParser__syntaxes_u203)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePipe__syntaxes_u41)(NimStringV2 filename_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNode__ast_u4069)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u136)(NimStringV2 filename_p0, tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg mode_p1);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, llStreamReadLine__llstream_u487)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, NimStringV2* line_p1);
N_LIB_PRIVATE N_NIMCALL(NI, utf8Bom__syntaxes_u24)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsShebang__syntaxes_u27)(NimStringV2 s_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u129)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 filename_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u32)(NimStringV2 data_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8688)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseAll__parser_u1764)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_u135)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___parser_u1785)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, llStreamClose__llstream_u214)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u2138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg** dest_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, evalPipe__syntaxes_u165)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 filename_p2, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* start_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___llstream_u115)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg** dest_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* src_p1, NIM_BOOL cyclic_p2);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___llstream_u123)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg** dest_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, applyFilter__syntaxes_u146)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 filename_p2, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p3);
N_LIB_PRIVATE N_NIMCALL(tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA, getFilter__syntaxes_u80)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___syntaxes_u21)(tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA e_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getCallee__syntaxes_u130)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_u158)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, filterTmpl__filter95tmpl_u230)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p1, NimStringV2 filename_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, filterStrip__filters_u91)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p1, NimStringV2 filename_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, filterReplace__filters_u102)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p1, NimStringV2 filename_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_u557)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw note_p1);
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__msgs_u737)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 s_p1, tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw flags_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u120)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u133)(FILE* f_p0);
extern TNimTypeV2 NTIv2__vtOgGjZ65sMaH6Mnf64SNw_;
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_3 = { 18 | NIM_STRLIT_FLAG, "cannot open file: " };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_4 = {18, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_3};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_6 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/syntaxes.nim" };
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_7 = { 1 | NIM_STRLIT_FLAG, "|" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_8 = {1, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_7};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_9 = { 4 | NIM_STRLIT_FLAG, "none" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_10 = {4, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_9};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_11 = { 7 | NIM_STRLIT_FLAG, "stdtmpl" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_12 = {7, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_11};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_13 = { 7 | NIM_STRLIT_FLAG, "replace" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_14 = {7, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_13};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_15 = { 5 | NIM_STRLIT_FLAG, "strip" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_16 = {5, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_15};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_17 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_18 = {0, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_17};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_19 = { 16 | NIM_STRLIT_FLAG, "invalid filter: " };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_20 = {16, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_19};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__Furs9bKK6tVLoyofH3f4bRw_22 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_23 = {0, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_22};
static const NimStringV2 TM__Furs9bKK6tVLoyofH3f4bRw_25 = {0, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_22};
static NIM_CONST tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw TM__Furs9bKK6tVLoyofH3f4bRw_2 = {0, NIM_FALSE, NIM_FALSE, {{{(&NTIv2__vtOgGjZ65sMaH6Mnf64SNw_)}, 0, NIM_NIL, {0, NIM_NIL}, 0, NIM_NIL, 0, 0, 0, 0}, 0, 0, 0, {NIM_NIL, NIM_NIL}, NIM_NIL, NIM_NIL}, {0, 0, 0, 0, NIM_NIL, 0, 0.0, {0, NIM_NIL}, 0, 0}, 0, 0, 0, 0, 0, NIM_NIL}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__Furs9bKK6tVLoyofH3f4bRw_5 = {{63, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_6},
((NI)134),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__Furs9bKK6tVLoyofH3f4bRw_21 = {{63, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_6},
((NI)82),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__Furs9bKK6tVLoyofH3f4bRw_24 = {{63, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_6},
((NI)99),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__Furs9bKK6tVLoyofH3f4bRw_26 = {{63, (NimStrPayload*)&TM__Furs9bKK6tVLoyofH3f4bRw_6},
((NI)101),
((NI)16)}
;
extern NIM_BOOL nimInErrorMode__system_u4138;
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, utf8Bom__syntaxes_u24)(NimStringV2 s_p0) {
	NI result;
	NI T1_;
	T1_ = (NI)0;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = (((NI)3) <= s_p0.len);
		if (!(T6_)) goto LA7_;
		T6_ = ((NU8)(s_p0.p->data[((NI)0)]) == (NU8)(239));
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T5_ = ((NU8)(s_p0.p->data[((NI)1)]) == (NU8)(187));
LA8_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA9_;
		T4_ = ((NU8)(s_p0.p->data[((NI)2)]) == (NU8)(191));
LA9_: ;
		if (!T4_) goto LA10_;
		result = ((NI)3);
	}
	goto LA2_;
LA10_: ;
	{
		result = ((NI)0);
	}
LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsShebang__syntaxes_u27)(NimStringV2 s_p0, NI i_p1) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI j_1;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((NI)(i_p1 + ((NI)1)) < s_p0.len);
		if (!(T4_)) goto LA5_;
		T4_ = ((NU8)(s_p0.p->data[i_p1]) == (NU8)(35));
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = ((NU8)(s_p0.p->data[(NI)(i_p1 + ((NI)1))]) == (NU8)(33));
LA6_: ;
		if (!T3_) goto LA7_;
		j_1 = (NI)(i_p1 + ((NI)2));
		{
			while (1) {
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = (j_1 < s_p0.len);
				if (!(T11_)) goto LA12_;
				T11_ = (((NU8)(s_p0.p->data[j_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[j_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[j_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[j_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[j_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[j_1])) == ((NU8)(12)));
LA12_: ;
				if (!T11_) goto LA10;
				j_1 += ((NI)1);
			} LA10: ;
		}
		result = ((NU8)(s_p0.p->data[j_1]) == (NU8)(47));
	}
	goto LA1_;
LA7_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4138);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePipe__syntaxes_u41)(NimStringV2 filename_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	result = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	s_1 = llStreamOpen__llstream_u136(filename_p0, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 line_1;
		NIM_BOOL T7_;
		NI i_1;
		NI linenumber_1;
		if (!!((s_1 == ((tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*) NIM_NIL)))) goto LA4_;
		line_1.len = 0; line_1.p = NIM_NIL;
		line_1 = rawNewString(((NI)80));
		T7_ = (NIM_BOOL)0;
		T7_ = llStreamReadLine__llstream_u487(s_1, (&line_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		(void)(T7_);
		i_1 = utf8Bom__syntaxes_u24(line_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		linenumber_1 = ((NI)1);
		{
			NIM_BOOL T10_;
			NIM_BOOL T13_;
			T10_ = (NIM_BOOL)0;
			T10_ = containsShebang__syntaxes_u27(line_1, i_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!T10_) goto LA11_;
			T13_ = (NIM_BOOL)0;
			T13_ = llStreamReadLine__llstream_u487(s_1, (&line_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			(void)(T13_);
			i_1 = ((NI)0);
			linenumber_1 += ((NI)1);
		}
LA11_: ;
		{
			NIM_BOOL T16_;
			NIM_BOOL T17_;
			tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw p_1;
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* colontmpD_;
			NimStringV2 T27_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T28_;
			T16_ = (NIM_BOOL)0;
			T17_ = (NIM_BOOL)0;
			T17_ = ((NI)(i_1 + ((NI)1)) < line_1.len);
			if (!(T17_)) goto LA18_;
			T17_ = ((NU8)(line_1.p->data[i_1]) == (NU8)(35));
LA18_: ;
			T16_ = T17_;
			if (!(T16_)) goto LA19_;
			T16_ = ((NU8)(line_1.p->data[(NI)(i_1 + ((NI)1))]) == (NU8)(63));
LA19_: ;
			if (!T16_) goto LA20_;
			nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
			p_1 = TM__Furs9bKK6tVLoyofH3f4bRw_2;
			colontmpD_ = NIM_NIL;
			i_1 += ((NI)2);
			{
				while (1) {
					NIM_BOOL T25_;
					T25_ = (NIM_BOOL)0;
					T25_ = (i_1 < line_1.len);
					if (!(T25_)) goto LA26_;
					T25_ = (((NU8)(line_1.p->data[i_1])) == ((NU8)(32)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(9)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(11)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(13)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(10)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(12)));
LA26_: ;
					if (!T25_) goto LA24;
					i_1 += ((NI)1);
				} LA24: ;
			}
			nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
			p_1 = TM__Furs9bKK6tVLoyofH3f4bRw_2;
			T27_.len = 0; T27_.p = NIM_NIL;
			T27_ = substr__system_u8688(line_1, i_1);
			colontmpD_ = llStreamOpen__llstream_u32(T27_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			openParser__parser_u129((&p_1), filename_p0, colontmpD_, cache_p2, config_p3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			T28_ = NIM_NIL;
			T28_ = parseAll__parser_u1764((&p_1));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T28_); goto LA22_;}
			eqsink___ast_u3261(&result, T28_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			closeParser__parser_u135((&p_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
			{
				LA22_:;
			}
			{
				oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___llstream_u112(colontmpD_);
				eqdestroy___parser_u1785((&p_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin22_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA20_: ;
		llStreamClose__llstream_u214(s_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(line_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___llstream_u112(s_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___syntaxes_u21)(tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0):
	{
		result = TM__Furs9bKK6tVLoyofH3f4bRw_10;
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)1):
	{
		result = TM__Furs9bKK6tVLoyofH3f4bRw_12;
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)2):
	{
		result = TM__Furs9bKK6tVLoyofH3f4bRw_14;
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)3):
	{
		result = TM__Furs9bKK6tVLoyofH3f4bRw_16;
	}
	break;
	default:
	{
		result = TM__Furs9bKK6tVLoyofH3f4bRw_18;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA, getFilter__syntaxes_u80)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0) {
	tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0);
	{
		tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA i_1;
		i_1 = (tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0;
		{
			tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA v_1;
			NI res_1;
			v_1 = (tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0;
			res_1 = ((NI)0);
			{
				while (1) {
					NimStringV2 colontmpD_;
					if (!(res_1 <= ((NI)3))) goto LA4;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					v_1 = ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA) (res_1));
					i_1 = v_1;
					{
						NI T8_;
						colontmpD_ = dollar___syntaxes_u21(i_1);
						T8_ = (NI)0;
						T8_ = nsuCmpIgnoreStyle((*ident_p0).s, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						if (!(T8_ == ((NI)0))) goto LA9_;
						result = i_1;
						eqdestroy___system_u2691(colontmpD_);
						goto BeforeRet_;
					}
LA9_: ;
					res_1 += ((NI)1);
					{
						LA5_:;
					}
					{
						eqdestroy___system_u2691(colontmpD_);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA4: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getCallee__syntaxes_u130)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
		if (!(T3_)) goto LA4_;
		T3_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA4_: ;
		if (!T3_) goto LA5_;
		eqcopy___idents_u158(&result, (*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2))) goto LA8_;
		eqcopy___idents_u158(&result, (*n_p1)._kind_5.ident);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA8_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T12_;
		tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T13_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		result = ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL);
		T12_.len = 0; T12_.p = NIM_NIL;
		T13_ = 0;
		colontmpD_ = renderTree__renderer_u59(n_p1, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_ = rawNewString(colontmpD_.len + 16);
appendString((&T12_), TM__Furs9bKK6tVLoyofH3f4bRw_20);
appendString((&T12_), colontmpD_);
		colontmpD__2 = T12_;
		liMessage__msgs_u1227(conf_p0, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__Furs9bKK6tVLoyofH3f4bRw_21), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, applyFilter__syntaxes_u146)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 filename_p2, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p3) {
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* result;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
	tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA f_1;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = getCallee__syntaxes_u130((*p_p0).lex.config, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	f_1 = getFilter__syntaxes_u80(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	switch (f_1) {
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0):
	{
		eqcopy___llstream_u115(&result, stdin_p3, NIM_FALSE);
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)1):
	{
		result = filterTmpl__filter95tmpl_u230((*p_p0).lex.config, stdin_p3, filename_p2, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)3):
	{
		result = filterStrip__filters_u91((*p_p0).lex.config, stdin_p3, filename_p2, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)2):
	{
		result = filterReplace__filters_u102((*p_p0).lex.config, stdin_p3, filename_p2, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default: __builtin_unreachable();
	}
	{
		if (!!((f_1 == ((tyEnum_FilterKind__P0ue9b6wd1hlelsppSYvucA)0)))) goto LA9_;
		{
			NIM_BOOL T13_;
			tySet_tyEnum_MsgFlag__uOe9ahJyFezfCR4dA8VRyQw T16_;
			T13_ = (NIM_BOOL)0;
			T13_ = hasHint__options_u557((*p_p0).lex.config, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)101));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T13_) goto LA14_;
			liMessage__msgs_u1227((*p_p0).lex.config, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)101), TM__Furs9bKK6tVLoyofH3f4bRw_23, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), (&TM__Furs9bKK6tVLoyofH3f4bRw_24), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T16_ = 0;
			msgWriteln__msgs_u737((*p_p0).lex.config, (*result).s, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			liMessage__msgs_u1227((*p_p0).lex.config, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)102), TM__Furs9bKK6tVLoyofH3f4bRw_25, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), (&TM__Furs9bKK6tVLoyofH3f4bRw_26), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA14_: ;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___idents_u155(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, evalPipe__syntaxes_u165)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 filename_p2, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* start_p3) {
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___llstream_u115(&result, start_p3, NIM_FALSE);
	{
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29));
		if (!(T8_)) goto LA9_;
		T8_ = ((*(*n_p1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		T7_ = eqStrings((*(*(*n_p1)._kind_6.sons.p->data[((NI)0)])._kind_5.ident).s, TM__Furs9bKK6tVLoyofH3f4bRw_8);
LA10_: ;
		if (!T7_) goto LA11_;
		{
			NI i_1;
			NI res_1;
			i_1 = (NI)0;
			res_1 = ((NI)1);
			{
				while (1) {
					if (!(res_1 <= ((NI)2))) goto LA15;
					i_1 = ((NI) (res_1));
					{
						tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T20_;
						if (!((*(*n_p1)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29))) goto LA18_;
						T20_ = NIM_NIL;
						T20_ = evalPipe__syntaxes_u165(p_p0, (*n_p1)._kind_6.sons.p->data[i_1], filename_p2, result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T20_); goto BeforeRet_;}
						eqsink___llstream_u123(&result, T20_);
					}
					goto LA16_;
LA18_: ;
					{
						tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T22_;
						T22_ = NIM_NIL;
						T22_ = applyFilter__syntaxes_u146(p_p0, (*n_p1)._kind_6.sons.p->data[i_1], filename_p2, result);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T22_); goto BeforeRet_;}
						eqsink___llstream_u123(&result, T22_);
					}
LA16_: ;
					res_1 += ((NI)1);
				} LA15: ;
			}
		}
	}
	goto LA5_;
LA11_: ;
	{
		tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T26_;
		if (!((*n_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA24_;
		T26_ = NIM_NIL;
		T26_ = evalPipe__syntaxes_u165(p_p0, (*n_p1)._kind_6.sons.p->data[((NI)0)], filename_p2, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T26_); goto BeforeRet_;}
		eqsink___llstream_u123(&result, T26_);
	}
	goto LA5_;
LA24_: ;
	{
		tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T28_;
		T28_ = NIM_NIL;
		T28_ = applyFilter__syntaxes_u146(p_p0, n_p1, filename_p2, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___llstream_u112(T28_); goto BeforeRet_;}
		eqsink___llstream_u123(&result, T28_);
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__syntaxes_u203)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4) {
	NimStringV2 filename_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pipe_1;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_1;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	filename_1.len = 0; filename_1.p = NIM_NIL;
	pipe_1 = NIM_NIL;
	s_1 = NIM_NIL;
	filename_1 = toFullPathConsiderDirty__msgs_u657(config_p4, fileIdx_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pipe_1 = parsePipe__syntaxes_u41(filename_1, inputstream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___options_u2138(&(*p_p0).lex.config, config_p4);
	T2_ = NIM_NIL;
	{
		if (!!((pipe_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA5_;
		s_1 = evalPipe__syntaxes_u165(p_p0, pipe_1, filename_1, inputstream_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		eqcopy___llstream_u115(&s_1, inputstream_p2, NIM_FALSE);
	}
LA3_: ;
	openParser__parser_u120(p_p0, fileIdx_p1, s_1, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___llstream_u112(s_1);
		eqdestroy___ast_u3252(pipe_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(filename_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setupParser__syntaxes_u223)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p2, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p3) {
	NIM_BOOL result;
	NimStringV2 filename_1;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* colontmpD_;
	FILE* f_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	filename_1.len = 0; filename_1.p = NIM_NIL;
	colontmpD_ = NIM_NIL;
	filename_1 = toFullPathConsiderDirty__msgs_u657(config_p3, fileIdx_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	f_1 = 0;
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD__2;
		NimStringV2 T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = open__stdZsyncio_u414(&f_1, filename_1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T4_)) goto LA5_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T8_.len = 0; T8_.p = NIM_NIL;
		T8_ = rawNewString(filename_1.len + 18);
appendString((&T8_), TM__Furs9bKK6tVLoyofH3f4bRw_4);
appendString((&T8_), filename_1);
		colontmpD__2 = T8_;
		liMessage__msgs_u1227(config_p3, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), (&TM__Furs9bKK6tVLoyofH3f4bRw_5), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___llstream_u112(colontmpD_);
		eqdestroy___system_u2691(filename_1);
		goto BeforeRet_;
		{
			LA7_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	colontmpD_ = llStreamOpen__llstream_u133(f_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	openParser__syntaxes_u203(p_p0, fileIdx_p1, colontmpD_, cache_p2, config_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = NIM_TRUE;
	{
		LA1_:;
	}
	{
		eqdestroy___llstream_u112(colontmpD_);
		eqdestroy___system_u2691(filename_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseFile__syntaxes_u235)(NI32 fileIdx_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw p_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
	p_1 = TM__Furs9bKK6tVLoyofH3f4bRw_2;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
	p_1 = TM__Furs9bKK6tVLoyofH3f4bRw_2;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = setupParser__syntaxes_u223((&p_1), fileIdx_p0, cache_p1, config_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = parseAll__parser_u1764((&p_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		closeParser__parser_u135((&p_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA5_: ;
	{
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___parser_u1785((&p_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
