/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@sparser.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@sparser.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.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_Parser__lxvmEiPLzhqFAB1Ndj4OXg tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ;
typedef struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg;
typedef struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw;
typedef struct tyObject_Token__0RfaoeiXz87H212JyhBKLA tyObject_Token__0RfaoeiXz87H212JyhBKLA;
typedef struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA;
typedef struct tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA;
typedef struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg;
typedef struct tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ;
typedef struct tyObject_TType__Mr5OLuzzwXOlraK5ByalKg tyObject_TType__Mr5OLuzzwXOlraK5ByalKg;
typedef struct tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw tySequence__dLTPEqP7th9csUVoVHHIjNw;
typedef struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content tySequence__dLTPEqP7th9csUVoVHHIjNw_Content;
typedef struct tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA;
typedef struct tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg;
typedef struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A tySequence__JPKFgJSOQCieXDyG0VaX6A;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content tySequence__JPKFgJSOQCieXDyG0VaX6A_Content;
typedef struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA tySequence__82a9cBsTuMsIGy3wIt0j2GA;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg tySequence__qQfLCgyHOp6hJAe9b61dSlg;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content;
typedef struct tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ;
typedef struct tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA;
typedef struct tyTuple__QV1TF4CGWRyoNF80eigmtg tyTuple__QV1TF4CGWRyoNF80eigmtg;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
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 tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__pZyCb85IttgsT24JoT50Ow;
struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA {
	tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__pZyCb85IttgsT24JoT50Ow errorHandler;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache;
	tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config;
};
typedef NU8 tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g;
typedef NU8 tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q;
typedef NU8 tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg;
struct tyObject_Token__0RfaoeiXz87H212JyhBKLA {
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType;
	tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base;
	tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg spacing;
	NI indent;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg {
	NI currInd;
	NIM_BOOL firstTok;
	NIM_BOOL hasProgress;
	tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA lex;
	tyObject_Token__0RfaoeiXz87H212JyhBKLA tok;
	NI lineStartPrevious;
	NI lineNumberPrevious;
	NI bufposPrevious;
	NI inPragma;
	NI inSemiStmtList;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* emptyNode;
};
typedef NU8 tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ;
struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA;
struct tySequence__dLTPEqP7th9csUVoVHHIjNw {
  NI len; tySequence__dLTPEqP7th9csUVoVHHIjNw_Content* p;
};
struct tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ {
	tyObject_TType__Mr5OLuzzwXOlraK5ByalKg* typField;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info;
	tySet_tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA flags;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__JSAgsmM1rxuWFgHM7Nlxdg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident;
} _kind_5;
	struct {
	tySequence__dLTPEqP7th9csUVoVHHIjNw sons;
} _kind_6;
};
};
struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* next;
	NI h;
};
typedef NU8 tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ;
typedef NU8 tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ[21];
typedef NU8 tySet_tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw;
typedef NU8 tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw;
typedef NU8 tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg;
typedef NU8 tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA;
typedef NU8 tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w;
typedef NU8 tySet_tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g[15];
typedef NU8 tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA;
struct tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA {
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g a;
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g b;
};
typedef tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* tyArray__QFyWaUKTSErGDl3hgtGCvA[1];
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef N_NIMCALL_PTR(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, tyProc__LRXSdCLtxMXbYK9bgoHAfYw) (tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
typedef NU8 tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow;
typedef NU8 tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw;
typedef NU8 tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw;
struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA {
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw targetCPU;
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw hostCPU;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw targetOS;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NU64 tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
typedef NU8 tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg;
struct tySequence__JPKFgJSOQCieXDyG0VaX6A {
  NI len; tySequence__JPKFgJSOQCieXDyG0VaX6A_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA {
  NI len; tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content* p;
};
struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg errorOutputs;
	tySequence__JPKFgJSOQCieXDyG0VaX6A msgContext;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastError;
	tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g filenameToIndexTbl;
	tySequence__82a9cBsTuMsIGy3wIt0j2GA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w;
typedef NU8 tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA;
typedef NU8 tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg;
typedef NU8 tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg;
typedef NU8 tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng;
typedef NU8 tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ;
typedef NU8 tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA;
typedef NU8 tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw;
typedef NU8 tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA;
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg {
  NI len; tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__ZKxN2vtYtpm0ZAjNb4J8aw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__JiHYsLjIe9cOjP539bvP3aaA;
struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw {
	tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow backend;
	tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q options;
	tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg globalOptions;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* macrosToExpand;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* arcToExpand;
	tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw m;
	tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg selectedGC;
	tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng features;
	tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA ideCmd;
	tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw cCompiler;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ modifiedyNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ cmdlineNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ foreignPackageNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ notes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ warningAsErrors;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* configVars;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* symbols;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* dllOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* moduleOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__qQfLCgyHOp6hJAe9b61dSlg toCompile;
	tyProc__ZKxN2vtYtpm0ZAjNb4J8aw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__JiHYsLjIe9cOjP539bvP3aaA structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* tyArray__vT2s1OOU4oat4glWHm9bw9cg[8192];
struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg {
	tyArray__vT2s1OOU4oat4glWHm9bw9cg buckets;
	NI wordCounter;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idAnon;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idDelegator;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* emptyIdent;
};
struct tySequence__dLTPEqP7th9csUVoVHHIjNw_Content { NI cap; tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* data[SEQ_DECL_SIZE]; };
struct tyTuple__QV1TF4CGWRyoNF80eigmtg {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA Field0;
	NimStringV2 Field1;
};
struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content { NI cap; tyTuple__QV1TF4CGWRyoNF80eigmtg data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content { NI cap; tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ;
struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ flags;
	NimStringV2 customArgs;
};
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content { NI cap; tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, openParser__OOZOOZOOZcompilerZparser_u119)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputStream_p2, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p3, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p4);
N_LIB_PRIVATE N_NIMCALL(void, reset__OOZOOZOOZcompilerZlexer_u1884)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* obj_p0);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__OOZOOZOOZcompilerZlexer_u255)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* lex_p0, NI32 fileIdx_p1, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputstream_p2, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p3, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p4);
N_LIB_PRIVATE N_NIMCALL(void, getTok__OOZOOZOOZcompilerZparser_u39)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__OOZOOZOOZcompilerZlexer_u1880)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZast_u3279)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4112)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3270)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNodeP__OOZOOZOOZcompilerZparser_u48)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNode__OOZOOZOOZcompilerZast_u4141)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, parLineInfo__OOZOOZOOZcompilerZparser_u70)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, getLineInfo__OOZOOZOOZcompilerZlexer_u197)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, newLineInfo__OOZOOZOOZcompilerZmsgs_u416)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTopLevelStmt__OOZOOZOOZcompilerZparser_u1753)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZast_u3273)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* src_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(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, parMessage__OOZOOZOOZcompilerZparser_u41)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__OOZOOZOOZcompilerZlexer_u403)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__OOZOOZOOZcompilerZparser_u144)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NimStringV2 arg_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIfOrWhen__OOZOOZOOZcompilerZparser_u1291)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(void, optInd__OOZOOZOOZcompilerZparser_u79)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, skipComment__OOZOOZOOZcompilerZparser_u45)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__OOZOOZOOZcompilerZparser_u162)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__OOZOOZOOZcompilerZast_u835)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(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(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, commenteq___OOZOOZOOZcompilerZast_u1333)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, skipInd__OOZOOZOOZcompilerZparser_u75)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__OOZOOZOOZcompilerZast_u3231)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* father_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExpr__OOZOOZOOZcompilerZparser_u253)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseBlock__OOZOOZOOZcompilerZparser_u106)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__OOZOOZOOZcompilerZparser_u193)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseSymbol__OOZOOZOOZcompilerZparser_u89)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newIdentNodeP__OOZOOZOOZcompilerZparser_u63)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident_p0, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4145)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__OOZOOZOOZcompilerZparser_u140)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NimStringV2 msg_p1, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prettyTok__OOZOOZOOZcompilerZlexer_u246)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
static N_INLINE(NI, len__OOZOOZOOZcompilerZast_u3206)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZnodekinds_u168)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ e_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u237)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg*, getIdent__OOZOOZOOZcompilerZidents_u207)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u156)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eat__OOZOOZOOZcompilerZparser_u72)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__OOZOOZOOZcompilerZlexer_u399)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u139)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g e_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, colcom__OOZOOZOOZcompilerZparser_u308)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStmt__OOZOOZOOZcompilerZparser_u255)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleStmt__OOZOOZOOZcompilerZparser_u1685)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__OOZOOZOOZcompilerZparser_u1016)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, postExprBlocks__OOZOOZOOZcompilerZparser_u101)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* x_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseParamList__OOZOOZOOZcompilerZparser_u262)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL retColon_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tySet_tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw flags_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identWithPragma__OOZOOZOOZcompilerZparser_u813)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL allowDot_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identVis__OOZOOZOOZcompilerZparser_u800)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL allowDot_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, dotExpr__OOZOOZOOZcompilerZparser_u443)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, exprList__OOZOOZOOZcompilerZparser_u373)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__OOZOOZOOZcompilerZparser_u408)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, flexComment__OOZOOZOOZcompilerZparser_u180)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, optPar__OOZOOZOOZcompilerZparser_u77)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprColonEqExpr__OOZOOZOOZcompilerZparser_u357)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, colonOrEquals__OOZOOZOOZcompilerZparser_u349)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, equals__OOZOOZOOZcompilerZparser_u341)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__OOZOOZOOZcompilerZast_u6807)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA kind_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___OOZOOZOOZcompilerZast_u3267)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePragma__OOZOOZOOZcompilerZparser_u99)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDesc__OOZOOZOOZcompilerZparser_u257)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL fullExpr_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleExpr__OOZOOZOOZcompilerZparser_u531)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleExprAux__OOZOOZOOZcompilerZparser_u111)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NI limit_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, primary__OOZOOZOOZcompilerZparser_u108)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__OOZOOZOOZcompilerZparser_u37)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
static N_INLINE(NIM_BOOL, isSigilLike__OOZOOZOOZcompilerZparser_u265)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identOrLiteral__OOZOOZOOZcompilerZparser_u629)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGStrLit__OOZOOZOOZcompilerZparser_u525)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newStrNodeP__OOZOOZOOZcompilerZparser_u59)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NimStringV2 strVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4159)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NimStringV2 strVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newIntNodeP__OOZOOZOOZcompilerZparser_u51)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NI64 intVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4149)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NI64 intVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__OOZOOZOOZcompilerZparser_u86)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newFloatNodeP__OOZOOZOOZcompilerZparser_u55)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NF floatVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newAtom__OOZOOZOOZcompilerZast_u4154)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NF floatVal_p1, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9096)(NimStringV2 s_p0, NI first_p1, NI last_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9109)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprColonEqExprList__OOZOOZOOZcompilerZparser_u438)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePar__OOZOOZOOZcompilerZparser_u570)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__OOZOOZOOZcompilerZparser_u537)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStmtPragma__OOZOOZOOZcompilerZparser_u97)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, setOrTableConstr__OOZOOZOOZcompilerZparser_u480)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseCast__OOZOOZOOZcompilerZparser_u500)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, primarySuffix__OOZOOZOOZcompilerZparser_u682)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* r_p1, NI baseIndent_p2, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, commandExpr__OOZOOZOOZcompilerZparser_u665)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* r_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, commandParam__OOZOOZOOZcompilerZparser_u651)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL* isFirstParam_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprEqExpr__OOZOOZOOZcompilerZparser_u365)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, namedParams__OOZOOZOOZcompilerZparser_u644)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* callee_p1, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p2, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__OOZOOZOOZcompilerZparser_u675)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__OOZOOZOOZcompilerZoptions_u953)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, dotLikeExpr__OOZOOZOOZcompilerZparser_u467)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__OOZOOZOOZcompilerZparser_u279)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseProcExpr__OOZOOZOOZcompilerZparser_u987)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL isExpr_p1, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, optPragmas__OOZOOZOOZcompilerZparser_u962)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newProcNode__OOZOOZOOZcompilerZast_u5462)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* body_p2, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* params_p3, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* name_p4, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pattern_p5, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* genericParams_p6, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragmas_p7, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* exceptions_p8);
static N_INLINE(void, replaceSon__OOZOOZOOZcompilerZast_u5306)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, NI i_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* newson_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseOperators__OOZOOZOOZcompilerZparser_u713)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* headNode_p1, NI limit_p2, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p3);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__OOZOOZOOZcompilerZlexer_u1651)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
static N_INLINE(void, checkBinary__OOZOOZOOZcompilerZparser_u291)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(NIM_BOOL, isRightAssociative__OOZOOZOOZcompilerZparser_u272)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTuple__OOZOOZOOZcompilerZparser_u868)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL indentAllowed_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDefValue__OOZOOZOOZcompilerZparser_u260)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseEnum__OOZOOZOOZcompilerZparser_u1082)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObject__OOZOOZOOZcompilerZparser_u1084)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectPart__OOZOOZOOZcompilerZparser_u1500)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectWhen__OOZOOZOOZcompilerZparser_u1502)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectCase__OOZOOZOOZcompilerZparser_u1515)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeClass__OOZOOZOOZcompilerZparser_u1086)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeClassParam__OOZOOZOOZcompilerZparser_u1565)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(NIM_BOOL, validInd__OOZOOZOOZcompilerZparser_u159)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(NIM_BOOL, isNewStyleConcept__OOZOOZOOZcompilerZast_u7683)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, binaryNot__OOZOOZOOZcompilerZparser_u1118)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__OOZOOZOOZcompilerZparser_u1019)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p1);
static N_INLINE(NIM_BOOL, contains__OOZOOZOOZcompilerZparser_u934)(tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA s_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g value_p1);
static N_INLINE(tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA, dotdot___OOZOOZOOZcompilerZparser_u902)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g a_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g b_p1);
static N_INLINE(void, replaceFirstSon__OOZOOZOOZcompilerZast_u5303)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* newson_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, makeCall__OOZOOZOOZcompilerZparser_u1148)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseDoBlock__OOZOOZOOZcompilerZparser_u969)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, optionalExprList__OOZOOZOOZcompilerZparser_u391)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseImport__OOZOOZOOZcompilerZparser_u1232)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseModuleName__OOZOOZOOZcompilerZparser_u1228)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseFromStmt__OOZOOZOOZcompilerZparser_u1270)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIncludeStmt__OOZOOZOOZcompilerZparser_u1258)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newCommentStmt__OOZOOZOOZcompilerZparser_u1451)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExprStmt__OOZOOZOOZcompilerZparser_u104)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newTree__OOZOOZOOZcompilerZast_u4164)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** children_p2, NI children_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseFor__OOZOOZOOZcompilerZparser_u1061)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseVarTuple__OOZOOZOOZcompilerZparser_u1059)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseCase__OOZOOZOOZcompilerZparser_u95)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTry__OOZOOZOOZcompilerZparser_u92)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL isExpr_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseWhile__OOZOOZOOZcompilerZparser_u1319)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExceptBlock__OOZOOZOOZcompilerZparser_u1347)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStaticOrDefer__OOZOOZOOZcompilerZparser_u1358)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ k_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseAsm__OOZOOZOOZcompilerZparser_u1362)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseRoutine__OOZOOZOOZcompilerZparser_u1409)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePattern__OOZOOZOOZcompilerZparser_u1406)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGenericParamList__OOZOOZOOZcompilerZparser_u1394)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGenericParam__OOZOOZOOZcompilerZparser_u1369)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__OOZOOZOOZcompilerZparser_u68)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__OOZOOZOOZcompilerZparser_u82)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1, NIM_BOOL maybeMissEquals_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZmsgs_u717)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1);
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, lastSon__OOZOOZOOZcompilerZast_u5240)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0);
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**, X5BX5D___OOZOOZOOZcompilerZast_u5243)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseSection__OOZOOZOOZcompilerZparser_u1454)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyProc__LRXSdCLtxMXbYK9bgoHAfYw defparser_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDef__OOZOOZOOZcompilerZparser_u1602)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseConstant__OOZOOZOOZcompilerZparser_u1656)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseVariable__OOZOOZOOZcompilerZparser_u1641)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
static N_INLINE(void, X5BX5Deq___OOZOOZOOZcompilerZparser_u1648)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* x_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseBind__OOZOOZOOZcompilerZparser_u1668)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ k_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, qualifiedIdent__OOZOOZOOZcompilerZparser_u473)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__OOZOOZOOZcompilerZlexer_u375)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* lex_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3185)(tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZast_u3288)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u174)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZoptions_u1565)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u275)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3555)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_2 = { 1 | NIM_STRLIT_FLAG, "*" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_3 = {1, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_2};
static const struct {
  NI cap; NIM_CHAR data[73+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_4 = { 73 | NIM_STRLIT_FLAG, "invalid indentation; an export marker \'*\' follows the declared identifier" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_5 = {73, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_4};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_6 = { 19 | NIM_STRLIT_FLAG, "invalid indentation" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_7 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_8 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_9 = { 11 | NIM_STRLIT_FLAG, "skipComment" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_10 = {11, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_9};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_11 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_12 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_13 = { 33 | NIM_STRLIT_FLAG, "identifier expected, but got \'$1\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_14 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static NIM_CONST tySet_tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ TM__MW5RrD2zyVLHF67ojsDu8Q_15 = {
0xec, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[62+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_16 = { 62 | NIM_STRLIT_FLAG, "field \'sons\' is not accessible for type \'TNode\' using \'kind = " };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_17 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_18 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_19 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_20 = {0, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_19};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_21 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_22 = { 11 | NIM_STRLIT_FLAG, "expected: \'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_23 = {11, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_22};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_24 = { 13 | NIM_STRLIT_FLAG, "\', but got: \'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_25 = {13, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_24};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_26 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_27 = {1, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_26};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_28 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_29 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_30 = { 35 | NIM_STRLIT_FLAG, "expression expected, but found \'$1\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_31 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_32 = { 39 | NIM_STRLIT_FLAG, "nestable statement requires indentation" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_33 = {39, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_32};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_34 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_35 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const struct {
  NI cap; NIM_CHAR data[79+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_36 = { 79 | NIM_STRLIT_FLAG, "parser.nim(493, 9) `endTok in {tkCurlyRi, tkCurlyDotRi, tkBracketRi, tkParRi}` " };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_37 = {79, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_36};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_38 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_40 = { 13 | NIM_STRLIT_FLAG, "expected \'.}\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_41 = {13, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_40};
static NIM_CONST tySet_tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g TM__MW5RrD2zyVLHF67ojsDu8Q_43 = {
0x30, 0x00, 0x08, 0x20, 0x32, 0x68, 0x03, 0x03,
0x08, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00}
;
static NIM_CONST tySet_tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g TM__MW5RrD2zyVLHF67ojsDu8Q_44 = {
0x0c, 0x08, 0x00, 0x00, 0x00, 0x10, 0x04, 0x44,
0xe0, 0xff, 0xff, 0x57, 0x00, 0x00, 0x01}
;
static NIM_CONST tySet_tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g TM__MW5RrD2zyVLHF67ojsDu8Q_46 = {
0x00, 0x25, 0x03, 0x9a, 0x84, 0x04, 0x00, 0x10,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_48 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_50 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_51 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_52 = { 20 | NIM_STRLIT_FLAG, "nimPreviewDotLikeOps" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_53 = {20, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_52};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_54 = { 76 | NIM_STRLIT_FLAG, "dot-like operators will be parsed differently with `-d:nimPreviewDotLikeOps`" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_55 = {76, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_54};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_56 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const struct {
  NI cap; NIM_CHAR data[95+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_57 = { 95 | NIM_STRLIT_FLAG, "func keyword is not allowed in type descriptions, use proc with {.noSideEffect.} pragma instead" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_58 = {95, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_57};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_60 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[60+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_61 = { 60 | NIM_STRLIT_FLAG, "the syntax for tuple types is \'tuple[...]\', not \'tuple(...)\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_62 = {60, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_61};
static const struct {
  NI cap; NIM_CHAR data[54+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_63 = { 54 | NIM_STRLIT_FLAG, "the \'concept\' keyword is only valid in \'type\' sections" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_64 = {54, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_63};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_65 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_66 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_67 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_68 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_69 = { 43 | NIM_STRLIT_FLAG, "ast.nim(2148, 3) `n.kind == nkTypeClassTy` " };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_70 = {43, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_69};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_71 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_72 = { 76 | NIM_STRLIT_FLAG, "routine expected, but found \'$1\' (empty new-styled concepts are not allowed)" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_73 = {76, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_72};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_74 = { 4 | NIM_STRLIT_FLAG, "with" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_75 = {4, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_74};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_76 = { 7 | NIM_STRLIT_FLAG, "without" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_77 = {7, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_76};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_78 = { 33 | NIM_STRLIT_FLAG, "\':\' or \'=\' expected, but got \'$1\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_79 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_78};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_80 = { 56 | NIM_STRLIT_FLAG, "the syntax is \'parameter: var T\', not \'var parameter: T\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_81 = {56, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_80};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_82 = {1, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_26};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_83 = { 53 | NIM_STRLIT_FLAG, "\' is a keyword and cannot be used as a parameter name" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_84 = {53, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_83};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_85 = { 20 | NIM_STRLIT_FLAG, "expected closing \')\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_86 = {20, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_85};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_87 = { 2 | NIM_STRLIT_FLAG, "->" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_88 = {2, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_87};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_89 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_90 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_91 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_92 = { 12 | NIM_STRLIT_FLAG, "expected \':\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_93 = {12, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_92};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_95 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_96 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_97 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_98 = { 17 | NIM_STRLIT_FLAG, "expected \'except\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_99 = {17, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_98};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_100 = { 42 | NIM_STRLIT_FLAG, "the \'asm\' statement takes a string literal" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_101 = {42, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_100};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_102 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_103 = {2, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_102};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_104 = { 3 | NIM_STRLIT_FLAG, "out" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_105 = {3, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_104};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_106 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_108 = { 51 | NIM_STRLIT_FLAG, "invalid indentation, maybe you forgot a \'=\' at $1 \?" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_109 = {51, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_108};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_110 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_112 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_113 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_114 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_115 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_116 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_117 = {0, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_19};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_118 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_119 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_120 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_122 = {62, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_123 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_30};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__OOZOOZOOZcompilerZparser_u39)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*p_p0).lineNumberPrevious = (*p_p0).lex.Sup.lineNumber;
	(*p_p0).lineStartPrevious = (*p_p0).lex.Sup.lineStart;
	(*p_p0).bufposPrevious = (*p_p0).lex.Sup.bufpos;
	T1_ = (tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA*)0;
	T1_ = (&(*p_p0).lex);
	rawGetTok__OOZOOZOOZcompilerZlexer_u1880(T1_, (&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p_p0).hasProgress = NIM_TRUE;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__OOZOOZOOZcompilerZparser_u119)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputStream_p2, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p3, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p4) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	reset__OOZOOZOOZcompilerZlexer_u1884((&(*p_p0).tok));
	openLexer__OOZOOZOOZcompilerZlexer_u255((&(*p_p0).lex), fileIdx_p1, inputStream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p_p0).firstTok = NIM_TRUE;
	T1_ = NIM_NIL;
	T1_ = newNode__OOZOOZOOZcompilerZast_u4112(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T1_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZast_u3279(&(*p_p0).emptyNode, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__OOZOOZOOZcompilerZparser_u128)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NimStringV2 filename_p1, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputStream_p2, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p3, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p4) {
	NI32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__OOZOOZOOZcompilerZmsgs_u401(config_p4, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	openParser__OOZOOZOOZcompilerZparser_u119(p_p0, T1_, inputStream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2188)(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_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, getLineInfo__OOZOOZOOZcompilerZlexer_u197)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA));
	result = newLineInfo__OOZOOZOOZcompilerZmsgs_u416((*L_p0).fileIdx, (*tok_p1).line, (*tok_p1).col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, parLineInfo__OOZOOZOOZcompilerZparser_u70)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA));
	result = getLineInfo__OOZOOZOOZcompilerZlexer_u197((&(*p_p0).lex), (&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newNodeP__OOZOOZOOZcompilerZparser_u48)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__OOZOOZOOZcompilerZparser_u70(p_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newNode__OOZOOZOOZcompilerZast_u4141(kind_p0, T1_);
	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_u1763)(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_u1763(((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(void, parMessage__OOZOOZOOZcompilerZparser_u41)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NimStringV2 arg_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	lexMessageTok__OOZOOZOOZcompilerZlexer_u403((&(*p_p0).lex), msg_p1, (&(*p_p0).tok), arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__OOZOOZOOZcompilerZparser_u144)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NimStringV2 arg_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	lexMessageTok__OOZOOZOOZcompilerZlexer_u403((&(*p_p0).lex), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), (&(*p_p0).tok), arg_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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_u1755)(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_u1755(((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(void, rawSkipComment__OOZOOZOOZcompilerZparser_u162)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA3_;
		{
			NimStringV2 rhs_1;
			NimStringV2 colontmpD_;
			if (!!((node_p1 == ((tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) NIM_NIL)))) goto LA7_;
			rhs_1.len = 0; rhs_1.p = NIM_NIL;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			rhs_1 = comment__OOZOOZOOZcompilerZast_u835(node_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			prepareAdd((&rhs_1), (*p_p0).tok.literal.len + 0);
appendString((&rhs_1), (*p_p0).tok.literal);
			colontmpD_ = rhs_1;
			eqwasMoved___system_u2751((&rhs_1));
			commenteq___OOZOOZOOZcompilerZast_u1333(node_p1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				if (rhs_1.p && !(rhs_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(rhs_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)2), TM__MW5RrD2zyVLHF67ojsDu8Q_10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipComment__OOZOOZOOZcompilerZparser_u45)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.indent < ((NI)0))) goto LA3_;
		rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipInd__OOZOOZOOZcompilerZparser_u75)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA3_;
		{
			if (!!(((*p_p0).currInd < (*p_p0).tok.indent))) goto LA7_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optInd__OOZOOZOOZcompilerZparser_u79)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	skipInd__OOZOOZOOZcompilerZparser_u75(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__OOZOOZOOZcompilerZparser_u193)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA3_;
		parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_12);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newIdentNodeP__OOZOOZOOZcompilerZparser_u63)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident_p0, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__OOZOOZOOZcompilerZparser_u70(p_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__OOZOOZOOZcompilerZast_u4145(ident_p0, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__OOZOOZOOZcompilerZparser_u140)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NimStringV2 msg_p1, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p2) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD_ = prettyTok__OOZOOZOOZcompilerZlexer_u246(tok_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = nsuFormatSingleElem(msg_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	parMessage__OOZOOZOOZcompilerZparser_u41(p_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, len__OOZOOZOOZcompilerZast_u3206)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	NI result;
	NI T1_;
{	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_17, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eat__OOZOOZOOZcompilerZparser_u72)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == tokType_p1)) goto LA3_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T7_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		colontmpD_ = dollar___OOZOOZOOZcompilerZlexer_u139(tokType_p1);
		colontmpD__2 = prettyTok__OOZOOZOOZcompilerZlexer_u246((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD_.len + colontmpD__2.len + 25);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_23);
appendString((&T7_), colontmpD_);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_25);
appendString((&T7_), colontmpD__2);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_27);
		colontmpD__3 = T7_;
		lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*p_p0).lex), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseSymbol__OOZOOZOOZcompilerZparser_u89)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ mode_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
	{
		result = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68):
	{
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3));
			if (T5_) goto LA6_;
			T5_ = (mode_p1 == ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)2));
LA6_: ;
			if (!T5_) goto LA7_;
			result = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA3_;
LA7_: ;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44));
			if (!(T10_)) goto LA11_;
			T10_ = (mode_p1 == ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)1));
LA11_: ;
			if (!T10_) goto LA12_;
			result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)23), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA3_;
LA12_: ;
		{
			parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_14, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
	{
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)53), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
				{
					{
						NI T21_;
						T21_ = (NI)0;
						T21_ = len__OOZOOZOOZcompilerZast_u3206(result);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!!((((NI)0) < T21_))) goto LA22_;
						parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_18, (&(*p_p0).tok));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA22_: ;
					goto LA16;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)101):
				{
					NimStringV2 accm_1;
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_1;
					tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* colontmpD_;
					tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lineinfo_1;
					accm_1.len = 0; accm_1.p = NIM_NIL;
					node_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					lineinfo_1 = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					accm_1 = TM__MW5RrD2zyVLHF67ojsDu8Q_20;
					{
						while (1) {
							NimStringV2 colontmpD__2;
							if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106) || (*p_p0).tok.tokType >= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90) && (*p_p0).tok.tokType <= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)101))) goto LA27;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							colontmpD__2 = dollar___OOZOOZOOZcompilerZlexer_u237((&(*p_p0).tok));
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							prepareAdd((&accm_1), colontmpD__2.len + 0);
appendString((&accm_1), colontmpD__2);
							getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								LA28_:;
							}
							{
								if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						} LA27: ;
					}
					colontmpD_ = getIdent__OOZOOZOOZcompilerZidents_u207((*p_p0).lex.cache, accm_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					node_1 = newAtom__OOZOOZOOZcompilerZast_u4145(colontmpD_, lineinfo_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					add__OOZOOZOOZcompilerZast_u3231(result, node_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					{
						LA25_:;
					}
					{
						oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZidents_u156(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(node_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (accm_1.p && !(accm_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(accm_1.p);
}
						*nimErr_ = oldNimErrFin25_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89):
				{
					NimStringV2 colontmpD__3;
					tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* colontmpD__4;
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__5;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					colontmpD__5 = NIM_NIL;
					colontmpD__3 = dollar___OOZOOZOOZcompilerZlexer_u237((&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					colontmpD__4 = getIdent__OOZOOZOOZcompilerZidents_u207((*p_p0).lex.cache, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					colontmpD__5 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63(colontmpD__4, (&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					{
						LA34_:;
					}
					{
						oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___OOZOOZOOZcompilerZidents_u156(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
						*nimErr_ = oldNimErrFin34_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_21, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA16;
				}
				break;
				}
			}
		} LA16: ;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_28, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, colcom__OOZOOZOOZcompilerZparser_u308)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__OOZOOZOOZcompilerZparser_u1016)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	NIM_BOOL result;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)45):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)11):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)28):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)30):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)7):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)60):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)8):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
	{
		result = NIM_TRUE;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprList__OOZOOZOOZcompilerZparser_u373)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result_p2, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			NIM_BOOL T4_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
			T4_ = (NIM_BOOL)0;
			T4_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T4_)) goto LA5_;
			T4_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)));
LA5_: ;
			if (!T4_) goto LA3;
			a_2 = NIM_NIL;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA9_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA2;
			}
LA9_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			a_2 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			add__OOZOOZOOZcompilerZast_u3231(result_p2, a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, flexComment__OOZOOZOOZcompilerZparser_u180)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* node_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.indent < ((NI)0));
		if (T3_) goto LA4_;
		T3_ = ((*p_p0).currInd < (*p_p0).tok.indent);
LA4_: ;
		if (!T3_) goto LA5_;
		rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optPar__OOZOOZOOZcompilerZparser_u77)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA3_;
		{
			if (!((*p_p0).tok.indent < (*p_p0).currInd)) goto LA7_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_38);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, equals__OOZOOZOOZcompilerZparser_u341)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA3_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)33), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, colonOrEquals__OOZOOZOOZcompilerZparser_u349)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA3_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)34), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = equals__OOZOOZOOZcompilerZparser_u341(p_p0, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprColonEqExpr__OOZOOZOOZcompilerZparser_u357)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA4_;
		result = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = colonOrEquals__OOZOOZOOZcompilerZparser_u349(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__OOZOOZOOZcompilerZparser_u408)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2) {
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((endTok_p1 == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95) || endTok_p1 == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99) || endTok_p1 == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93) || endTok_p1 == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__MW5RrD2zyVLHF67ojsDu8Q_37);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T7_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			T7_ = (NIM_BOOL)0;
			T7_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T7_)) goto LA8_;
			T7_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)));
LA8_: ;
			if (!T7_) goto LA6;
			a_1 = NIM_NIL;
			a_1 = exprColonEqExpr__OOZOOZOOZcompilerZparser_u357(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			add__OOZOOZOOZcompilerZast_u3231(result_p2, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA12_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA5;
			}
			goto LA10_;
LA12_: ;
			{
				if (!((*result_p2).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)37))) goto LA15_;
				transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result_p2, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			}
			goto LA10_;
LA15_: ;
LA10_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA6: ;
	} LA5: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, endTok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, dotExpr__OOZOOZOOZcompilerZparser_u443)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	info_1 = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)45), info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* x_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* y_1;
		tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T9_;
		tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T10_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)109));
		if (!(T4_)) goto LA5_;
		T4_ = !((((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0)))&7U)))!=0));
LA5_: ;
		if (!T4_) goto LA6_;
		x_1 = NIM_NIL;
		y_1 = NIM_NIL;
		T9_ = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		x_1 = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)42), T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 		{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_34, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto LA8_;
		}
		if (((NI)1) < 0 || ((NI)1) >= (*result)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*result)._kind_6.sons.len-1); goto LA8_;
		}
		add__OOZOOZOOZcompilerZast_u3231(x_1, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		exprList__OOZOOZOOZcompilerZparser_u373(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93), x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T10_ = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		y_1 = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)27), T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		add__OOZOOZOOZcompilerZast_u3231(y_1, x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 		{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_35, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto LA8_;
		}
		if (((NI)0) < 0 || ((NI)0) >= (*result)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*result)._kind_6.sons.len-1); goto LA8_;
		}
		add__OOZOOZOOZcompilerZast_u3231(y_1, (*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90));
			if (!(T13_)) goto LA14_;
			T13_ = !((((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0)))&7U)))!=0));
LA14_: ;
			if (!T13_) goto LA15_;
			exprColonEqExprListAux__OOZOOZOOZcompilerZparser_u408(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91), y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA15_: ;
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eqwasMoved___OOZOOZOOZcompilerZast_u3267(&y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identVis__OOZOOZOOZcompilerZparser_u800)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL allowDot_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110))) goto LA4_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)31), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD_ = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107));
		if (!(T10_)) goto LA11_;
		T10_ = allowDot_p1;
LA11_: ;
		if (!T10_) goto LA12_;
		result = dotExpr__OOZOOZOOZcompilerZparser_u443(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA12_: ;
	{
		result = a_1;
		eqwasMoved___OOZOOZOOZcompilerZast_u3267(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePragma__OOZOOZOOZcompilerZparser_u99)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_39;
NIM_BOOL oldNimErrFin3_;
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_42;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)90), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (nimAddInt((*p_p0).inPragma, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_39)) { raiseOverflow(); goto BeforeRet_;
	};
	(*p_p0).inPragma = (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_39);
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)))) goto LA2;
			a_1 = NIM_NIL;
			(*p_p0).hasProgress = NIM_FALSE;
			a_1 = exprColonEqExpr__OOZOOZOOZcompilerZparser_u357(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!((*p_p0).hasProgress)) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102))) goto LA10_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA10_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95))) goto LA16_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA14_;
LA16_: ;
	{
		parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_41);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA14_: ;
	if (nimSubInt((*p_p0).inPragma, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_42)) { raiseOverflow(); goto BeforeRet_;
	};
	(*p_p0).inPragma = (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_42);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identWithPragma__OOZOOZOOZcompilerZparser_u813)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL allowDot_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = identVis__OOZOOZOOZcompilerZparser_u800(p_p0, allowDot_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98))) goto LA4_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD_ = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = a_1;
		eqwasMoved___OOZOOZOOZcompilerZast_u3267(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__OOZOOZOOZcompilerZparser_u37)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NIM_BOOL result;
	result = ((TM__MW5RrD2zyVLHF67ojsDu8Q_43[(NU)(((*tok_p0).tokType))>>3] &(1U<<((NU)(((*tok_p0).tokType))&7U)))!=0);
	return result;
}
static N_INLINE(NIM_BOOL, isSigilLike__OOZOOZOOZcompilerZparser_u265)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110));
	if (!(T1_)) goto LA2_;
	if (((NI)0) < 0 || ((NI)0) >= (*(*tok_p0).ident).s.len){ raiseIndexError2(((NI)0),(*(*tok_p0).ident).s.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(64));
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newStrNodeP__OOZOOZOOZcompilerZparser_u59)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NimStringV2 strVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	NimStringV2 blitTmp_1;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	blitTmp_1 = strVal_p1;
	T1_ = parLineInfo__OOZOOZOOZcompilerZparser_u70(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__OOZOOZOOZcompilerZast_u4159(kind_p0, blitTmp_1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGStrLit__OOZOOZOOZcompilerZparser_u525)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)86):
	{
		NimStringV2 colontmpD_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)28), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		colontmpD_ = eqdup___system_u2757((*p_p0).tok.literal);
		colontmpD__2 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)21), colontmpD_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)87):
	{
		NimStringV2 colontmpD__3;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)28), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = eqdup___system_u2757((*p_p0).tok.literal);
		colontmpD__4 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22), colontmpD__3, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newIntNodeP__OOZOOZOOZcompilerZparser_u51)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NI64 intVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__OOZOOZOOZcompilerZparser_u70(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__OOZOOZOOZcompilerZast_u4149(kind_p0, intVal_p1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__OOZOOZOOZcompilerZparser_u86)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base_p1) {
	switch (base_p1) {
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)0):
	{
	}
	break;
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)1):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)1))) & 31);
	}
	break;
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)2):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)2))) & 31);
	}
	break;
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)3):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)3))) & 31);
	}
	break;
	default: __builtin_unreachable();
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newFloatNodeP__OOZOOZOOZcompilerZparser_u55)(tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p0, NF floatVal_p1, tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__OOZOOZOOZcompilerZparser_u70(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__OOZOOZOOZcompilerZast_u4154(kind_p0, floatVal_p1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprColonEqExprList__OOZOOZOOZcompilerZparser_u438)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	exprColonEqExprListAux__OOZOOZOOZcompilerZparser_u408(p_p0, endTok_p2, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)49), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(result, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21)))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_2;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22))) goto LA12_;
		branch_2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		branch_2 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)50), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__3 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__OOZOOZOOZcompilerZast_u3231(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__OOZOOZOOZcompilerZast_u3231(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA12_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__OOZOOZOOZcompilerZparser_u537)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_47;
	NI oldIndX60gensym43__1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T2_;
NIM_BOOL oldNimErrFin8_;
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_49;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	if (nimAddInt((*p_p0).inSemiStmtList, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_47)) { raiseOverflow(); goto LA1_;
	};
	(*p_p0).inSemiStmtList = (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_47);
	oldIndX60gensym43__1 = (*p_p0).currInd;
	(*p_p0).currInd = (*p_p0).tok.indent;
	T2_ = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
	{
		a_1 = parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)92));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
	{
		a_1 = parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		a_1 = complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	add__OOZOOZOOZcompilerZast_u3231(result_p1, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)))) goto LA7;
			a_2 = NIM_NIL;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103))) goto LA11_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
LA11_: ;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91))) goto LA15_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA6;
			}
LA15_: ;
			a_2 = complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			{
				if (!((*a_2).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA19_;
				parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_48, (&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA17_;
LA19_: ;
			{
				add__OOZOOZOOZcompilerZast_u3231(result_p1, a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
LA17_: ;
			{
				LA8_:;
			}
			{
				oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin8_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA7: ;
	} LA6: ;
	(*p_p0).currInd = oldIndX60gensym43__1;
	if (nimSubInt((*p_p0).inSemiStmtList, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_49)) { raiseOverflow(); goto LA1_;
	};
	(*p_p0).inSemiStmtList = (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_49);
	transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result_p1, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)126));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStmtPragma__OOZOOZOOZcompilerZparser_u97)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p_p0).tok.indent < ((NI)0));
LA4_: ;
		if (!T3_) goto LA5_;
		a_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		a_1 = result;
		eqwasMoved___OOZOOZOOZcompilerZast_u3267(&result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_ = NIM_NIL;
		T8_ = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)91), (*a_1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T8_); goto LA7_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePar__OOZOOZOOZcompilerZparser_u570)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)37), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((TM__MW5RrD2zyVLHF67ojsDu8Q_46[(NU)(((*p_p0).tok.tokType))>>3] &(1U<<((NU)(((*p_p0).tok.tokType))&7U)))!=0)) goto LA3_;
		semiStmtList__OOZOOZOOZcompilerZparser_u537(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103))) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		semiStmtList__OOZOOZOOZcompilerZparser_u537(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98))) goto LA9_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = parseStmtPragma__OOZOOZOOZcompilerZparser_u97(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin11_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA9_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91))) goto LA15_;
		transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA15_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		a_1 = NIM_NIL;
		a_1 = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T23_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA21_;
			T23_ = NIM_NIL;
			T23_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T23_); goto LA18_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, T23_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA21_: ;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* asgn_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA25_;
			asgn_1 = NIM_NIL;
			b_1 = NIM_NIL;
			asgn_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)73), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			b_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__OOZOOZOOZcompilerZast_u3231(asgn_1, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__OOZOOZOOZcompilerZast_u3231(asgn_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__OOZOOZOOZcompilerZast_u3231(result, asgn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103))) goto LA30_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				semiStmtList__OOZOOZOOZcompilerZparser_u537(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			}
LA30_: ;
			{
				LA27_:;
			}
			{
				oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(asgn_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				*nimErr_ = oldNimErrFin27_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA25_: ;
		{
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103))) goto LA35_;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			semiStmtList__OOZOOZOOZcompilerZparser_u537(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA35_: ;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T38_;
			T38_ = NIM_NIL;
			T38_ = colonOrEquals__OOZOOZOOZcompilerZparser_u349(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T38_); goto LA18_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				if (!((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)34))) goto LA41_;
				transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA41_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102))) goto LA45_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				{
					while (1) {
						NIM_BOOL T49_;
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
						T49_ = (NIM_BOOL)0;
						T49_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91)));
						if (!(T49_)) goto LA50_;
						T49_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)));
LA50_: ;
						if (!T49_) goto LA48;
						a_2 = NIM_NIL;
						a_2 = exprColonEqExpr__OOZOOZOOZcompilerZparser_u357(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						add__OOZOOZOOZcompilerZast_u3231(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						{
							if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA54_;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							goto LA47;
						}
LA54_: ;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						{
							LA51_:;
						}
						{
							oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							*nimErr_ = oldNimErrFin51_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
					} LA48: ;
				} LA47: ;
			}
LA45_: ;
		}
LA19_: ;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, setOrTableConstr__OOZOOZOOZcompilerZparser_u480)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)39), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA3_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)54));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)))) goto LA7;
				a_1 = NIM_NIL;
				a_1 = exprColonEqExpr__OOZOOZOOZcompilerZparser_u357(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)34))) goto LA11_;
					transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)54));
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
LA11_: ;
				add__OOZOOZOOZcompilerZast_u3231(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA15_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA6;
				}
LA15_: ;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					LA8_:;
				}
				{
					oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin8_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA7: ;
		} LA6: ;
	}
LA1_: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseCast__OOZOOZOOZcompilerZparser_u500)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)61), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD__3 = exprColonEqExpr__OOZOOZOOZcompilerZparser_u357(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, identOrLiteral__OOZOOZOOZcompilerZparser_u629)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T2_;
		result = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T2_ = NIM_NIL;
		T2_ = parseGStrLit__OOZOOZOOZcompilerZparser_u525(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T2_); goto BeforeRet_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T2_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
	{
		result = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)6), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)7), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)8), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)9), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)10), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)11), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)12), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)13), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)14), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78):
	{
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)15), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79):
	{
		result = newFloatNodeP__OOZOOZOOZcompilerZparser_u55(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)16), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)80):
	{
		result = newFloatNodeP__OOZOOZOOZcompilerZparser_u55(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)17), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81):
	{
		result = newFloatNodeP__OOZOOZOOZcompilerZparser_u55(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)18), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)82):
	{
		result = newFloatNodeP__OOZOOZOOZcompilerZparser_u55(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)19), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__OOZOOZOOZcompilerZparser_u86(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)83):
	{
		NimStringV2 colontmpD_;
		colontmpD_ = eqdup___system_u2757((*p_p0).tok.literal);
		result = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20), colontmpD_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)84):
	{
		NimStringV2 colontmpD__2;
		colontmpD__2 = eqdup___system_u2757((*p_p0).tok.literal);
		result = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)21), colontmpD__2, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)85):
	{
		NimStringV2 colontmpD__3;
		colontmpD__3 = eqdup___system_u2757((*p_p0).tok.literal);
		result = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22), colontmpD__3, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88):
	{
		if (((NI)0) < 0 || ((NI)0) >= (*p_p0).tok.literal.len){ raiseIndexError2(((NI)0),(*p_p0).tok.literal.len-1); goto BeforeRet_;
		}
		result = newIntNodeP__OOZOOZOOZcompilerZparser_u51(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)5), ((NI64) (((NU8)((*p_p0).tok.literal.p->data[((NI)0)])))), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89):
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* str_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* callee_1;
		NimStringV2 colontmpD__4;
		tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* colontmpD__5;
		NI splitPos_1;
		NI TM__MW5RrD2zyVLHF67ojsDu8Q_45;
		NimStringV2 T24_;
		str_1 = NIM_NIL;
		callee_1 = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		splitPos_1 = ((NI) ((*p_p0).tok.iNumber));
		if (nimSubInt(splitPos_1, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_45)) { raiseOverflow(); goto LA23_;
		};
		T24_.len = 0; T24_.p = NIM_NIL;
		T24_ = substr__system_u9096((*p_p0).tok.literal, ((NI)0), (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_45));
		str_1 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)21), T24_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		colontmpD__4 = substr__system_u9109((*p_p0).tok.literal, splitPos_1);
		colontmpD__5 = getIdent__OOZOOZOOZcompilerZidents_u207((*p_p0).lex.cache, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		callee_1 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63(colontmpD__5, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)45), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		add__OOZOOZOOZcompilerZast_u3231(result, str_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		add__OOZOOZOOZcompilerZast_u3231(result, callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZidents_u156(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			eqdestroy___OOZOOZOOZcompilerZast_u3270(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(str_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin23_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
	{
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)23), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90):
	{
		{
			if (!(mode_p1 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1) || mode_p1 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2))) goto LA31_;
			result = exprColonEqExprList__OOZOOZOOZcompilerZparser_u438(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)37), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA29_;
LA31_: ;
		{
			result = parsePar__OOZOOZOOZcompilerZparser_u570(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA29_: ;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94):
	{
		result = setOrTableConstr__OOZOOZOOZcompilerZparser_u480(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92):
	{
		result = exprColonEqExprList__OOZOOZOOZcompilerZparser_u438(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)41), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)11):
	{
		result = parseCast__OOZOOZOOZcompilerZparser_u500(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_50, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, exprEqExpr__OOZOOZOOZcompilerZparser_u365)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA4_;
		result = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = equals__OOZOOZOOZcompilerZparser_u341(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, commandParam__OOZOOZOOZcompilerZparser_u651)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL* isFirstParam_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(mode_p2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1))) goto LA3_;
		result = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!!((*isFirstParam_p1))) goto LA6_;
		result = exprEqExpr__OOZOOZOOZcompilerZparser_u365(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		result = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T13_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T13_); goto BeforeRet_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
LA1_: ;
	(*isFirstParam_p1) = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, commandExpr__OOZOOZOOZcompilerZparser_u665)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* r_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(mode_p2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)3))) goto LA3_;
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, r_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		NIM_BOOL isFirstParam_1;
		colontmpD_ = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, r_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		isFirstParam_1 = NIM_TRUE;
		(*p_p0).hasProgress = NIM_FALSE;
		colontmpD_ = commandParam__OOZOOZOOZcompilerZparser_u651(p_p0, (&isFirstParam_1), mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, namedParams__OOZOOZOOZcompilerZparser_u644)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* callee_p1, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p2, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p3) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&a_1, callee_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p2, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	exprColonEqExprListAux__OOZOOZOOZcompilerZparser_u408(p_p0, endTok_p3, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__OOZOOZOOZcompilerZparser_u675)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
{	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*tok_p0).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110));
	if (!(T3_)) goto LA4_;
	T3_ = (((NI)1) < (*(*tok_p0).ident).s.len);
LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	if (((NI)0) < 0 || ((NI)0) >= (*(*tok_p0).ident).s.len){ raiseIndexError2(((NI)0),(*(*tok_p0).ident).s.len-1); goto BeforeRet_;
	}
	T2_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(46));
LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	if (((NI)1) < 0 || ((NI)1) >= (*(*tok_p0).ident).s.len){ raiseIndexError2(((NI)1),(*(*tok_p0).ident).s.len-1); goto BeforeRet_;
	}
	T1_ = !(((NU8)((*(*tok_p0).ident).s.p->data[((NI)1)]) == (NU8)(46)));
LA6_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, dotLikeExpr__OOZOOZOOZcompilerZparser_u467)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* opNode_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	opNode_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	info_1 = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)29), info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	opNode_1 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, opNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(opNode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__OOZOOZOOZcompilerZparser_u279)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110) || (*tok_p0).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108));
	if (!(T1_)) goto LA2_;
	T1_ = ((*tok_p0).spacing == 1);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, primarySuffix__OOZOOZOOZcompilerZparser_u682)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* r_p1, NI baseIndent_p2, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p3) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&result, r_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T5_;
			T3_ = (NIM_BOOL)0;
			T3_ = ((*p_p0).tok.indent < ((NI)0));
			if (T3_) goto LA4_;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107));
			if (!(T5_)) goto LA6_;
			T5_ = (baseIndent_p2 <= (*p_p0).tok.indent);
LA6_: ;
			T3_ = T5_;
LA4_: ;
			if (!T3_) goto LA2;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T13_;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T12_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0)))&7U)))!=0)) goto LA10_;
					T12_ = NIM_NIL;
					T12_ = commandExpr__OOZOOZOOZcompilerZparser_u665(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T12_); goto BeforeRet_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&result, T12_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA10_: ;
				T13_ = NIM_NIL;
				T13_ = namedParams__OOZOOZOOZcompilerZparser_u644(p_p0, result, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)27), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T13_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T13_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T16_;
					NI T17_;
					T16_ = (NIM_BOOL)0;
					T17_ = (NI)0;
					T17_ = len__OOZOOZOOZcompilerZast_u3206(result);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T16_ = (((NI)1) < T17_);
					if (!(T16_)) goto LA18_;
					if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 					{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_51, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto BeforeRet_;
					}
					if (((NI)1) < 0 || ((NI)1) >= (*result)._kind_6.sons.len){ raiseIndexError2(((NI)1),(*result)._kind_6.sons.len-1); goto BeforeRet_;
					}
					T16_ = ((*(*result)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)34));
LA18_: ;
					if (!T16_) goto LA19_;
					transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)38));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA19_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T22_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T23_;
				T22_ = NIM_NIL;
				T22_ = dotExpr__OOZOOZOOZcompilerZparser_u443(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T22_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T22_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T23_ = NIM_NIL;
				T23_ = parseGStrLit__OOZOOZOOZcompilerZparser_u525(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T23_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T30_;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T29_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0)))&7U)))!=0)) goto LA27_;
					T29_ = NIM_NIL;
					T29_ = commandExpr__OOZOOZOOZcompilerZparser_u665(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T29_); goto BeforeRet_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&result, T29_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA27_: ;
				T30_ = NIM_NIL;
				T30_ = namedParams__OOZOOZOOZcompilerZparser_u644(p_p0, result, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)42), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T30_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T37_;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T36_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0)))&7U)))!=0)) goto LA34_;
					T36_ = NIM_NIL;
					T36_ = commandExpr__OOZOOZOOZcompilerZparser_u665(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T36_); goto BeforeRet_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&result, T36_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA34_: ;
				T37_ = NIM_NIL;
				T37_ = namedParams__OOZOOZOOZcompilerZparser_u644(p_p0, result, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)40), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T37_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T37_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)11):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
			{
				NIM_BOOL isDotLike2_1;
				isDotLike2_1 = isDotLike__OOZOOZOOZcompilerZparser_u675((&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T41_;
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T45_;
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T46_;
					T41_ = (NIM_BOOL)0;
					T41_ = isDotLike2_1;
					if (!(T41_)) goto LA42_;
					T41_ = isDefined__OOZOOZOOZcompilerZoptions_u953((*p_p0).lex.config, TM__MW5RrD2zyVLHF67ojsDu8Q_53);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA42_: ;
					if (!T41_) goto LA43_;
					T45_ = NIM_NIL;
					T45_ = dotLikeExpr__OOZOOZOOZcompilerZparser_u467(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T45_); goto BeforeRet_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&result, T45_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T46_ = NIM_NIL;
					T46_ = parseGStrLit__OOZOOZOOZcompilerZparser_u525(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T46_); goto BeforeRet_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&result, T46_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA39_;
LA43_: ;
				{
					{
						if (!isDotLike2_1) goto LA50_;
						parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)26), TM__MW5RrD2zyVLHF67ojsDu8Q_55);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA50_: ;
					{
						NIM_BOOL T54_;
						NIM_BOOL T56_;
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T60_;
						T54_ = (NIM_BOOL)0;
						T54_ = ((*p_p0).inPragma == ((NI)0));
						if (!(T54_)) goto LA55_;
						T56_ = (NIM_BOOL)0;
						T56_ = isUnary__OOZOOZOOZcompilerZparser_u279((&(*p_p0).tok));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (T56_) goto LA57_;
						T56_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108)));
LA57_: ;
						T54_ = T56_;
LA55_: ;
						if (!T54_) goto LA58_;
						T60_ = NIM_NIL;
						T60_ = commandExpr__OOZOOZOOZcompilerZparser_u665(p_p0, result, mode_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T60_); goto BeforeRet_;}
						eqsink___OOZOOZOOZcompilerZast_u3279(&result, T60_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA58_: ;
					goto LA1;
				}
LA39_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		} LA2: ;
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, optPragmas__OOZOOZOOZcompilerZparser_u962)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*p_p0).tok.indent < ((NI)0));
		if (T5_) goto LA6_;
		T5_ = ((*p_p0).currInd < (*p_p0).tok.indent);
LA6_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA7_;
		result = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, replaceSon__OOZOOZOOZcompilerZast_u5306)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, NI i_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* newson_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_56, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	if (i_p1 < 0 || i_p1 >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(i_p1,(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
	}
	eqcopy___OOZOOZOOZcompilerZast_u3273(&(*n_p0)._kind_6.sons.p->data[i_p1], newson_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseProcExpr__OOZOOZOOZcompilerZparser_u987)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL isExpr_p1, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* params_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragmas_1;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
	NIM_BOOL hasSignature_1;
	NIM_BOOL T2_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	params_1 = NIM_NIL;
	pragmas_1 = NIM_NIL;
	info_1 = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104));
	if (!(T2_)) goto LA3_;
	T2_ = ((*p_p0).tok.indent < ((NI)0));
LA3_: ;
	hasSignature_1 = T2_;
	params_1 = parseParamList__OOZOOZOOZcompilerZparser_u262(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragmas_1 = optPragmas__OOZOOZOOZcompilerZparser_u962(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T6_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106));
		if (!(T6_)) goto LA7_;
		T6_ = isExpr_p1;
LA7_: ;
		if (!T6_) goto LA8_;
		colontmpD_ = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		result = newProcNode__OOZOOZOOZcompilerZast_u5462(kind_p2, info_1, (*p_p0).emptyNode, params_1, (*p_p0).emptyNode, (*p_p0).emptyNode, (*p_p0).emptyNode, pragmas_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		replaceSon__OOZOOZOOZcompilerZast_u5306(result, ((NI)6), colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA4_;
LA8_: ;
	{
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__2;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__3;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ T14_;
		colontmpD__2 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		colontmpD__3 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		T14_ = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		{
			if (!(kind_p2 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)84))) goto LA17_;
			colontmpD__2 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)148);
			T14_ = colontmpD__2;
		}
		goto LA15_;
LA17_: ;
		{
			colontmpD__3 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)147);
			T14_ = colontmpD__3;
		}
LA15_: ;
		result = newNode__OOZOOZOOZcompilerZast_u4141(T14_, info_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T22_;
			T22_ = (NIM_BOOL)0;
			T22_ = hasSignature_1;
			if (T22_) goto LA23_;
			T22_ = !(((*pragmas_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)));
LA23_: ;
			if (!T22_) goto LA24_;
			{
				if (!hasSignature_1) goto LA28_;
				add__OOZOOZOOZcompilerZast_u3231(result, params_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA26_;
LA28_: ;
			{
				add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA26_: ;
			{
				if (!(kind_p2 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)159))) goto LA33_;
				parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_58);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA33_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, pragmas_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA24_: ;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(pragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, primary__OOZOOZOOZcompilerZparser_u108)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		NIM_BOOL isSigil_1;
		T3_ = (NIM_BOOL)0;
		T3_ = isOperator__OOZOOZOOZcompilerZparser_u37((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		a_1 = NIM_NIL;
		isSigil_1 = isSigilLike__OOZOOZOOZcompilerZparser_u265((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)30), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		a_1 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T9_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			NI baseInd_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T14_;
			T9_ = (NIM_BOOL)0;
			T9_ = isSigil_1;
			if (!(T9_)) goto LA10_;
			T9_ = ((TM__MW5RrD2zyVLHF67ojsDu8Q_44[(NU)(((*p_p0).tok.tokType))>>3] &(1U<<((NU)(((*p_p0).tok.tokType))&7U)))!=0);
LA10_: ;
			if (!T9_) goto LA11_;
			colontmpD_ = NIM_NIL;
			baseInd_1 = (*p_p0).lex.currLineIndent;
			colontmpD_ = identOrLiteral__OOZOOZOOZcompilerZparser_u629(p_p0, mode_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			T14_ = NIM_NIL;
			T14_ = primarySuffix__OOZOOZOOZcompilerZparser_u682(p_p0, result, baseInd_1, mode_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T14_); goto LA13_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA11_: ;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = primary__OOZOOZOOZcompilerZparser_u108(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				LA18_:;
			}
			{
				oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin18_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA7_: ;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
	{
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1))), ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)51));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)30):
	{
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1))), ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)159));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
	{
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1))), ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)84));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)7):
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)55), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		colontmpD__3 = primary__OOZOOZOOZcompilerZparser_u108(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin27_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)12):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)18):
	{
		result = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NI baseInd_2;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T32_;
		baseInd_2 = (*p_p0).lex.currLineIndent;
		result = identOrLiteral__OOZOOZOOZcompilerZparser_u629(p_p0, mode_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T32_ = NIM_NIL;
		T32_ = primarySuffix__OOZOOZOOZcompilerZparser_u682(p_p0, result, baseInd_2, mode_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T32_); goto BeforeRet_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T32_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, checkBinary__OOZOOZOOZcompilerZparser_u291)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110))) goto LA3_;
		{
			NimStringV2 colontmpD_;
			if (!((*p_p0).tok.spacing == 2)) goto LA7_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD_ = prettyTok__OOZOOZOOZcompilerZlexer_u246((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			parMessage__OOZOOZOOZcompilerZparser_u41(p_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)60), colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isRightAssociative__OOZOOZOOZcompilerZparser_u272)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110));
	if (!(T1_)) goto LA2_;
	if (((NI)0) < 0 || ((NI)0) >= (*(*tok_p0).ident).s.len){ raiseIndexError2(((NI)0),(*(*tok_p0).ident).s.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(94));
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseOperators__OOZOOZOOZcompilerZparser_u713)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* headNode_p1, NI limit_p2, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p3) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w colontmpD_;
	tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w colontmpD__2;
	NI opPrec_1;
	tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w modeB_1;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = (tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0;
	colontmpD__2 = (tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&result, headNode_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	opPrec_1 = getPrecedence__OOZOOZOOZcompilerZlexer_u1651((&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(mode_p3 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2))) goto LA3_;
		colontmpD_ = ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1);
		modeB_1 = colontmpD_;
	}
	goto LA1_;
LA3_: ;
	{
		colontmpD__2 = mode_p3;
		modeB_1 = colontmpD__2;
	}
LA1_: ;
	{
		while (1) {
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			NIM_BOOL T12_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* opNode_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
			NI leftAssoc_1;
			NIM_BOOL T14_;
			NI TM__MW5RrD2zyVLHF67ojsDu8Q_59;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = (limit_p2 <= opPrec_1);
			if (!(T9_)) goto LA10_;
			T9_ = ((*p_p0).tok.indent < ((NI)0));
LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T12_ = (NIM_BOOL)0;
			T12_ = isUnary__OOZOOZOOZcompilerZparser_u279((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T8_ = !(T12_);
LA11_: ;
			if (!T8_) goto LA7;
			a_1 = NIM_NIL;
			opNode_1 = NIM_NIL;
			b_1 = NIM_NIL;
			checkBinary__OOZOOZOOZcompilerZparser_u291((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			T14_ = (NIM_BOOL)0;
			T14_ = isRightAssociative__OOZOOZOOZcompilerZparser_u272((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			leftAssoc_1 = !(T14_);
			a_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)29), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			opNode_1 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			if (nimAddInt(opPrec_1, leftAssoc_1, &TM__MW5RrD2zyVLHF67ojsDu8Q_59)) { raiseOverflow(); goto LA13_;
			};
			b_1 = simpleExprAux__OOZOOZOOZcompilerZparser_u111(p_p0, (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_59), modeB_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__OOZOOZOOZcompilerZast_u3231(a_1, opNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__OOZOOZOOZcompilerZast_u3231(a_1, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__OOZOOZOOZcompilerZast_u3231(a_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			eqwasMoved___OOZOOZOOZcompilerZast_u3267(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			opPrec_1 = getPrecedence__OOZOOZOOZcompilerZlexer_u1651((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(opNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA7: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleExprAux__OOZOOZOOZcompilerZparser_u111)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NI limit_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_2;
NIM_BOOL oldNimErrFin15_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	mode_2 = mode_p2;
	result = primary__OOZOOZOOZcompilerZparser_u108(p_p0, mode_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(mode_2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)3))) goto LA3_;
		mode_2 = ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragmaExp_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98));
		if (!(T8_)) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*p_p0).tok.indent < ((NI)0));
		if (T10_) goto LA11_;
		T10_ = ((*p_p0).currInd < (*p_p0).tok.indent);
LA11_: ;
		T8_ = T10_;
LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA12_;
		T7_ = (mode_2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
LA12_: ;
		if (!T7_) goto LA13_;
		pragmaExp_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		pragmaExp_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		add__OOZOOZOOZcompilerZast_u3231(pragmaExp_1, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD_ = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		add__OOZOOZOOZcompilerZast_u3231(pragmaExp_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, pragmaExp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		eqwasMoved___OOZOOZOOZcompilerZast_u3267(&pragmaExp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(pragmaExp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	T18_ = NIM_NIL;
	T18_ = parseOperators__OOZOOZOOZcompilerZparser_u713(p_p0, result, limit_p1, mode_2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T18_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZast_u3279(&result, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleExpr__OOZOOZOOZcompilerZparser_u531)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = simpleExprAux__OOZOOZOOZcompilerZparser_u111(p_p0, ((NI)-1), mode_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTuple__OOZOOZOOZcompilerZparser_u868)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL indentAllowed_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)134), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92))) goto LA3_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
				tySet_tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw T8_;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112))) goto LA6;
				a_1 = NIM_NIL;
				T8_ = 0;
				a_1 = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, T8_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				add__OOZOOZOOZcompilerZast_u3231(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103)))) goto LA11_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA11_: ;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					LA7_:;
				}
				{
					oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin7_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA6: ;
		} LA5: ;
		optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!indentAllowed_p1) goto LA16_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI oldIndX60gensym78__1;
			if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA20_;
			oldIndX60gensym78__1 = (*p_p0).currInd;
			(*p_p0).currInd = (*p_p0).tok.indent;
			rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					switch ((*p_p0).tok.tokType) {
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
					{
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
						tySet_tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw T26_;
						a_2 = NIM_NIL;
						T26_ = 0;
						a_2 = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, T26_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						{
							NIM_BOOL T29_;
							T29_ = (NIM_BOOL)0;
							T29_ = ((*p_p0).tok.indent < ((NI)0));
							if (T29_) goto LA30_;
							T29_ = ((*p_p0).currInd <= (*p_p0).tok.indent);
LA30_: ;
							if (!T29_) goto LA31_;
							rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						}
LA31_: ;
						add__OOZOOZOOZcompilerZast_u3231(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						{
							LA25_:;
						}
						{
							oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin25_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1):
					{
						goto LA22;
					}
					break;
					default:
					{
						parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_60, (&(*p_p0).tok));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA22;
					}
					break;
					}
					{
						if (!!(((*p_p0).tok.indent == (*p_p0).currInd))) goto LA39_;
						goto LA22;
					}
LA39_: ;
				}
			} LA22: ;
			(*p_p0).currInd = oldIndX60gensym78__1;
		}
LA20_: ;
	}
	goto LA1_;
LA16_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA42_;
		parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__MW5RrD2zyVLHF67ojsDu8Q_62);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA42_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T45_;
		T45_ = NIM_NIL;
		T45_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)135), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T45_); goto BeforeRet_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T45_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseEnum__OOZOOZOOZcompilerZparser_u1082)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)150), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* symPragma_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragma_1;
			a_1 = NIM_NIL;
			symPragma_1 = NIM_NIL;
			pragma_1 = NIM_NIL;
			a_1 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA6_: ;
			eqcopy___OOZOOZOOZcompilerZast_u3273(&symPragma_1, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			pragma_1 = 0;
			{
				NIM_BOOL T10_;
				NIM_BOOL T11_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T16_;
				T10_ = (NIM_BOOL)0;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*p_p0).tok.indent < ((NI)0));
				if (T11_) goto LA12_;
				T11_ = ((*p_p0).currInd <= (*p_p0).tok.indent);
LA12_: ;
				T10_ = T11_;
				if (!(T10_)) goto LA13_;
				T10_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98));
LA13_: ;
				if (!T10_) goto LA14_;
				pragma_1 = optPragmas__OOZOOZOOZcompilerZparser_u962(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				T16_ = NIM_NIL;
				T16_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)43), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T16_); goto LA3_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&symPragma_1, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__OOZOOZOOZcompilerZast_u3231(symPragma_1, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__OOZOOZOOZcompilerZast_u3231(symPragma_1, pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA14_: ;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = (((NI)0) <= (*p_p0).tok.indent);
				if (!(T19_)) goto LA20_;
				T19_ = ((*p_p0).tok.indent <= (*p_p0).currInd);
LA20_: ;
				if (!T19_) goto LA21_;
				add__OOZOOZOOZcompilerZast_u3231(result, symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA21_: ;
			{
				NIM_BOOL T25_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T30_;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106));
				if (!(T25_)) goto LA26_;
				T25_ = ((*p_p0).tok.indent < ((NI)0));
LA26_: ;
				if (!T25_) goto LA27_;
				b_1 = NIM_NIL;
				colontmpD_ = NIM_NIL;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				optInd__OOZOOZOOZcompilerZparser_u79(p_p0, symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				b_1 = symPragma_1;
				eqwasMoved___OOZOOZOOZcompilerZast_u3267(&symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				T30_ = NIM_NIL;
				T30_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)151), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T30_); goto LA29_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&symPragma_1, T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				add__OOZOOZOOZcompilerZast_u3231(symPragma_1, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				add__OOZOOZOOZcompilerZast_u3231(symPragma_1, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				{
					NIM_BOOL T33_;
					T33_ = (NIM_BOOL)0;
					T33_ = ((*p_p0).tok.indent < ((NI)0));
					if (T33_) goto LA34_;
					T33_ = ((*p_p0).currInd <= (*p_p0).tok.indent);
LA34_: ;
					if (!T33_) goto LA35_;
					rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, symPragma_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				}
LA35_: ;
				{
					LA29_:;
				}
				{
					oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					*nimErr_ = oldNimErrFin29_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA27_: ;
			{
				NIM_BOOL T41_;
				T41_ = (NIM_BOOL)0;
				T41_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102));
				if (!(T41_)) goto LA42_;
				T41_ = ((*p_p0).tok.indent < ((NI)0));
LA42_: ;
				if (!T41_) goto LA43_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
			goto LA39_;
LA43_: ;
			{
				{
					NIM_BOOL T48_;
					T48_ = (NIM_BOOL)0;
					T48_ = ((*p_p0).tok.indent < ((NI)0));
					if (T48_) goto LA49_;
					T48_ = ((*p_p0).currInd <= (*p_p0).tok.indent);
LA49_: ;
					if (!T48_) goto LA50_;
					rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, symPragma_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				}
LA50_: ;
			}
LA39_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, symPragma_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				NIM_BOOL T54_;
				NIM_BOOL T55_;
				T54_ = (NIM_BOOL)0;
				T55_ = (NIM_BOOL)0;
				T55_ = (((NI)0) <= (*p_p0).tok.indent);
				if (!(T55_)) goto LA56_;
				T55_ = ((*p_p0).tok.indent <= (*p_p0).currInd);
LA56_: ;
				T54_ = T55_;
				if (T54_) goto LA57_;
				T54_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1));
LA57_: ;
				if (!T54_) goto LA58_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA58_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	{
		NI T64_;
		T64_ = (NI)0;
		T64_ = len__OOZOOZOOZcompilerZast_u3206(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((((NI)1) < T64_))) goto LA65_;
		parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_65, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA65_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectWhen__OOZOOZOOZcompilerZparser_u1502)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)140), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)86), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseObjectPart__OOZOOZOOZcompilerZparser_u1500(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(result, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21)))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	{
		NIM_BOOL T12_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_2;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22));
		if (!(T12_)) goto LA13_;
		T12_ = ((*p_p0).tok.indent == (*p_p0).currInd);
LA13_: ;
		if (!T12_) goto LA14_;
		branch_2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		branch_2 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		colontmpD__3 = parseObjectPart__OOZOOZOOZcompilerZparser_u1500(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		add__OOZOOZOOZcompilerZast_u3231(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		add__OOZOOZOOZcompilerZast_u3231(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		{
			LA16_:;
		}
		{
			oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin16_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA14_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectCase__OOZOOZOOZcompilerZparser_u1515)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin19_;
	NIM_BOOL wasIndented_1;
	NI oldInd_1;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)139), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48)))) goto LA4_;
		{
			if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA8_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_67);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA8_: ;
	}
LA4_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112))) goto LA12_;
		a_1 = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA12_: ;
	{
		a_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)35), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* prag_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98))) goto LA17_;
			prag_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			prag_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)43), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__OOZOOZOOZcompilerZast_u3231(prag_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			colontmpD_ = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__OOZOOZOOZcompilerZast_u3231(prag_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__OOZOOZOOZcompilerZast_u3231(a_1, prag_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(prag_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA15_;
LA17_: ;
		{
			add__OOZOOZOOZcompilerZast_u3231(a_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA15_: ;
		add__OOZOOZOOZcompilerZast_u3231(a_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__OOZOOZOOZcompilerZast_u3231(a_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	add__OOZOOZOOZcompilerZast_u3231(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA25_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	flexComment__OOZOOZOOZcompilerZparser_u180(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	wasIndented_1 = NIM_FALSE;
	oldInd_1 = (*p_p0).currInd;
	{
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA29_;
		(*p_p0).currInd = (*p_p0).tok.indent;
		wasIndented_1 = NIM_TRUE;
	}
LA29_: ;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* fields_1;
			if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA32;
			b_1 = NIM_NIL;
			fields_1 = NIM_NIL;
			b_1 = 0;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48):
			{
				b_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)85), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				exprList__OOZOOZOOZcompilerZparser_u373(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22):
			{
				b_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			break;
			default:
			{
				eqdestroy___OOZOOZOOZcompilerZast_u3270(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA31;
			}
			break;
			}
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			fields_1 = parseObjectPart__OOZOOZOOZcompilerZparser_u1500(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T41_;
				if (!((*fields_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA39_;
				parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_68, (&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				T41_ = NIM_NIL;
				T41_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)23), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T41_); goto LA33_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&fields_1, T41_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
LA39_: ;
			add__OOZOOZOOZcompilerZast_u3231(b_1, fields_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			add__OOZOOZOOZcompilerZast_u3231(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				if (!((*b_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88))) goto LA44_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA31;
			}
LA44_: ;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin33_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA32: ;
	} LA31: ;
	{
		if (!wasIndented_1) goto LA50_;
		(*p_p0).currInd = oldInd_1;
	}
LA50_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObjectPart__OOZOOZOOZcompilerZparser_u1500)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI oldIndX60gensym206__1;
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA3_;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)138), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		oldIndX60gensym206__1 = (*p_p0).currInd;
		(*p_p0).currInd = (*p_p0).tok.indent;
		rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA6;
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)17):
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
					colontmpD_ = NIM_NIL;
					colontmpD_ = parseObjectPart__OOZOOZOOZcompilerZparser_u1500(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					{
						LA8_:;
					}
					{
						oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin8_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_66, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
				break;
				}
			} LA6: ;
		} LA5: ;
		(*p_p0).currInd = oldIndX60gensym206__1;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*p_p0).tok.indent == (*p_p0).currInd);
		if (T13_) goto LA14_;
		T13_ = ((*p_p0).tok.indent < ((NI)0));
LA14_: ;
		if (!T13_) goto LA15_;
		switch ((*p_p0).tok.tokType) {
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
		{
			result = parseObjectWhen__OOZOOZOOZcompilerZparser_u1502(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
		{
			result = parseObjectCase__OOZOOZOOZcompilerZparser_u1515(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
		{
			result = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NIM_BOOL T22_;
				T22_ = (NIM_BOOL)0;
				T22_ = ((*p_p0).tok.indent < ((NI)0));
				if (T22_) goto LA23_;
				T22_ = ((*p_p0).currInd <= (*p_p0).tok.indent);
LA23_: ;
				if (!T22_) goto LA24_;
				rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA24_: ;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)17):
		{
			result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)23), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
	goto LA1_;
LA15_: ;
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseObject__OOZOOZOOZcompilerZparser_u1084)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)133), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p_p0).tok.indent < ((NI)0));
LA4_: ;
		if (!T3_) goto LA5_;
		a_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		a_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)77), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD_ = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(a_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA13_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	{
		if (!!(((*p_p0).currInd < (*p_p0).tok.indent))) goto LA17_;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA15_;
LA17_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseObjectPart__OOZOOZOOZcompilerZparser_u1500(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		{
			LA20_:;
		}
		{
			oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin20_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA15_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeClassParam__OOZOOZOOZcompilerZparser_u1565)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD_;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__2;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__3;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__4;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__5;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__6;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__7;
	tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ modifier_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__2 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__3 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__4 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__5 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__6 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	colontmpD__7 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
	{
		colontmpD_ = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)143);
		modifier_1 = colontmpD_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
	{
		colontmpD__2 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)145);
		modifier_1 = colontmpD__2;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	{
		colontmpD__3 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)142);
		modifier_1 = colontmpD__3;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	{
		colontmpD__4 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)141);
		modifier_1 = colontmpD__4;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
	{
		colontmpD__5 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)137);
		modifier_1 = colontmpD__5;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
	{
		colontmpD__6 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)132);
		modifier_1 = colontmpD__6;
	}
	break;
	default:
	{
		colontmpD__7 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1);
		modifier_1 = colontmpD__7;
	}
	break;
	}
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__8;
		if (!!((modifier_1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)))) goto LA10_;
		colontmpD__8 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(modifier_1, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		colontmpD__8 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA8_;
LA10_: ;
	{
		result = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, validInd__OOZOOZOOZcompilerZparser_u159)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p_p0).tok.indent < ((NI)0));
	if (T1_) goto LA2_;
	T1_ = ((*p_p0).currInd < (*p_p0).tok.indent);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isNewStyleConcept__OOZOOZOOZcompilerZast_u7683)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!!(((*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)136)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__MW5RrD2zyVLHF67ojsDu8Q_70);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_71, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
	}
	result = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeClass__OOZOOZOOZcompilerZparser_u1086)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)136), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA3_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* args_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.indent < ((NI)0))) goto LA7_;
		args_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		args_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)152), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__OOZOOZOOZcompilerZast_u3231(result, args_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD_ = parseTypeClassParam__OOZOOZOOZcompilerZparser_u1565(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__OOZOOZOOZcompilerZast_u3231(args_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102))) goto LA11;
				colontmpD__2 = NIM_NIL;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				colontmpD__2 = parseTypeClassParam__OOZOOZOOZcompilerZparser_u1565(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				add__OOZOOZOOZcompilerZast_u3231(args_1, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				{
					LA12_:;
				}
				{
					oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					*nimErr_ = oldNimErrFin12_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			} LA11: ;
		}
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(args_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA7_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	{
		NIM_BOOL T20_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		T20_ = (NIM_BOOL)0;
		T20_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98));
		if (!(T20_)) goto LA21_;
		T20_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA21_: ;
		if (!T20_) goto LA22_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA18_;
LA22_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA18_: ;
	{
		NIM_BOOL T30_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		T30_ = (NIM_BOOL)0;
		T30_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48));
		if (!(T30_)) goto LA31_;
		T30_ = ((*p_p0).tok.indent < ((NI)0));
LA31_: ;
		if (!T30_) goto LA32_;
		a_1 = NIM_NIL;
		a_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)77), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
				colontmpD__4 = NIM_NIL;
				colontmpD__4 = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				add__OOZOOZOOZcompilerZast_u3231(a_1, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA40_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					goto LA35;
				}
LA40_: ;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					LA37_:;
				}
				{
					oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					*nimErr_ = oldNimErrFin37_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			}
		} LA35: ;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		{
			LA34_:;
		}
		{
			oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin34_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA28_;
LA32_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA28_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA49_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA49_: ;
	{
		if (!!(((*p_p0).currInd < (*p_p0).tok.indent))) goto LA53_;
		{
			NIM_BOOL T57_;
			T57_ = (NIM_BOOL)0;
			T57_ = isNewStyleConcept__OOZOOZOOZcompilerZast_u7683(result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T57_) goto LA58_;
			parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_73, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA58_: ;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA51_;
LA53_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		{
			LA61_:;
		}
		{
			oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin61_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA51_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, binaryNot__OOZOOZOOZcompilerZparser_u1118)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* notOpr_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)45));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p_p0).tok.indent < ((NI)0));
LA4_: ;
		if (!T3_) goto LA5_;
		notOpr_1 = NIM_NIL;
		b_1 = NIM_NIL;
		notOpr_1 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, notOpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		b_1 = primary__OOZOOZOOZcompilerZparser_u108(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)29), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, notOpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(notOpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDefValue__OOZOOZOOZcompilerZparser_u260)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin19_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
	{
		result = parseTuple__OOZOOZOOZcompilerZparser_u868(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	{
		result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)141), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	{
		result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)142), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)18):
	{
		result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)146), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
	{
		result = parseEnum__OOZOOZOOZcompilerZparser_u1082(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
	{
		result = parseObject__OOZOOZOOZcompilerZparser_u1084(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)12):
	{
		result = parseTypeClass__OOZOOZOOZcompilerZparser_u1086(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T22_;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)45)))) goto LA11_;
			{
				NIM_BOOL isFirstParam_1;
				if (!((*result).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26))) goto LA15_;
				isFirstParam_1 = NIM_FALSE;
				{
					while (1) {
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
						if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102))) goto LA18;
						colontmpD_ = NIM_NIL;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						colontmpD_ = commandParam__OOZOOZOOZcompilerZparser_u651(p_p0, (&isFirstParam_1), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						{
							LA19_:;
						}
						{
							oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin19_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA18: ;
				}
			}
LA15_: ;
			T22_ = NIM_NIL;
			T22_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T22_); goto BeforeRet_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
	break;
	}
	T23_ = NIM_NIL;
	T23_ = binaryNot__OOZOOZOOZcompilerZparser_u1118(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T23_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZast_u3279(&result, T23_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__OOZOOZOOZcompilerZparser_u1019)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p1) {
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* s_1;
			s_1 = NIM_NIL;
			s_1 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*s_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__OOZOOZOOZcompilerZast_u3231(result_p1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA10_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA10_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w mode_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	NIM_BOOL isTypedef_1;
	NIM_BOOL T7_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p_p0).tok.indent == ((NI)-1)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p_p0).tok.indent <= (*p_p0).currInd);
LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
LA5_: ;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_ = (NIM_BOOL)0;
	T7_ = (mode_p2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
	if (!(T7_)) goto LA8_;
	T7_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61));
LA8_: ;
	isTypedef_1 = T7_;
	{
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T12_ = isOperator__OOZOOZOOZcompilerZparser_u37((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T11_ = !(T12_);
		if (!(T11_)) goto LA13_;
		T11_ = isExprStart__OOZOOZOOZcompilerZparser_u1016((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
		if (!T11_) goto LA14_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			if (!isTypedef_1) goto LA18_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = parseTypeDefValue__OOZOOZOOZcompilerZparser_u260(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA16_;
LA18_: ;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = primary__OOZOOZOOZcompilerZparser_u108(p_p0, mode_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA16_: ;
	}
LA14_: ;
	{
		NIM_BOOL T29_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* list_1;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ nodeKind_1;
		T29_ = (NIM_BOOL)0;
		T29_ = (kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)146));
		if (!(T29_)) goto LA30_;
		T29_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2));
LA30_: ;
		if (!T29_) goto LA31_;
		list_1 = NIM_NIL;
		nodeKind_1 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		{
			if (!eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_75)) goto LA36_;
			nodeKind_1 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)130);
		}
		goto LA34_;
LA36_: ;
		{
			if (!eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_77)) goto LA39_;
			nodeKind_1 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)131);
		}
		goto LA34_;
LA39_: ;
		{
			eqdestroy___OOZOOZOOZcompilerZast_u3270(list_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA34_: ;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		list_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(nodeKind_1, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		add__OOZOOZOOZcompilerZast_u3231(result, list_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		parseSymbolList__OOZOOZOOZcompilerZparser_u1019(p_p0, list_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		{
			LA33_:;
		}
		{
			oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(list_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin33_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA31_: ;
	{
		NIM_BOOL T46_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T50_;
		T46_ = (NIM_BOOL)0;
		T46_ = (mode_p2 == ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)2));
		if (!(T46_)) goto LA47_;
		T46_ = !(isTypedef_1);
LA47_: ;
		if (!T46_) goto LA48_;
		T50_ = NIM_NIL;
		T50_ = parseOperators__OOZOOZOOZcompilerZparser_u713(p_p0, result, ((NI)-1), mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T50_); goto BeforeRet_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T50_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA48_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDesc__OOZOOZOOZcompilerZparser_u257)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL fullExpr_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!fullExpr_p1) goto LA3_;
		result = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		switch ((*p_p0).tok.tokType) {
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
		{
			result = parseTuple__OOZOOZOOZcompilerZparser_u868(p_p0, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
		{
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, NIM_FALSE, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)51));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
		{
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, NIM_FALSE, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)84));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
		{
			result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)150), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
		{
			result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)133), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)12):
		{
			eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_64);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
		{
			result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)143), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
		{
			result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)145), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
		{
			result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)141), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
		{
			result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)142), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)18):
		{
			result = parseTypeDescKAux__OOZOOZOOZcompilerZparser_u1031(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)146), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			result = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
LA1_: ;
	T18_ = NIM_NIL;
	T18_ = binaryNot__OOZOOZOOZcompilerZparser_u1118(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T18_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZast_u3279(&result, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tySet_tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw flags_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)35), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
			{
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T9_;
					if (!((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw)0)))&7U)))!=0)) goto LA7_;
					T9_ = NIM_NIL;
					T9_ = identWithPragma__OOZOOZOOZcompilerZparser_u813(p_p0, ((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw)2)))&7U)))!=0));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T9_); goto LA1_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T9_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA5_;
LA7_: ;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T11_;
					T11_ = NIM_NIL;
					T11_ = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T11_); goto LA1_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T11_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA5_: ;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA14_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA14_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA19_;
				goto LA2;
			}
LA19_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA23_;
		colontmpD_ = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		colontmpD_ = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		{
			LA25_:;
		}
		{
			oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin25_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA21_;
LA23_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		{
			NIM_BOOL T32_;
			T32_ = (NIM_BOOL)0;
			T32_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106)));
			if (!(T32_)) goto LA33_;
			T32_ = !(((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__GpG9cQN3KIZLpN9cYTPEVLDw)1)))&7U)))!=0));
LA33_: ;
			if (!T32_) goto LA34_;
			parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_79, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		}
LA34_: ;
		{
			LA29_:;
		}
		{
			oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin29_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA40_;
		colontmpD__3 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		colontmpD__3 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		{
			LA42_:;
		}
		{
			oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin42_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA38_;
LA40_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		colontmpD__4 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA38_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__OOZOOZOOZcompilerZparser_u934)(tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA s_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA, dotdot___OOZOOZOOZcompilerZparser_u902)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g a_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g b_p1) {
	tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(void, replaceFirstSon__OOZOOZOOZcompilerZast_u5303)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* newson_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_89, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	if (((NI)0) < 0 || ((NI)0) >= (*n_p0)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*n_p0)._kind_6.sons.len-1); goto BeforeRet_;
	}
	eqcopy___OOZOOZOOZcompilerZast_u3273(&(*n_p0)._kind_6.sons.p->data[((NI)0)], newson_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseParamList__OOZOOZOOZcompilerZparser_u262)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL retColon_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
	NIM_BOOL colontmpD_;
	NIM_BOOL colontmpD__2;
	NIM_BOOL hasParLe_1;
	NIM_BOOL T2_;
	NIM_BOOL hasRet_1;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	colontmpD_ = (NIM_BOOL)0;
	colontmpD__2 = (NIM_BOOL)0;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)76), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90));
	if (!(T2_)) goto LA3_;
	T2_ = ((*p_p0).tok.indent < ((NI)0));
LA3_: ;
	hasParLe_1 = T2_;
	{
		if (!hasParLe_1) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			while (1) {
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T11_;
					T11_ = NIM_NIL;
					T11_ = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, 3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T11_); goto LA1_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T11_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91):
				{
					goto LA8;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
				{
					parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__MW5RrD2zyVLHF67ojsDu8Q_81);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA8;
				}
				break;
				default:
				{
					{
						tyObject_HSlice__u9b2o0iaigyEFm7PL29auorA T17_;
						NIM_BOOL T18_;
						NimStringV2 colontmpD__3;
						NimStringV2 T22_;
						T17_ = dotdot___OOZOOZOOZcompilerZparser_u902(((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68));
						T18_ = (NIM_BOOL)0;
						T18_ = contains__OOZOOZOOZcompilerZparser_u934(T17_, (*p_p0).tok.tokType);
						if (!T18_) goto LA19_;
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						T22_.len = 0; T22_.p = NIM_NIL;
						T22_ = rawNewString((*(*p_p0).tok.ident).s.len + 54);
appendString((&T22_), TM__MW5RrD2zyVLHF67ojsDu8Q_82);
appendString((&T22_), (*(*p_p0).tok.ident).s);
appendString((&T22_), TM__MW5RrD2zyVLHF67ojsDu8Q_84);
						colontmpD__3 = T22_;
						parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						{
							LA21_:;
						}
						{
							if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					goto LA15_;
LA19_: ;
					{
						parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_86);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA15_: ;
					goto LA8;
				}
				break;
				}
				add__OOZOOZOOZcompilerZast_u3231(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103)))) goto LA28_;
					goto LA8;
				}
LA28_: ;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		} LA8: ;
		optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		if (!retColon_p1) goto LA32_;
		colontmpD_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104));
		hasRet_1 = colontmpD_;
	}
	goto LA30_;
LA32_: ;
	{
		NIM_BOOL T35_;
		T35_ = (NIM_BOOL)0;
		T35_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110));
		if (!(T35_)) goto LA36_;
		T35_ = eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_88);
LA36_: ;
		colontmpD__2 = T35_;
		hasRet_1 = colontmpD__2;
	}
LA30_: ;
	{
		NIM_BOOL T39_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
		T39_ = (NIM_BOOL)0;
		T39_ = hasRet_1;
		if (!(T39_)) goto LA40_;
		T39_ = ((*p_p0).tok.indent < ((NI)0));
LA40_: ;
		if (!T39_) goto LA41_;
		colontmpD__4 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		colontmpD__4 = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		replaceFirstSon__OOZOOZOOZcompilerZast_u5303(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			LA43_:;
		}
		{
			oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin43_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA37_;
LA41_: ;
	{
		NIM_BOOL T47_;
		T47_ = (NIM_BOOL)0;
		T47_ = !(retColon_p1);
		if (!(T47_)) goto LA48_;
		T47_ = !(hasParLe_1);
LA48_: ;
		if (!T47_) goto LA49_;
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA37_;
LA49_: ;
LA37_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, makeCall__OOZOOZOOZcompilerZparser_u1148)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)27) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)29) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)30) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)31) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)28) || (*n_p0).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)32))) goto LA3_;
		eqcopy___OOZOOZOOZcompilerZast_u3273(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = newNode__OOZOOZOOZcompilerZast_u4141(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)27), (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseDoBlock__OOZOOZOOZcompilerZparser_u969)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* params_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragmas_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	params_1 = NIM_NIL;
	pragmas_1 = NIM_NIL;
	result = ((tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) NIM_NIL);
	params_1 = parseParamList__OOZOOZOOZcompilerZparser_u262(p_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragmas_1 = optPragmas__OOZOOZOOZcompilerZparser_u962(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T2_); goto LA1_;}
	eqsink___OOZOOZOOZcompilerZast_u3279(&result, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T14_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*params_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)));
		if (T5_) goto LA6_;
		T5_ = !(((*pragmas_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)));
LA6_: ;
		if (!T5_) goto LA7_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T13_;
			if (!((*params_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)76), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T13_); goto LA1_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&params_1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__OOZOOZOOZcompilerZast_u3231(params_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
		T14_ = NIM_NIL;
		T14_ = newProcNode__OOZOOZOOZcompilerZast_u5462(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)52), info_p1, result, params_1, (*p_p0).emptyNode, (*p_p0).emptyNode, (*p_p0).emptyNode, pragmas_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T14_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(pragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(params_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, optionalExprList__OOZOOZOOZcompilerZparser_u391)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g endTok_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			T3_ = (NIM_BOOL)0;
			T3_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T3_)) goto LA4_;
			T3_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1)));
LA4_: ;
			if (!T3_) goto LA2;
			a_1 = NIM_NIL;
			a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			add__OOZOOZOOZcompilerZast_u3231(result_p2, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA8_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA8_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				LA5_:;
			}
			{
				oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin5_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, postExprBlocks__OOZOOZOOZcompilerZparser_u101)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* x_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* openingParams_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* openingPragmas_1;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	openingParams_1 = NIM_NIL;
	openingPragmas_1 = NIM_NIL;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&result, x_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(openingPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(openingParams_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&openingParams_1, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&openingPragmas_1, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T10_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T11_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA8_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = NIM_NIL;
		T10_ = parseParamList__OOZOOZOOZcompilerZparser_u262(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T10_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&openingParams_1, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = NIM_NIL;
		T11_ = optPragmas__OOZOOZOOZcompilerZparser_u962(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T11_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&openingPragmas_1, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T16_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = makeCall__OOZOOZOOZcompilerZparser_u1148(result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T16_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T19_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* stmtList_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			T19_ = (NIM_BOOL)0;
			T19_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)27));
			if (!(T19_)) goto LA20_;
			T19_ = ((*p_p0).tok.indent == (*p_p0).currInd);
LA20_: ;
			if (!!(T19_)) goto LA21_;
			stmtList_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			stmtList_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			add__OOZOOZOOZcompilerZast_u3231(stmtList_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*stmtList_1).kind))>>3] &(1U<<((NU)(((*stmtList_1).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_90, dollar___OOZOOZOOZcompilerZnodekinds_u168((*stmtList_1).kind)); goto LA23_;
				}
				if (((NI)0) < 0 || ((NI)0) >= (*stmtList_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*stmtList_1)._kind_6.sons.len-1); goto LA23_;
				}
				if (!((*(*stmtList_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115))) goto LA26_;
				if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*stmtList_1).kind))>>3] &(1U<<((NU)(((*stmtList_1).kind))&7U)))!=0)) 				{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_91, dollar___OOZOOZOOZcompilerZnodekinds_u168((*stmtList_1).kind)); goto LA23_;
				}
				if (((NI)0) < 0 || ((NI)0) >= (*stmtList_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*stmtList_1)._kind_6.sons.len-1); goto LA23_;
				}
				eqcopy___OOZOOZOOZcompilerZast_u3273(&stmtList_1, (*stmtList_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA26_: ;
			(*stmtList_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)16))) & 31);
			{
				NIM_BOOL T30_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
				T30_ = (NIM_BOOL)0;
				T30_ = !(((*openingParams_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)));
				if (T30_) goto LA31_;
				T30_ = !(((*openingPragmas_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)));
LA31_: ;
				if (!T30_) goto LA32_;
				colontmpD__2 = NIM_NIL;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T38_;
					if (!((*openingParams_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA36_;
					T38_ = NIM_NIL;
					T38_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)76), (&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T38_); goto LA23_;}
					eqsink___OOZOOZOOZcompilerZast_u3279(&openingParams_1, T38_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					add__OOZOOZOOZcompilerZast_u3231(openingParams_1, (*p_p0).emptyNode);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				}
LA36_: ;
				colontmpD__2 = newProcNode__OOZOOZOOZcompilerZast_u5462(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)52), (*stmtList_1).info, stmtList_1, openingParams_1, (*p_p0).emptyNode, (*p_p0).emptyNode, (*p_p0).emptyNode, openingPragmas_1, (*p_p0).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA28_;
LA32_: ;
			{
				add__OOZOOZOOZcompilerZast_u3231(result, stmtList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA28_: ;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(stmtList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* nextBlock_1;
				tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g nextToken_1;
				if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA43;
				nextBlock_1 = NIM_NIL;
				nextBlock_1 = 0;
				nextToken_1 = (*p_p0).tok.tokType;
				{
					tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
					if (!(nextToken_1 == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20))) goto LA47_;
					info_1 = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					nextBlock_1 = parseDoBlock__OOZOOZOOZcompilerZparser_u969(p_p0, info_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				}
				goto LA45_;
LA47_: ;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
					colontmpD__3 = NIM_NIL;
					switch (nextToken_1) {
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48):
					{
						nextBlock_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)85), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						exprList__OOZOOZOOZcompilerZparser_u373(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104), nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21):
					{
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
						colontmpD__4 = NIM_NIL;
						nextBlock_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)86), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						optInd__OOZOOZOOZcompilerZparser_u79(p_p0, nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						colontmpD__4 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						add__OOZOOZOOZcompilerZast_u3231(nextBlock_1, colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						{
							LA53_:;
						}
						{
							oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							*nimErr_ = oldNimErrFin53_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25):
					{
						nextBlock_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)87), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						optionalExprList__OOZOOZOOZcompilerZparser_u391(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104), nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)27):
					{
						nextBlock_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)107), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22):
					{
						nextBlock_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					default:
					{
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA42;
					}
					break;
					}
					eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104));
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					colontmpD__3 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					add__OOZOOZOOZcompilerZast_u3231(nextBlock_1, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					{
						LA50_:;
					}
					{
						oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						*nimErr_ = oldNimErrFin50_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				}
LA45_: ;
				(*nextBlock_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__sglT9bUvYWblEf3C9c5ok1QA)16))) & 31);
				add__OOZOOZOOZcompilerZast_u3231(result, nextBlock_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				{
					if (!((*nextBlock_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88) || (*nextBlock_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)107))) goto LA64_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(nextBlock_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA42;
				}
LA64_: ;
				{
					LA44_:;
				}
				{
					oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(nextBlock_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin44_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA43: ;
		} LA42: ;
	}
	goto LA12_;
LA14_: ;
	{
		{
			if (!!(((*openingParams_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)))) goto LA71_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_93);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA71_: ;
	}
LA12_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(openingPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(openingParams_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA3_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		NIM_BOOL T10_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = (((NI)0) <= (*p_p0).tok.indent);
		if (!(T7_)) goto LA8_;
		T7_ = ((*p_p0).tok.indent <= (*p_p0).currInd);
LA8_: ;
		T6_ = T7_;
		if (T6_) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = isExprStart__OOZOOZOOZcompilerZparser_u1016((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = !(T10_);
LA9_: ;
		if (!T6_) goto LA11_;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA11_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* e_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T15_;
		e_1 = NIM_NIL;
		e_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_ = NIM_NIL;
		T15_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, e_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T15_); goto LA14_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&e_1, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__OOZOOZOOZcompilerZast_u3231(result, e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(e_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin14_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseModuleName__OOZOOZOOZcompilerZparser_u1228)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseImport__OOZOOZOOZcompilerZparser_u1232)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseModuleName__OOZOOZOOZcompilerZparser_u1228(p_p0, kind_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25))) goto LA4_;
		{
			NI TM__MW5RrD2zyVLHF67ojsDu8Q_94;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25))) goto LA8_;
			if (nimAddInt(kind_p1, ((NI)1), &TM__MW5RrD2zyVLHF67ojsDu8Q_94)) { raiseOverflow(); goto LA1_;
			};
			if (TM__MW5RrD2zyVLHF67ojsDu8Q_94 < 0 || TM__MW5RrD2zyVLHF67ojsDu8Q_94 > 165){ raiseOverflow(); goto LA1_;
			}
			if (((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)(TM__MW5RrD2zyVLHF67ojsDu8Q_94)) < ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)24) || ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)(TM__MW5RrD2zyVLHF67ojsDu8Q_94)) > ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160)){ raiseRangeErrorI((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)(TM__MW5RrD2zyVLHF67ojsDu8Q_94), ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)24), ((tyEnum_TNodeKind__o1D4QkVAmexBipsI8vz3fA)160)); goto LA1_;
			}
			transitionSonsKind__OOZOOZOOZcompilerZast_u6807(result, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)(TM__MW5RrD2zyVLHF67ojsDu8Q_94)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA8_: ;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T12_;
				(*p_p0).hasProgress = NIM_FALSE;
				T12_ = NIM_NIL;
				T12_ = parseModuleName__OOZOOZOOZcompilerZparser_u1228(p_p0, kind_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T12_); goto LA1_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = ((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
					if (T15_) goto LA16_;
					T15_ = !((*p_p0).hasProgress);
LA16_: ;
					if (!T15_) goto LA17_;
					goto LA10;
				}
LA17_: ;
				add__OOZOOZOOZcompilerZast_u3231(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA21_;
					goto LA10;
				}
LA21_: ;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		} LA10: ;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseFromStmt__OOZOOZOOZcompilerZparser_u1270)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)120), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseModuleName__OOZOOZOOZcompilerZparser_u1228(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)116));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)32));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T4_;
			(*p_p0).hasProgress = NIM_FALSE;
			T4_ = NIM_NIL;
			T4_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T4_); goto LA1_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T4_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = ((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
				if (T7_) goto LA8_;
				T7_ = !((*p_p0).hasProgress);
LA8_: ;
				if (!T7_) goto LA9_;
				goto LA2;
			}
LA9_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA13_;
				goto LA2;
			}
LA13_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIncludeStmt__OOZOOZOOZcompilerZparser_u1258)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)121), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			a_1 = NIM_NIL;
			(*p_p0).hasProgress = NIM_FALSE;
			a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = ((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
				if (T6_) goto LA7_;
				T6_ = !((*p_p0).hasProgress);
LA7_: ;
				if (!T6_) goto LA8_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA8_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA12_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA12_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, newCommentStmt__OOZOOZOOZcompilerZparser_u1451)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)125), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	commenteq___OOZOOZOOZcompilerZast_u1333(result, (*p_p0).tok.literal);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExprStmt__OOZOOZOOZcompilerZparser_u104)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T7_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA4_;
		b_1 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)73), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		b_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = NIM_NIL;
		T7_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, b_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T7_); goto LA6_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL isFirstParam_1;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T32_;
		isFirstParam_1 = NIM_FALSE;
		{
			NIM_BOOL T13_;
			tyArray__QFyWaUKTSErGDl3hgtGCvA T17_;
			NI baseIndent_1;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*p_p0).tok.indent < ((NI)0));
			if (!(T13_)) goto LA14_;
			T13_ = isExprStart__OOZOOZOOZcompilerZparser_u1016((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA14_: ;
			if (!T13_) goto LA15_;
			nimZeroMem((void*)T17_, sizeof(tyArray__QFyWaUKTSErGDl3hgtGCvA));
			T17_[0] = a_1;
			result = newTree__OOZOOZOOZcompilerZast_u4164(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)26), (*a_1).info, T17_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			baseIndent_1 = (*p_p0).currInd;
			{
				while (1) {
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
					colontmpD_ = NIM_NIL;
					colontmpD_ = commandParam__OOZOOZOOZcompilerZparser_u651(p_p0, (&isFirstParam_1), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					{
						NIM_BOOL T23_;
						NIM_BOOL T25_;
						T23_ = (NIM_BOOL)0;
						T23_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)));
						if (T23_) goto LA24_;
						T25_ = (NIM_BOOL)0;
						T25_ = (((NI)0) <= (*p_p0).tok.indent);
						if (!(T25_)) goto LA26_;
						T25_ = ((*p_p0).tok.indent < baseIndent_1);
LA26_: ;
						T23_ = T25_;
LA24_: ;
						if (!T23_) goto LA27_;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA18;
					}
LA27_: ;
					getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
			} LA18: ;
		}
		goto LA11_;
LA15_: ;
		{
			result = a_1;
			eqwasMoved___OOZOOZOOZcompilerZast_u3267(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
		T32_ = NIM_NIL;
		T32_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T32_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T32_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, simpleStmt__OOZOOZOOZcompilerZparser_u1685)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)55):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)109));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)53):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)108));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)104));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)17):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)114));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)9):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)110));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)14):
	{
		result = parseReturnOrRaise__OOZOOZOOZcompilerZparser_u1282(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)111));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98):
	{
		result = parseStmtPragma__OOZOOZOOZcompilerZparser_u97(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)32):
	{
		result = parseImport__OOZOOZOOZcompilerZparser_u1232(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)116));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)26):
	{
		result = parseImport__OOZOOZOOZcompilerZparser_u1232(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)118));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)29):
	{
		result = parseFromStmt__OOZOOZOOZcompilerZparser_u1270(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)34):
	{
		result = parseIncludeStmt__OOZOOZOOZcompilerZparser_u1258(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111):
	{
		result = newCommentStmt__OOZOOZOOZcompilerZparser_u1451(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = isExprStart__OOZOOZOOZcompilerZparser_u1016((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T16_) goto LA17_;
			result = parseExprStmt__OOZOOZOOZcompilerZparser_u104(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA14_;
LA17_: ;
		{
			eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
	}
	break;
	}
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1) || (*result).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)125)))) goto LA22_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA22_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStmt__OOZOOZOOZcompilerZparser_u255)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI oldIndX60gensym237__1;
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA3_;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		oldIndX60gensym237__1 = (*p_p0).currInd;
		(*p_p0).currInd = (*p_p0).tok.indent;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
				a_1 = NIM_NIL;
				{
					if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA10_;
				}
				goto LA8_;
LA10_: ;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103))) goto LA13_;
					getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					{
						NIM_BOOL T17_;
						T17_ = (NIM_BOOL)0;
						T17_ = ((*p_p0).tok.indent < ((NI)0));
						if (T17_) goto LA18_;
						T17_ = ((*p_p0).tok.indent == (*p_p0).currInd);
LA18_: ;
						if (!T17_) goto LA19_;
					}
					goto LA15_;
LA19_: ;
					{
						eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto LA5;
					}
LA15_: ;
				}
				goto LA8_;
LA13_: ;
				{
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = ((*p_p0).currInd < (*p_p0).tok.indent);
						if (!(T25_)) goto LA26_;
						T25_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107)));
LA26_: ;
						if (!T25_) goto LA27_;
						parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_29);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					}
LA27_: ;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA8_: ;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93))) goto LA31_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA31_: ;
				(*p_p0).hasProgress = NIM_FALSE;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21))) goto LA35_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA35_: ;
				a_1 = complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					NIM_BOOL T39_;
					T39_ = (NIM_BOOL)0;
					T39_ = ((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1));
					if (!(T39_)) goto LA40_;
					T39_ = !((*p_p0).hasProgress);
LA40_: ;
					if (!T39_) goto LA41_;
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_31, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
				goto LA37_;
LA41_: ;
				{
					add__OOZOOZOOZcompilerZast_u3231(result, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				}
LA37_: ;
				{
					NIM_BOOL T46_;
					T46_ = (NIM_BOOL)0;
					T46_ = !((*p_p0).hasProgress);
					if (!(T46_)) goto LA47_;
					T46_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1));
LA47_: ;
					if (!T46_) goto LA48_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA48_: ;
				{
					LA7_:;
				}
				{
					oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin7_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
		} LA5: ;
		(*p_p0).currInd = oldIndX60gensym237__1;
	}
	goto LA1_;
LA3_: ;
	{
		switch ((*p_p0).tok.tokType) {
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)66):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)60):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)28):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)8):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)6):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)30):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)40):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)13):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
		case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
		{
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_33);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			{
				if (!(((NI)0) < (*p_p0).inSemiStmtList)) goto LA57_;
				result = simpleStmt__OOZOOZOOZcompilerZparser_u1685(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*result).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA61_;
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_95, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA61_: ;
			}
			goto LA55_;
LA57_: ;
			{
				result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					while (1) {
						tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
						NIM_BOOL err_1;
						a_2 = NIM_NIL;
						{
							if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA69_;
							parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_96);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						}
LA69_: ;
						(*p_p0).hasProgress = NIM_FALSE;
						a_2 = simpleStmt__OOZOOZOOZcompilerZparser_u1685(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						err_1 = !((*p_p0).hasProgress);
						{
							if (!((*a_2).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA73_;
							parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_97, (&(*p_p0).tok));
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						}
LA73_: ;
						add__OOZOOZOOZcompilerZast_u3231(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						{
							if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103)))) goto LA77_;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA64;
						}
LA77_: ;
						getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						{
							NIM_BOOL T81_;
							T81_ = (NIM_BOOL)0;
							T81_ = err_1;
							if (!(T81_)) goto LA82_;
							T81_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1));
LA82_: ;
							if (!T81_) goto LA83_;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA64;
						}
LA83_: ;
						{
							LA66_:;
						}
						{
							oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin66_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
				} LA64: ;
			}
LA55_: ;
		}
		break;
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseBlock__OOZOOZOOZcompilerZparser_u106)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)112), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTokNoInd__OOZOOZOOZcompilerZparser_u193(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA4_;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseVarTuple__OOZOOZOOZcompilerZparser_u1059)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)36), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA2;
			a_1 = NIM_NIL;
			a_1 = 0;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA6_;
				a_1 = parseVarTuple__OOZOOZOOZcompilerZparser_u1059(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__OOZOOZOOZcompilerZast_u3231(a_1, (*p_p0).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
			goto LA4_;
LA6_: ;
			{
				a_1 = identWithPragma__OOZOOZOOZcompilerZparser_u813(p_p0, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA4_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA11_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA11_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA17_;
		colontmpD_ = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		colontmpD_ = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA15_;
LA17_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA15_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseFor__OOZOOZOOZcompilerZparser_u1061)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	getTokNoInd__OOZOOZOOZcompilerZparser_u193(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)94), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA4_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = parseVarTuple__OOZOOZOOZcompilerZparser_u1059(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
		a_1 = NIM_NIL;
		a_1 = identWithPragma__OOZOOZOOZcompilerZparser_u813(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		add__OOZOOZOOZcompilerZast_u3231(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			while (1) {
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T20_;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102))) goto LA12;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA15_;
					colontmpD__4 = NIM_NIL;
					colontmpD__4 = parseVarTuple__OOZOOZOOZcompilerZparser_u1059(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					goto LA11;
					{
						LA17_:;
					}
					{
						oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						*nimErr_ = oldNimErrFin17_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
LA15_: ;
				T20_ = NIM_NIL;
				T20_ = identWithPragma__OOZOOZOOZcompilerZparser_u813(p_p0, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T20_); goto LA10_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T20_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				add__OOZOOZOOZcompilerZast_u3231(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			} LA12: ;
		} LA11: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseCase__OOZOOZOOZcompilerZparser_u95)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	NIM_BOOL inElif_1;
	NIM_BOOL wasIndented_1;
	NI oldInd_1;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	b_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	inElif_1 = NIM_FALSE;
	wasIndented_1 = NIM_FALSE;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)97), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA4_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldInd_1 = (*p_p0).currInd;
	{
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA8_;
		(*p_p0).currInd = (*p_p0).tok.indent;
		wasIndented_1 = NIM_TRUE;
	}
LA8_: ;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA11;
			colontmpD__2 = NIM_NIL;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T18_;
				{
					if (!inElif_1) goto LA16_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA10;
				}
LA16_: ;
				T18_ = NIM_NIL;
				T18_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)85), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T18_); goto LA12_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T18_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				exprList__OOZOOZOOZcompilerZparser_u373(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T21_;
				colontmpD__3 = NIM_NIL;
				inElif_1 = NIM_TRUE;
				T21_ = NIM_NIL;
				T21_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)86), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T21_); goto LA20_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T21_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				optInd__OOZOOZOOZcompilerZparser_u79(p_p0, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				colontmpD__3 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				add__OOZOOZOOZcompilerZast_u3231(b_1, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				{
					LA20_:;
				}
				{
					oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					*nimErr_ = oldNimErrFin20_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T25_;
				T25_ = NIM_NIL;
				T25_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T25_); goto LA12_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T25_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			default:
			{
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA10;
			}
			break;
			}
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__OOZOOZOOZcompilerZast_u3231(b_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__OOZOOZOOZcompilerZast_u3231(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				if (!((*b_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88))) goto LA29_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA10;
			}
LA29_: ;
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA11: ;
	} LA10: ;
	{
		if (!wasIndented_1) goto LA35_;
		(*p_p0).currInd = oldInd_1;
	}
LA35_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTry__OOZOOZOOZcompilerZparser_u92)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, NIM_BOOL isExpr_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* b_1;
	NI parentIndent_1;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	b_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)106), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	parentIndent_1 = (*p_p0).currInd;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	b_1 = ((tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) NIM_NIL);
	{
		while (1) {
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NIM_BOOL T8_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			T4_ = (NIM_BOOL)0;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*p_p0).tok.indent == (*p_p0).currInd);
			if (T5_) goto LA6_;
			T5_ = ((*p_p0).tok.indent < ((NI)0));
LA6_: ;
			T4_ = T5_;
			if (T4_) goto LA7_;
			T8_ = (NIM_BOOL)0;
			T8_ = isExpr_p1;
			if (!(T8_)) goto LA9_;
			T8_ = (parentIndent_1 <= (*p_p0).tok.indent);
LA9_: ;
			T4_ = T8_;
LA7_: ;
			if (!T4_) goto LA3;
			colontmpD__2 = NIM_NIL;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T12_;
				T12_ = NIM_NIL;
				T12_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)87), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T12_); goto LA10_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				optionalExprList__OOZOOZOOZcompilerZparser_u391(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)27):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T14_;
				T14_ = NIM_NIL;
				T14_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)107), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T14_); goto LA10_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&b_1, T14_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
			break;
			default:
			{
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA2;
			}
			break;
			}
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			add__OOZOOZOOZcompilerZast_u3231(b_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			add__OOZOOZOOZcompilerZast_u3231(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	{
		if (!(b_1 == ((tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*) NIM_NIL))) goto LA20_;
		parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_99);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExpr__OOZOOZOOZcompilerZparser_u253)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)8):
	{
		result = parseBlock__OOZOOZOOZcompilerZparser_u106(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
	{
		result = parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)48));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)28):
	{
		result = parseFor__OOZOOZOOZcompilerZparser_u1061(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
	{
		result = parseIfOrWhenExpr__OOZOOZOOZcompilerZparser_u534(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
	{
		result = parseCase__OOZOOZOOZcompilerZparser_u95(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)60):
	{
		result = parseTry__OOZOOZOOZcompilerZparser_u92(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleExpr__OOZOOZOOZcompilerZparser_u531(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseIfOrWhen__OOZOOZOOZcompilerZparser_u1291)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_1;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)86), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(result, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				NIM_BOOL T6_;
				NIM_BOOL T8_;
				T6_ = (NIM_BOOL)0;
				T6_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21)));
				if (T6_) goto LA7_;
				T8_ = (NIM_BOOL)0;
				T8_ = ((*p_p0).tok.indent == (*p_p0).currInd);
				if (T8_) goto LA9_;
				T8_ = ((*p_p0).tok.indent < ((NI)0));
LA9_: ;
				T6_ = !(T8_);
LA7_: ;
				if (!T6_) goto LA10_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA10_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	{
		NIM_BOOL T16_;
		NIM_BOOL T18_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* branch_2;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		T16_ = (NIM_BOOL)0;
		T16_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22));
		if (!(T16_)) goto LA17_;
		T18_ = (NIM_BOOL)0;
		T18_ = ((*p_p0).tok.indent == (*p_p0).currInd);
		if (T18_) goto LA19_;
		T18_ = ((*p_p0).tok.indent < ((NI)0));
LA19_: ;
		T16_ = T18_;
LA17_: ;
		if (!T16_) goto LA20_;
		branch_2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		branch_2 = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)88), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colcom__OOZOOZOOZcompilerZparser_u308(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__3 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__OOZOOZOOZcompilerZast_u3231(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__OOZOOZOOZcompilerZast_u3231(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(branch_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin22_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA20_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseWhile__OOZOOZOOZcompilerZparser_u1319)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)96), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseExceptBlock__OOZOOZOOZcompilerZparser_u1347)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseStaticOrDefer__OOZOOZOOZcompilerZparser_u1358)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ k_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(k_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__OOZOOZOOZcompilerZparser_u308(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseAsm__OOZOOZOOZcompilerZparser_u1362)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)89), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTokNoInd__OOZOOZOOZcompilerZparser_u193(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)83):
	{
		NimStringV2 colontmpD__2;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = eqdup___system_u2757((*p_p0).tok.literal);
		colontmpD__3 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)20), colontmpD__2, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)84):
	{
		NimStringV2 colontmpD__4;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		colontmpD__4 = eqdup___system_u2757((*p_p0).tok.literal);
		colontmpD__5 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)21), colontmpD__4, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)85):
	{
		NimStringV2 colontmpD__6;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__7;
		colontmpD__7 = NIM_NIL;
		colontmpD__6 = eqdup___system_u2757((*p_p0).tok.literal);
		colontmpD__7 = newStrNodeP__OOZOOZOOZcompilerZparser_u59(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)22), colontmpD__6, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_101);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	}
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parsePattern__OOZOOZOOZcompilerZparser_u1406)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__OOZOOZOOZcompilerZparser_u68)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2)))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = prettyTok__OOZOOZOOZcompilerZlexer_u246((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = nsuFormatSingleElem(TM__MW5RrD2zyVLHF67ojsDu8Q_106, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*p_p0).lex), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGenericParam__OOZOOZOOZcompilerZparser_u1369)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)35), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
			{
				tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* x_1;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__4;
				NimStringV2 T6_;
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T12_;
				x_1 = NIM_NIL;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3 = NIM_NIL;
				colontmpD__4 = NIM_NIL;
				T6_.len = 0; T6_.p = NIM_NIL;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33))) goto LA9_;
					colontmpD_ = TM__MW5RrD2zyVLHF67ojsDu8Q_103;
					T6_ = colontmpD_;
				}
				goto LA7_;
LA9_: ;
				{
					colontmpD__2 = TM__MW5RrD2zyVLHF67ojsDu8Q_105;
					T6_ = colontmpD__2;
				}
LA7_: ;
				x_1 = getIdent__OOZOOZOOZcompilerZidents_u207((*p_p0).lex.cache, T6_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T12_ = NIM_NIL;
				T12_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)30), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T12_); goto LA5_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				colontmpD__3 = newIdentNodeP__OOZOOZOOZcompilerZparser_u63(x_1, (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				add__OOZOOZOOZcompilerZast_u3231(a_1, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				expectIdent__OOZOOZOOZcompilerZparser_u68((&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				colontmpD__4 = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				add__OOZOOZOOZcompilerZast_u3231(a_1, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
					eqdestroy___OOZOOZOOZcompilerZidents_u156(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T16_;
				T16_ = NIM_NIL;
				T16_ = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T16_); goto LA1_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&a_1, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA19_;
					eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA19_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA24_;
				goto LA2;
			}
LA24_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__5;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA28_;
		colontmpD__5 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		colontmpD__5 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA26_;
LA28_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA26_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__6;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA36_;
		colontmpD__6 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		colontmpD__6 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		{
			LA38_:;
		}
		{
			oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin38_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
LA36_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA34_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseGenericParamList__OOZOOZOOZcompilerZparser_u1394)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)75), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50))) goto LA2;
			a_1 = NIM_NIL;
			a_1 = parseGenericParam__OOZOOZOOZcompilerZparser_u1369(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103)))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__OOZOOZOOZcompilerZparser_u77(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__OOZOOZOOZcompilerZparser_u82)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p1, NIM_BOOL maybeMissEquals_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA3_;
		{
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111))) goto LA7_;
			rawSkipComment__OOZOOZOOZcompilerZparser_u162(p_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NI col_1;
			NI TM__MW5RrD2zyVLHF67ojsDu8Q_107;
			tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
			tyArray__YgExxhfgKcesA5EOUj1MOA T13_;
			if (!maybeMissEquals_p2) goto LA10_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			if (nimSubInt((*p_p0).bufposPrevious, (*p_p0).lineStartPrevious, &TM__MW5RrD2zyVLHF67ojsDu8Q_107)) { raiseOverflow(); goto LA12_;
			};
			col_1 = (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_107);
			info_1 = newLineInfo__OOZOOZOOZcompilerZmsgs_u416((*p_p0).lex.fileIdx, (*p_p0).lineNumberPrevious, col_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD_ = dollar___OOZOOZOOZcompilerZmsgs_u717((*p_p0).lex.config, info_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			T13_[0] = colontmpD_;
			colontmpD__2 = nsuFormatOpenArray(TM__MW5RrD2zyVLHF67ojsDu8Q_109, T13_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				LA12_:;
			}
			{
				if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA10_: ;
		{
			parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_110);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**, X5BX5D___OOZOOZOOZcompilerZast_u5243)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** result;
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_111;
{	result = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**)0;
	if (nimSubInt(s_p0Len_0, i_p1, &TM__MW5RrD2zyVLHF67ojsDu8Q_111)) { raiseOverflow(); goto BeforeRet_;
	};
	if ((NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_111) < 0 || (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_111) >= s_p0Len_0){ raiseIndexError2((NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_111),s_p0Len_0-1); goto BeforeRet_;
	}
	result = &s_p0[(NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_111)];
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, lastSon__OOZOOZOOZcompilerZast_u5240)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* n_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*n_p0).kind))>>3] &(1U<<((NU)(((*n_p0).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_112, dollar___OOZOOZOOZcompilerZnodekinds_u168((*n_p0).kind)); goto BeforeRet_;
	}
	T1_ = (tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ**)0;
	T1_ = X5BX5D___OOZOOZOOZcompilerZast_u5243((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseRoutine__OOZOOZOOZcompilerZparser_u1409)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* body_1;
	NimStringV2 colontmpD__3;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin41_;
	NIM_BOOL maybeMissEquals_1;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	body_1 = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__4;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ colontmpD__5;
		tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ T8_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T14_;
		T4_ = (NIM_BOOL)0;
		T4_ = (kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)79) || kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)51) || kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)84) || kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)159));
		if (!(T4_)) goto LA5_;
		T4_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType >= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3) && (*p_p0).tok.tokType <= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112)));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD__4 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		colontmpD__5 = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		T8_ = (tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)0;
		{
			if (!(kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)79))) goto LA11_;
			colontmpD__4 = ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)51);
			T8_ = colontmpD__4;
		}
		goto LA9_;
LA11_: ;
		{
			colontmpD__5 = kind_p1;
			T8_ = colontmpD__5;
		}
LA9_: ;
		T14_ = NIM_NIL;
		T14_ = parseProcExpr__OOZOOZOOZcompilerZparser_u987(p_p0, NIM_TRUE, T8_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T14_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		eqdestroy___OOZOOZOOZcompilerZast_u3270(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	colontmpD_ = identVis__OOZOOZOOZcompilerZparser_u800(p_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T17_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__6;
		T17_ = (NIM_BOOL)0;
		T17_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94));
		if (!(T17_)) goto LA18_;
		T17_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA18_: ;
		if (!T17_) goto LA19_;
		colontmpD__6 = NIM_NIL;
		colontmpD__6 = parsePattern__OOZOOZOOZcompilerZparser_u1406(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA15_;
LA19_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	{
		NIM_BOOL T27_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__7;
		T27_ = (NIM_BOOL)0;
		T27_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92));
		if (!(T27_)) goto LA28_;
		T27_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA28_: ;
		if (!T27_) goto LA29_;
		colontmpD__7 = NIM_NIL;
		colontmpD__7 = parseGenericParamList__OOZOOZOOZcompilerZparser_u1394(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		{
			LA31_:;
		}
		{
			oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin31_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA25_;
LA29_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	colontmpD__2 = parseParamList__OOZOOZOOZcompilerZparser_u262(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T37_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__8;
		T37_ = (NIM_BOOL)0;
		T37_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98));
		if (!(T37_)) goto LA38_;
		T37_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA38_: ;
		if (!T37_) goto LA39_;
		colontmpD__8 = NIM_NIL;
		colontmpD__8 = parsePragma__OOZOOZOOZcompilerZparser_u99(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		{
			LA41_:;
		}
		{
			oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin41_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA35_;
LA39_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA35_: ;
	add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	maybeMissEquals_1 = !(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106)));
	{
		NIM_BOOL T47_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__9;
		T47_ = (NIM_BOOL)0;
		T47_ = !(maybeMissEquals_1);
		if (!(T47_)) goto LA48_;
		T47_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA48_: ;
		if (!T47_) goto LA49_;
		colontmpD__9 = NIM_NIL;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		colontmpD__9 = parseStmt__OOZOOZOOZcompilerZparser_u255(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		{
			LA51_:;
		}
		{
			oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin51_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA45_;
LA49_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA45_: ;
	indAndComment__OOZOOZOOZcompilerZparser_u82(p_p0, result, maybeMissEquals_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	body_1 = lastSon__OOZOOZOOZcompilerZast_u5240(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T57_;
		NIM_BOOL T58_;
		NIM_BOOL T59_;
		NI T61_;
		NimStringV2 colontmpD__10;
		T57_ = (NIM_BOOL)0;
		T58_ = (NIM_BOOL)0;
		T59_ = (NIM_BOOL)0;
		T59_ = ((*body_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115));
		if (!(T59_)) goto LA60_;
		T61_ = (NI)0;
		T61_ = len__OOZOOZOOZcompilerZast_u3206(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T59_ = (((NI)0) < T61_);
LA60_: ;
		T58_ = T59_;
		if (!(T58_)) goto LA62_;
		if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*body_1).kind))>>3] &(1U<<((NU)(((*body_1).kind))&7U)))!=0)) 		{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_113, dollar___OOZOOZOOZcompilerZnodekinds_u168((*body_1).kind)); goto LA1_;
		}
		if (((NI)0) < 0 || ((NI)0) >= (*body_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*body_1)._kind_6.sons.len-1); goto LA1_;
		}
		colontmpD__3 = comment__OOZOOZOOZcompilerZast_u835((*body_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T58_ = (((NI)0) < colontmpD__3.len);
LA62_: ;
		T57_ = T58_;
		if (!(T57_)) goto LA63_;
		if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*body_1).kind))>>3] &(1U<<((NU)(((*body_1).kind))&7U)))!=0)) 		{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_114, dollar___OOZOOZOOZcompilerZnodekinds_u168((*body_1).kind)); goto LA1_;
		}
		if (((NI)0) < 0 || ((NI)0) >= (*body_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*body_1)._kind_6.sons.len-1); goto LA1_;
		}
		T57_ = !(((*(*body_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)125)));
LA63_: ;
		if (!T57_) goto LA64_;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		{
			NimStringV2 colontmpD__11;
			colontmpD__10 = comment__OOZOOZOOZcompilerZast_u835(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			if (!(colontmpD__10.len == ((NI)0))) goto LA69_;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*body_1).kind))>>3] &(1U<<((NU)(((*body_1).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_115, dollar___OOZOOZOOZcompilerZnodekinds_u168((*body_1).kind)); goto LA71_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*body_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*body_1)._kind_6.sons.len-1); goto LA71_;
			}
			colontmpD__11 = comment__OOZOOZOOZcompilerZast_u835((*body_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			commenteq___OOZOOZOOZcompilerZast_u1333(result, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*body_1).kind))>>3] &(1U<<((NU)(((*body_1).kind))&7U)))!=0)) 			{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_116, dollar___OOZOOZOOZcompilerZnodekinds_u168((*body_1).kind)); goto LA71_;
			}
			if (((NI)0) < 0 || ((NI)0) >= (*body_1)._kind_6.sons.len){ raiseIndexError2(((NI)0),(*body_1)._kind_6.sons.len-1); goto LA71_;
			}
			commenteq___OOZOOZOOZcompilerZast_u1333((*body_1)._kind_6.sons.p->data[((NI)0)], TM__MW5RrD2zyVLHF67ojsDu8Q_117);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			{
				LA71_:;
			}
			{
				if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
LA69_: ;
		{
			LA66_:;
		}
		{
			if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA64_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		eqdestroy___OOZOOZOOZcompilerZast_u3270(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseSection__OOZOOZOOZcompilerZparser_u1454)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ kind_p1, tyProc__LRXSdCLtxMXbYK9bgoHAfYw defparser_p2) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((kind_p1 == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)98)))) goto LA3_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI oldIndX60gensym179__1;
		if (!((*p_p0).currInd < (*p_p0).tok.indent)) goto LA7_;
		oldIndX60gensym179__1 = (*p_p0).currInd;
		(*p_p0).currInd = (*p_p0).tok.indent;
		skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA10;
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90):
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
					a_1 = NIM_NIL;
					a_1 = defparser_p2(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					skipComment__OOZOOZOOZcompilerZparser_u45(p_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					add__OOZOOZOOZcompilerZast_u3231(result, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111):
				{
					tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_2;
					a_2 = NIM_NIL;
					a_2 = newCommentStmt__OOZOOZOOZcompilerZparser_u1451(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					add__OOZOOZOOZcompilerZast_u3231(result, a_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					{
						LA16_:;
					}
					{
						oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___OOZOOZOOZcompilerZast_u3270(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin16_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_118, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA9;
				}
				break;
				}
			} LA10: ;
		} LA9: ;
		(*p_p0).currInd = oldIndX60gensym179__1;
		{
			NI T22_;
			T22_ = (NI)0;
			T22_ = len__OOZOOZOOZcompilerZast_u3206(result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!((((NI)0) < T22_))) goto LA23_;
			parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_119, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA23_: ;
	}
	goto LA5_;
LA7_: ;
	{
		NIM_BOOL T26_;
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		T26_ = (NIM_BOOL)0;
		T26_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90));
		if (!(T26_)) goto LA27_;
		T26_ = ((*p_p0).tok.indent < ((NI)0));
LA27_: ;
		if (!T26_) goto LA28_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = defparser_p2(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA28_: ;
	{
		parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_120, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTypeDef__OOZOOZOOZcompilerZparser_u1602)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* identifier_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* identPragma_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* pragma_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* genericParam_1;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	identifier_1 = NIM_NIL;
	identPragma_1 = NIM_NIL;
	pragma_1 = NIM_NIL;
	genericParam_1 = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)103), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	identifier_1 = identVis__OOZOOZOOZcompilerZparser_u800(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&identPragma_1, identifier_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92));
		if (!(T4_)) goto LA5_;
		T4_ = validInd__OOZOOZOOZcompilerZparser_u159(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA6_;
		genericParam_1 = parseGenericParamList__OOZOOZOOZcompilerZparser_u1394(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		eqcopy___OOZOOZOOZcompilerZast_u3273(&genericParam_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	pragma_1 = optPragmas__OOZOOZOOZcompilerZparser_u962(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T13_;
		if (!!(((*pragma_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1)))) goto LA11_;
		T13_ = NIM_NIL;
		T13_ = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T13_); goto LA1_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&identPragma_1, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__OOZOOZOOZcompilerZast_u3231(identPragma_1, identifier_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__OOZOOZOOZcompilerZast_u3231(identPragma_1, pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	add__OOZOOZOOZcompilerZast_u3231(result, identPragma_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, genericParam_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
		tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T19_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106))) goto LA16_;
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&T19_), sizeof(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA));
		T19_ = parLineInfo__OOZOOZOOZcompilerZparser_u70((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		(*result).info = T19_;
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD_ = parseTypeDefValue__OOZOOZOOZcompilerZparser_u260(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA14_;
LA16_: ;
	{
		add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	indAndComment__OOZOOZOOZcompilerZparser_u82(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(genericParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(identPragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(identifier_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseConstant__OOZOOZOOZcompilerZparser_u1656)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA4_;
		result = parseVarTuple__OOZOOZOOZcompilerZparser_u1059(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)102), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD__2 = identWithPragma__OOZOOZOOZcompilerZparser_u813(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104))) goto LA10_;
			colontmpD__3 = NIM_NIL;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__3 = parseTypeDesc__OOZOOZOOZcompilerZparser_u257(p_p0, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			add__OOZOOZOOZcompilerZast_u3231(result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	indAndComment__OOZOOZOOZcompilerZparser_u82(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, X5BX5Deq___OOZOOZOOZcompilerZparser_u1648)(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ** s_p0, NI s_p0Len_0, NI i_p1, tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* x_p2) {
	NI TM__MW5RrD2zyVLHF67ojsDu8Q_121;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (nimSubInt(s_p0Len_0, i_p1, &TM__MW5RrD2zyVLHF67ojsDu8Q_121)) { raiseOverflow(); goto BeforeRet_;
	};
	if ((NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_121) < 0 || (NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_121) >= s_p0Len_0){ raiseIndexError2((NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_121),s_p0Len_0-1); goto BeforeRet_;
	}
	eqcopy___OOZOOZOOZcompilerZast_u3273(&s_p0[(NI)(TM__MW5RrD2zyVLHF67ojsDu8Q_121)], x_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseVariable__OOZOOZOOZcompilerZparser_u1641)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__2;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA4_;
		colontmpD__3 = NIM_NIL;
		result = parseVarTuple__OOZOOZOOZcompilerZparser_u1059(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = parseExpr__OOZOOZOOZcompilerZparser_u253(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__OOZOOZOOZcompilerZast_u3231(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = parseIdentColonEquals__OOZOOZOOZcompilerZparser_u830(p_p0, 5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	if (((TM__MW5RrD2zyVLHF67ojsDu8Q_15[(NU)(((*result).kind))>>3] &(1U<<((NU)(((*result).kind))&7U)))!=0)) 	{ raiseFieldErrorStr(TM__MW5RrD2zyVLHF67ojsDu8Q_122, dollar___OOZOOZOOZcompilerZnodekinds_u168((*result).kind)); goto LA1_;
	}
	colontmpD_ = lastSon__OOZOOZOOZcompilerZast_u5240(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = postExprBlocks__OOZOOZOOZcompilerZparser_u101(p_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	X5BX5Deq___OOZOOZOOZcompilerZparser_u1648((((*result)._kind_6.sons).p) ? ((*result)._kind_6.sons.p->data) : NIM_NIL, (*result)._kind_6.sons.len, ((NI)1), colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	indAndComment__OOZOOZOOZcompilerZparser_u82(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, qualifiedIdent__OOZOOZOOZcompilerZparser_u473)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parseSymbol__OOZOOZOOZcompilerZparser_u89(p_p0, ((tyEnum_SymbolMode__VCzYKnH0tK9cywn6gWPvmhQ)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T5_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = dotExpr__OOZOOZOOZcompilerZparser_u443(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T5_); goto BeforeRet_;}
		eqsink___OOZOOZOOZcompilerZast_u3279(&result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseBind__OOZOOZOOZcompilerZparser_u1668)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0, tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ k_p1) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(k_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__OOZOOZOOZcompilerZparser_u79(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* a_1;
			a_1 = NIM_NIL;
			a_1 = qualifiedIdent__OOZOOZOOZcompilerZparser_u473(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__OOZOOZOOZcompilerZast_u3231(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102)))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__OOZOOZOOZcompilerZparser_u79(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
	{
		result = parseIfOrWhen__OOZOOZOOZcompilerZparser_u1291(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)92));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)66):
	{
		result = parseWhile__OOZOOZOOZcompilerZparser_u1319(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
	{
		result = parseCase__OOZOOZOOZcompilerZparser_u95(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)60):
	{
		result = parseTry__OOZOOZOOZcompilerZparser_u92(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)27):
	{
		result = parseExceptBlock__OOZOOZOOZcompilerZparser_u1347(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)107));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25):
	{
		result = parseExceptBlock__OOZOOZOOZcompilerZparser_u1347(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)87));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)28):
	{
		result = parseFor__OOZOOZOOZcompilerZparser_u1061(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)8):
	{
		result = parseBlock__OOZOOZOOZcompilerZparser_u106(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
	{
		result = parseStaticOrDefer__OOZOOZOOZcompilerZparser_u1358(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)113));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)16):
	{
		result = parseStaticOrDefer__OOZOOZOOZcompilerZparser_u1358(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)105));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)6):
	{
		result = parseAsm__OOZOOZOOZcompilerZparser_u1362(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)79));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)30):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)159));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)41):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)80));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)84));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)40):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)82));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)59):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)83));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)15):
	{
		result = parseRoutine__OOZOOZOOZcompilerZparser_u1409(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)81));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
	{
		getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* colontmpD_;
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T25_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90))) goto LA22_;
			colontmpD_ = NIM_NIL;
			getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)132), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			colontmpD_ = primary__OOZOOZOOZcompilerZparser_u108(p_p0, ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			add__OOZOOZOOZcompilerZast_u3231(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			eat__OOZOOZOOZcompilerZparser_u72(p_p0, ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T25_ = NIM_NIL;
			T25_ = parseOperators__OOZOOZOOZcompilerZparser_u713(p_p0, result, ((NI)-1), ((tyEnum_PrimaryMode__4zoXnc43RRPQ9aDUHSUxN3w)0));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T25_); goto LA24_;}
			eqsink___OOZOOZOOZcompilerZast_u3279(&result, T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA20_;
LA22_: ;
		{
			result = parseSection__OOZOOZOOZcompilerZparser_u1454(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)98), parseTypeDef__OOZOOZOOZcompilerZparser_u1602);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA20_: ;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)13):
	{
		result = parseSection__OOZOOZOOZcompilerZparser_u1454(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)101), parseConstant__OOZOOZOOZcompilerZparser_u1656);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)39):
	{
		result = parseSection__OOZOOZOOZcompilerZparser_u1454(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)100), parseVariable__OOZOOZOOZcompilerZparser_u1641);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
	{
		result = parseSection__OOZOOZOOZcompilerZparser_u1454(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)99), parseVariable__OOZOOZOOZcompilerZparser_u1641);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
	{
		result = parseIfOrWhen__OOZOOZOOZcompilerZparser_u1291(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)7):
	{
		result = parseBind__OOZOOZOOZcompilerZparser_u1668(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)122));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)42):
	{
		result = parseBind__OOZOOZOOZcompilerZparser_u1668(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)123));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)63):
	{
		result = parseSection__OOZOOZOOZcompilerZparser_u1454(p_p0, ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)124), parseVariable__OOZOOZOOZcompilerZparser_u1641);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleStmt__OOZOOZOOZcompilerZparser_u1685(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseTopLevelStmt__OOZOOZOOZcompilerZparser_u1753)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___OOZOOZOOZcompilerZast_u3273(&result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			{
				if (!!(((*p_p0).tok.indent == ((NI)0)))) goto LA5_;
				{
					NIM_BOOL T9_;
					T9_ = (NIM_BOOL)0;
					T9_ = (*p_p0).firstTok;
					if (!(T9_)) goto LA10_;
					T9_ = ((*p_p0).tok.indent < ((NI)0));
LA10_: ;
					if (!T9_) goto LA11_;
				}
				goto LA7_;
LA11_: ;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103)))) goto LA14_;
					{
						NIM_BOOL T18_;
						T18_ = (NIM_BOOL)0;
						T18_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110));
						if (!(T18_)) goto LA19_;
						T18_ = eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_3);
LA19_: ;
						if (!T18_) goto LA20_;
						parMessage__OOZOOZOOZcompilerZparser_u41((&(*p_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__MW5RrD2zyVLHF67ojsDu8Q_5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					goto LA16_;
LA20_: ;
					{
						parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_7);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA16_: ;
				}
				goto LA7_;
LA14_: ;
LA7_: ;
			}
LA5_: ;
			(*p_p0).firstTok = NIM_FALSE;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103):
			{
				getTok__OOZOOZOOZcompilerZparser_u39(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*p_p0).tok.indent <= ((NI)0))) goto LA26_;
				}
				goto LA24_;
LA26_: ;
				{
					parMessage__OOZOOZOOZcompilerZparser_u144((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_8);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA24_: ;
				(*p_p0).firstTok = NIM_TRUE;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1):
			{
				goto LA1;
			}
			break;
			default:
			{
				tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* T31_;
				T31_ = NIM_NIL;
				T31_ = complexOrSimpleStmt__OOZOOZOOZcompilerZparser_u529(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZast_u3270(T31_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZast_u3279(&result, T31_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*result).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA34_;
					parMessage__OOZOOZOOZcompilerZparser_u140((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_123, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA34_: ;
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ*, parseAll__OOZOOZOOZcompilerZparser_u1768)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
	tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__OOZOOZOOZcompilerZparser_u48(((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)115), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__Ti48YnpfFPqIlDllc6ehaQ* nextStmt_1;
			nextStmt_1 = NIM_NIL;
			nextStmt_1 = parseTopLevelStmt__OOZOOZOOZcompilerZparser_u1753(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*nextStmt_1).kind == ((tyEnum_TNodeKind__Kq5ckzatEHB9a8r7P3H36fQ)1))) goto LA6_;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(nextStmt_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__OOZOOZOOZcompilerZast_u3231(result, nextStmt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___OOZOOZOOZcompilerZast_u3270(nextStmt_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeParser__OOZOOZOOZcompilerZparser_u134)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	closeLexer__OOZOOZOOZcompilerZlexer_u375((&(*p_p0).lex));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3185(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3555(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZparser_u1789)(tyObject_Parser__lxvmEiPLzhqFAB1Ndj4OXg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).emptyNode);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZast_u3288((&(*(*dest_p0).emptyNode)));
		nimRawDispose((*dest_p0).emptyNode, ((NI)8));
	}
LA4_: ;
	if ((*dest_p0).tok.literal.p && !((*dest_p0).tok.literal.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).tok.literal.p);
}
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).tok.ident);
		if (!T8_) goto LA9_;
		eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0).tok.ident)));
		nimRawDispose((*dest_p0).tok.ident, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).lex.config);
		if (!T13_) goto LA14_;
		eqdestroy___OOZOOZOOZcompilerZoptions_u1565((&(*(*dest_p0).lex.config)));
		nimRawDispose((*dest_p0).lex.config, ((NI)8));
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLast((*dest_p0).lex.cache);
		if (!T18_) goto LA19_;
		eqdestroy___OOZOOZOOZcompilerZidents_u275((&(*(*dest_p0).lex.cache)));
		nimRawDispose((*dest_p0).lex.cache, ((NI)8));
	}
LA19_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = nimDecRefIsLastCyclicDyn((*dest_p0).lex.errorHandler.ClE_0);
		if (!T23_) goto LA24_;
		nimDestroyAndDispose((*dest_p0).lex.errorHandler.ClE_0);
	}
LA24_: ;
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = nimDecRefIsLastCyclicDyn((*dest_p0).lex.Sup.stream);
		if (!T28_) goto LA29_;
		nimDestroyAndDispose((*dest_p0).lex.Sup.stream);
	}
LA29_: ;
	if ((*dest_p0).lex.Sup.bufStorage.p && !((*dest_p0).lex.Sup.bufStorage.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).lex.Sup.bufStorage.p);
}
}
