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

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tyObject_Token__pst9a89bCqNyggpo6gRF7jhA;
typedef struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw;
typedef struct tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
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__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
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__bW0Cb4KmUu6wcIZW6Cp0nw {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__urLEtt9bmeGdJpEukhLR9a1A;
struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw {
	tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__urLEtt9bmeGdJpEukhLR9a1A errorHandler;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
typedef NU8 tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA;
typedef NU8 tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ;
typedef NU8 tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA {
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType;
	tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base;
	tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg spacing;
	NI indent;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw {
	NI currInd;
	NIM_BOOL firstTok;
	NIM_BOOL hasProgress;
	tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw lex;
	tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tok;
	NI lineStartPrevious;
	NI lineNumberPrevious;
	NI bufposPrevious;
	NI inPragma;
	NI inSemiStmtList;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
};
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ;
typedef NU8 tySet_tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw;
typedef NU8 tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw;
typedef NU8 tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
typedef NU8 tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg;
typedef NU8 tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw;
typedef NU8 tySet_tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA[15];
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ {
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA a;
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA b;
};
typedef tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* tyArray__TAsXwXSUBvAawE1kIQ5ziQ[1];
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__9cJRiKAsdI9c9aTgP4Lvbm1bg) (tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw 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__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* tyArray__s9a2jZbmN9cnqFaNnzUrYEjg[8192];
struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA {
	tyArray__s9a2jZbmN9cnqFaNnzUrYEjg buckets;
	NI wordCounter;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idAnon;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idDelegator;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* emptyIdent;
};
typedef NU8 tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, void* buf_p1, NI bufLen_p2, void* ClE_0);
void* ClE_0;
} tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg {
	RootObj Sup;
	tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ kind;
	FILE* f;
	NimStringV2 s;
	NI rd;
	NI wr;
	NI lineOffset;
	tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ repl;
	tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ 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__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw 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__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u120)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(void, reset__lexer_u1922)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* obj_p0);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_u257)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_u40)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__lexer_u1918)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNode__ast_u4069)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_u404)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeP__parser_u49)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNode__ast_u4117)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, parLineInfo__parser_u71)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u199)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, newLineInfo__msgs_u419)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTopLevelStmt__parser_u1749)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u42)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__lexer_u405)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u145)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 arg_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, complexOrSimpleStmt__parser_u528)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIfOrWhen__parser_u1290)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_u80)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_u46)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_u163)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_u836)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_u1334)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2688)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_u76)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseExpr__parser_u254)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseBlock__parser_u107)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_u194)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseSymbol__parser_u90)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIdentNodeP__parser_u64)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAtom__ast_u4121)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u141)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 msg_p1, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prettyTok__lexer_u248)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u239)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eat__parser_u73)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_u401)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u141)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA e_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_u309)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseStmt__parser_u256)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, simpleStmt__parser_u1681)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseReturnOrRaise__parser_u1281)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_u1015)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, postExprBlocks__parser_u102)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseParamList__parser_u263)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL retColon_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIdentColonEquals__parser_u829)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tySet_tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw flags_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, identWithPragma__parser_u812)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL allowDot_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, identVis__parser_u799)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL allowDot_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotExpr__parser_u442)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_u374)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__parser_u409)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_u181)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1);
N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_u78)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprColonEqExpr__parser_u358)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, colonOrEquals__parser_u350)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, equals__parser_u342)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_u6769)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg kind_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePragma__parser_u100)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDesc__parser_u258)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL fullExpr_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, simpleExpr__parser_u530)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, simpleExprAux__parser_u112)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI limit_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, primary__parser_u109)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__parser_u38)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
static N_INLINE(NIM_BOOL, isSigilLike__parser_u266)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, identOrLiteral__parser_u628)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseGStrLit__parser_u524)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newStrNodeP__parser_u60)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NimStringV2 strVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAtom__ast_u4135)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NimStringV2 strVal_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2697)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNodeP__parser_u52)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAtom__ast_u4125)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_u87)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newFloatNodeP__parser_u56)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NF floatVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newAtom__ast_u4130)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NF floatVal_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8683)(NimStringV2 s_p0, NI first_p1, NI last_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8696)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprColonEqExprList__parser_u437)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePar__parser_u569)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__parser_u536)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIfOrWhenExpr__parser_u533)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseStmtPragma__parser_u98)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setOrTableConstr__parser_u479)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseCast__parser_u499)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, primarySuffix__parser_u681)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p1, NI baseIndent_p2, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, commandExpr__parser_u664)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, commandParam__parser_u650)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL* isFirstParam_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprEqExpr__parser_u366)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, namedParams__parser_u643)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callee_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p2, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__parser_u674)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_u959)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotLikeExpr__parser_u466)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__parser_u280)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseProcExpr__parser_u986)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL isExpr_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, optPragmas__parser_u961)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newProcNode__ast_u5430)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_p3, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* name_p4, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pattern_p5, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* genericParams_p6, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_p7, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* exceptions_p8);
static N_INLINE(void, replaceSon__ast_u5274)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newson_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseOperators__parser_u712)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headNode_p1, NI limit_p2, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p3);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__lexer_u1691)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
static N_INLINE(void, checkBinary__parser_u292)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
static N_INLINE(NIM_BOOL, isRightAssociative__parser_u273)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTuple__parser_u867)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL indentAllowed_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDescKAux__parser_u1030)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDefValue__parser_u261)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseEnum__parser_u1081)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObject__parser_u1083)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectPart__parser_u1499)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectWhen__parser_u1501)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectCase__parser_u1514)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeClass__parser_u1085)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeClassParam__parser_u1564)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
static N_INLINE(NIM_BOOL, validInd__parser_u160)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_u7641)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, binaryNot__parser_u1117)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_u1018)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1);
static N_INLINE(NIM_BOOL, contains__parser_u933)(tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ s_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA value_p1);
static N_INLINE(tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ, dotdot___parser_u901)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA a_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA b_p1);
static N_INLINE(void, replaceFirstSon__ast_u5271)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newson_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, makeCall__parser_u1147)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseDoBlock__parser_u968)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, optionalExprList__parser_u392)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseImport__parser_u1231)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseModuleName__parser_u1227)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseFromStmt__parser_u1269)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIncludeStmt__parser_u1257)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newCommentStmt__parser_u1450)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseExprStmt__parser_u105)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newTree__ast_u4140)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** children_p2, NI children_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseFor__parser_u1060)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseVarTuple__parser_u1058)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseCase__parser_u96)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTry__parser_u93)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL isExpr_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseWhile__parser_u1318)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseExceptBlock__parser_u1346)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseStaticOrDefer__parser_u1357)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseAsm__parser_u1361)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseRoutine__parser_u1408)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePattern__parser_u1405)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseGenericParamList__parser_u1393)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseGenericParam__parser_u1368)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_u69)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_u83)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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___msgs_u714)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseSection__parser_u1453)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyProc__9cJRiKAsdI9c9aTgP4Lvbm1bg defparser_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDef__parser_u1601)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseConstant__parser_u1652)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseVariable__parser_u1640)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
static N_INLINE(void, X5BX5Deq___renderer_u710)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseBind__parser_u1664)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, qualifiedIdent__parser_u472)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__lexer_u377)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3130)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u173)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u274)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3500)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u32)(NimStringV2 data_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___parser_u1880)(tyProc__urLEtt9bmeGdJpEukhLR9a1A* dest_p0, tyProc__urLEtt9bmeGdJpEukhLR9a1A src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u129)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 filename_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseAll__parser_u1764)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_u135)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___parser_u1785)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___llstream_u112)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* dest_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 const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_15 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_16 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_17 = {0, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_18 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_19 = { 11 | NIM_STRLIT_FLAG, "expected: \'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_20 = {11, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_19};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_21 = { 13 | NIM_STRLIT_FLAG, "\', but got: \'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_22 = {13, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_21};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_23 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_24 = {1, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_23};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_25 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_26 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_27 = { 35 | NIM_STRLIT_FLAG, "expression expected, but found \'$1\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_28 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_29 = { 39 | NIM_STRLIT_FLAG, "nestable statement requires indentation" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_30 = {39, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_29};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_31 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_32 = { 13 | NIM_STRLIT_FLAG, "expected \'.}\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_33 = {13, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_32};
static NIM_CONST tySet_tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA TM__MW5RrD2zyVLHF67ojsDu8Q_34 = {
0x30, 0x00, 0x08, 0x20, 0x32, 0x68, 0x03, 0x03,
0x08, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00}
;
static NIM_CONST tySet_tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA TM__MW5RrD2zyVLHF67ojsDu8Q_35 = {
0x0c, 0x08, 0x00, 0x00, 0x00, 0x10, 0x04, 0x44,
0xe0, 0xff, 0xff, 0x57, 0x00, 0x00, 0x01}
;
static NIM_CONST tySet_tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA TM__MW5RrD2zyVLHF67ojsDu8Q_36 = {
0x00, 0x25, 0x03, 0x9a, 0x84, 0x04, 0x00, 0x10,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_37 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_38 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_39 = { 20 | NIM_STRLIT_FLAG, "nimPreviewDotLikeOps" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_40 = {20, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_39};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_41 = { 76 | NIM_STRLIT_FLAG, "dot-like operators will be parsed differently with `-d:nimPreviewDotLikeOps`" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_42 = {76, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_41};
static const struct {
  NI cap; NIM_CHAR data[95+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_43 = { 95 | NIM_STRLIT_FLAG, "func keyword is not allowed in type descriptions, use proc with {.noSideEffect.} pragma instead" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_44 = {95, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_43};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_45 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[60+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_46 = { 60 | NIM_STRLIT_FLAG, "the syntax for tuple types is \'tuple[...]\', not \'tuple(...)\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_47 = {60, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_46};
static const struct {
  NI cap; NIM_CHAR data[54+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_48 = { 54 | NIM_STRLIT_FLAG, "the \'concept\' keyword is only valid in \'type\' sections" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_49 = {54, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_48};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_50 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_51 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_52 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_53 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[76+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_54 = { 76 | NIM_STRLIT_FLAG, "routine expected, but found \'$1\' (empty new-styled concepts are not allowed)" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_55 = {76, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_54};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_56 = { 4 | NIM_STRLIT_FLAG, "with" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_57 = {4, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_56};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_58 = { 7 | NIM_STRLIT_FLAG, "without" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_59 = {7, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_58};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_60 = { 33 | NIM_STRLIT_FLAG, "\':\' or \'=\' expected, but got \'$1\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_61 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_60};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_62 = { 56 | NIM_STRLIT_FLAG, "the syntax is \'parameter: var T\', not \'var parameter: T\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_63 = {56, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_62};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_64 = {1, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_23};
static const struct {
  NI cap; NIM_CHAR data[53+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_65 = { 53 | NIM_STRLIT_FLAG, "\' is a keyword and cannot be used as a parameter name" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_66 = {53, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_65};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_67 = { 20 | NIM_STRLIT_FLAG, "expected closing \')\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_68 = {20, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_67};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_69 = { 2 | NIM_STRLIT_FLAG, "->" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_70 = {2, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_69};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_71 = { 12 | NIM_STRLIT_FLAG, "expected \':\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_72 = {12, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_71};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_73 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_74 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_75 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_76 = { 17 | NIM_STRLIT_FLAG, "expected \'except\'" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_77 = {17, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_76};
static const struct {
  NI cap; NIM_CHAR data[42+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_78 = { 42 | NIM_STRLIT_FLAG, "the \'asm\' statement takes a string literal" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_79 = {42, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_78};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_80 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_81 = {2, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_80};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_82 = { 3 | NIM_STRLIT_FLAG, "out" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_83 = {3, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_82};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_84 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const struct {
  NI cap; NIM_CHAR data[51+1];
} TM__MW5RrD2zyVLHF67ojsDu8Q_85 = { 51 | NIM_STRLIT_FLAG, "invalid indentation, maybe you forgot a \'=\' at $1 \?" };
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_86 = {51, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_85};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_87 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_88 = {0, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_16};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_89 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_90 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_91 = {33, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_13};
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_92 = {35, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_27};
extern TNimTypeV2 NTIv2__vtOgGjZ65sMaH6Mnf64SNw_;
static const NimStringV2 TM__MW5RrD2zyVLHF67ojsDu8Q_94 = {19, (NimStrPayload*)&TM__MW5RrD2zyVLHF67ojsDu8Q_6};
static NIM_CONST tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw TM__MW5RrD2zyVLHF67ojsDu8Q_93 = {0, NIM_FALSE, NIM_FALSE, {{{(&NTIv2__vtOgGjZ65sMaH6Mnf64SNw_)}, 0, NIM_NIL, {0, NIM_NIL}, 0, NIM_NIL, 0, 0, 0, 0}, 0, 0, 0, {NIM_NIL, NIM_NIL}, NIM_NIL, NIM_NIL}, {0, 0, 0, 0, NIM_NIL, 0, 0.0, {0, NIM_NIL}, 0, 0}, 0, 0, 0, 0, 0, NIM_NIL}
;
extern NIM_BOOL nimInErrorMode__system_u4146;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4146);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_u40)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* 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__vtOgGjZ65sMaH6Mnf64SNw*)0;
	T1_ = (&(*p_p0).lex);
	rawGetTok__lexer_u1918(T1_, (&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p_p0).hasProgress = NIM_TRUE;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u120)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	reset__lexer_u1922((&(*p_p0).tok));
	openLexer__lexer_u257((&(*p_p0).lex), fileIdx_p1, inputStream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p_p0).firstTok = NIM_TRUE;
	T1_ = NIM_NIL;
	T1_ = newNode__ast_u4069(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*p_p0).emptyNode, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_u129)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 filename_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputStream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4) {
	NI32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__msgs_u404(config_p4, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	openParser__parser_u120(p_p0, T1_, inputStream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u199)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	result = newLineInfo__msgs_u419((*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__cGj50BJ9bj3Zx09a9bMvKs8HA, parLineInfo__parser_u71)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	result = getLineInfo__lexer_u199((&(*p_p0).lex), (&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeP__parser_u49)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__parser_u71(p_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newNode__ast_u4117(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_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u42)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	lexMessageTok__lexer_u405((&(*p_p0).lex), msg_p1, (&(*p_p0).tok), arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u145)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 arg_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	lexMessageTok__lexer_u405((&(*p_p0).lex), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)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_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_u163)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA3_;
		{
			NimStringV2 rhs_1;
			NimStringV2 colontmpD_;
			if (!!((node_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA7_;
			rhs_1.len = 0; rhs_1.p = NIM_NIL;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			rhs_1 = comment__ast_u836(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_u2688((&rhs_1));
			commenteq___ast_u1334(node_p1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
				eqdestroy___system_u2691(rhs_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)2), TM__MW5RrD2zyVLHF67ojsDu8Q_10);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_u46)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.indent < ((NI)0))) goto LA3_;
		rawSkipComment__parser_u163(p_p0, node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_u76)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* 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__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_11);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_u80)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	skipComment__parser_u46(p_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	skipInd__parser_u76(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_u194)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA3_;
		parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_12);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIdentNodeP__parser_u64)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__parser_u71(p_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__ast_u4121(ident_p0, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_u141)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NimStringV2 msg_p1, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__lexer_u248(tok_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = nsuFormatSingleElem(msg_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	parMessage__parser_u42(p_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eat__parser_u73)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == tokType_p1)) goto LA3_;
		getTok__parser_u40(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___lexer_u141(tokType_p1);
		colontmpD__2 = prettyTok__lexer_u248((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = rawNewString(colontmpD_.len + colontmpD__2.len + 25);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_20);
appendString((&T7_), colontmpD_);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_22);
appendString((&T7_), colontmpD__2);
appendString((&T7_), TM__MW5RrD2zyVLHF67ojsDu8Q_24);
		colontmpD__3 = T7_;
		lexMessage__lexer_u401((&(*p_p0).lex), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseSymbol__parser_u90)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ mode_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
	{
		result = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68):
	{
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3));
			if (T5_) goto LA6_;
			T5_ = (mode_p1 == ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)2));
LA6_: ;
			if (!T5_) goto LA7_;
			result = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__parser_u40(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__lTUY8lCIkO3nhCc7lqA4RA)44));
			if (!(T10_)) goto LA11_;
			T10_ = (mode_p1 == ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)1));
LA11_: ;
			if (!T10_) goto LA12_;
			result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA3_;
LA12_: ;
		{
			parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_14, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA3_: ;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
	{
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)53), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
				{
					{
						NI T21_;
						T21_ = (NI)0;
						T21_ = len__ast_u3190(result);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!!((((NI)0) < T21_))) goto LA22_;
						parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_15, (&(*p_p0).tok));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA22_: ;
					goto LA16;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)101):
				{
					NimStringV2 accm_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* node_1;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD_;
					tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lineinfo_1;
					accm_1.len = 0; accm_1.p = NIM_NIL;
					node_1 = NIM_NIL;
					colontmpD_ = NIM_NIL;
					lineinfo_1 = parLineInfo__parser_u71((&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					accm_1 = TM__MW5RrD2zyVLHF67ojsDu8Q_17;
					{
						while (1) {
							NimStringV2 colontmpD__2;
							if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106) || (*p_p0).tok.tokType >= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90) && (*p_p0).tok.tokType <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)101))) goto LA27;
							colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
							colontmpD__2 = dollar___lexer_u239((&(*p_p0).tok));
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							prepareAdd((&accm_1), colontmpD__2.len + 0);
appendString((&accm_1), colontmpD__2);
							getTok__parser_u40(p_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
							{
								LA28_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__2);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						} LA27: ;
					}
					colontmpD_ = getIdent__idents_u206((*p_p0).lex.cache, accm_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					node_1 = newAtom__ast_u4121(colontmpD_, lineinfo_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					add__ast_u3215(result, node_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
					{
						LA25_:;
					}
					{
						oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___idents_u155(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___ast_u3252(node_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___system_u2691(accm_1);
						*nimErr_ = oldNimErrFin25_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89):
				{
					NimStringV2 colontmpD__3;
					tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__4;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					colontmpD__5 = NIM_NIL;
					colontmpD__3 = dollar___lexer_u239((&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					colontmpD__4 = getIdent__idents_u206((*p_p0).lex.cache, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					colontmpD__5 = newIdentNodeP__parser_u64(colontmpD__4, (&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					add__ast_u3215(result, colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					getTok__parser_u40(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					{
						LA34_:;
					}
					{
						oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___idents_u155(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___system_u2691(colontmpD__3);
						*nimErr_ = oldNimErrFin34_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_18, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA16;
				}
				break;
				}
			}
		} LA16: ;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_25, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_u309)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	skipComment__parser_u46(p_p0, n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_u1015)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	NIM_BOOL result;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)45):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)11):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)31):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)28):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)30):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)7):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)60):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)8):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
	{
		result = NIM_TRUE;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_u374)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result_p2, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			NIM_BOOL T4_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
			T4_ = (NIM_BOOL)0;
			T4_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T4_)) goto LA5_;
			T4_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)));
LA5_: ;
			if (!T4_) goto LA3;
			a_2 = NIM_NIL;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA9_;
				eqdestroy___ast_u3252(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA2;
			}
LA9_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			a_2 = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			add__ast_u3215(result_p2, a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_u181)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u163(p_p0, node_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_u78)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* 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__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_31);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, equals__parser_u342)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA3_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		eqcopy___ast_u3255(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, colonOrEquals__parser_u350)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA3_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = equals__parser_u342(p_p0, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprColonEqExpr__parser_u358)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA4_;
		result = postExprBlocks__parser_u102(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = colonOrEquals__parser_u350(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__parser_u409)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__parser_u181(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			T3_ = (NIM_BOOL)0;
			T3_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T3_)) goto LA4_;
			T3_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)));
LA4_: ;
			if (!T3_) goto LA2;
			a_1 = NIM_NIL;
			a_1 = exprColonEqExpr__parser_u358(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			add__ast_u3215(result_p2, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA8_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
			goto LA6_;
LA8_: ;
			{
				if (!((*result_p2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37))) goto LA11_;
				transitionSonsKind__ast_u6769(result_p2, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
			goto LA6_;
LA11_: ;
LA6_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			skipComment__parser_u46(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				LA5_:;
			}
			{
				oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin5_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, endTok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotExpr__parser_u442)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	info_1 = parLineInfo__parser_u71((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_1;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T9_;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T10_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)109));
		if (!(T4_)) goto LA5_;
		T4_ = !((((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0));
LA5_: ;
		if (!T4_) goto LA6_;
		x_1 = NIM_NIL;
		y_1 = NIM_NIL;
		T9_ = parLineInfo__parser_u71((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		x_1 = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), T9_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		add__ast_u3215(x_1, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		exprList__parser_u374(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93), x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		T10_ = parLineInfo__parser_u71((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		y_1 = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		add__ast_u3215(y_1, x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		add__ast_u3215(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__lTUY8lCIkO3nhCc7lqA4RA)90));
			if (!(T13_)) goto LA14_;
			T13_ = !((((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0));
LA14_: ;
			if (!T13_) goto LA15_;
			exprColonEqExprListAux__parser_u409(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91), y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA15_: ;
		eqsink___ast_u3261(&result, y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		eqwasMoved___ast_u3249(&y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, identVis__parser_u799)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL allowDot_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110))) goto LA4_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD_ = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)107));
		if (!(T10_)) goto LA11_;
		T10_ = allowDot_p1;
LA11_: ;
		if (!T10_) goto LA12_;
		result = dotExpr__parser_u442(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA12_: ;
	{
		result = a_1;
		eqwasMoved___ast_u3249(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parsePragma__parser_u100)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p_p0).inPragma += ((NI)1);
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)))) goto LA2;
			a_1 = NIM_NIL;
			(*p_p0).hasProgress = NIM_FALSE;
			a_1 = exprColonEqExpr__parser_u358(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!((*p_p0).hasProgress)) goto LA6_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102))) goto LA10_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				skipComment__parser_u46(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA10_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95))) goto LA16_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA14_;
LA16_: ;
	{
		parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_33);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA14_: ;
	(*p_p0).inPragma -= ((NI)1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, identWithPragma__parser_u812)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL allowDot_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = identVis__parser_u799(p_p0, allowDot_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98))) goto LA4_;
		colontmpD_ = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD_ = parsePragma__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = a_1;
		eqwasMoved___ast_u3249(&a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__parser_u38)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0) {
	NIM_BOOL result;
	result = ((TM__MW5RrD2zyVLHF67ojsDu8Q_34[(NU)(((*tok_p0).tokType))>>3] &(1U<<((NU)(((*tok_p0).tokType))&7U)))!=0);
	return result;
}
static N_INLINE(NIM_BOOL, isSigilLike__parser_u266)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110));
	if (!(T1_)) goto LA2_;
	T1_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(64));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newStrNodeP__parser_u60)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NimStringV2 strVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NimStringV2 blitTmp_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	blitTmp_1 = strVal_p1;
	T1_ = parLineInfo__parser_u71(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__ast_u4135(kind_p0, blitTmp_1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseGStrLit__parser_u524)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)86):
	{
		NimStringV2 colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		add__ast_u3215(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		colontmpD_ = eqdup___system_u2697((*p_p0).tok.literal);
		colontmpD__2 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21), colontmpD_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)87):
	{
		NimStringV2 colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = eqdup___system_u2697((*p_p0).tok.literal);
		colontmpD__4 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22), colontmpD__3, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		eqcopy___ast_u3255(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNodeP__parser_u52)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__parser_u71(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__ast_u4125(kind_p0, intVal_p1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_u87)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base_p1) {
	switch (base_p1) {
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)0):
	{
	}
	break;
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)1):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)1))) & 31);
	}
	break;
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)2):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)2))) & 31);
	}
	break;
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)3):
	{
		(*n_p0).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)3))) & 31);
	}
	break;
	default: __builtin_unreachable();
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newFloatNodeP__parser_u56)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NF floatVal_p1, tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = parLineInfo__parser_u71(p_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newAtom__ast_u4130(kind_p0, floatVal_p1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprColonEqExprList__parser_u437)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	exprColonEqExprListAux__parser_u409(p_p0, endTok_p2, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIfOrWhenExpr__parser_u533)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)49), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__parser_u309(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseStmt__parser_u256(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__parser_u46(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(result, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21)))) goto LA6_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22))) goto LA12_;
		branch_2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		branch_2 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)50), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colcom__parser_u309(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__3 = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__ast_u3215(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__ast_u3215(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(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__parser_u536)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	NI oldIndX60gensym43__1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	a_1 = NIM_NIL;
	(*p_p0).inSemiStmtList += ((NI)1);
	oldIndX60gensym43__1 = (*p_p0).currInd;
	(*p_p0).currInd = (*p_p0).tok.indent;
	T2_ = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)31):
	{
		a_1 = parseIfOrWhenExpr__parser_u533(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
	{
		a_1 = parseIfOrWhenExpr__parser_u533(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
		a_1 = complexOrSimpleStmt__parser_u528(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	}
	add__ast_u3215(result_p1, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)))) goto LA7;
			a_2 = NIM_NIL;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103))) goto LA11_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
LA11_: ;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91))) goto LA15_;
				eqdestroy___ast_u3252(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA6;
			}
LA15_: ;
			a_2 = complexOrSimpleStmt__parser_u528(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			{
				if (!((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA19_;
				parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_37, (&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
			goto LA17_;
LA19_: ;
			{
				add__ast_u3215(result_p1, a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			}
LA17_: ;
			{
				LA8_:;
			}
			{
				oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin8_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA7: ;
	} LA6: ;
	(*p_p0).currInd = oldIndX60gensym43__1;
	(*p_p0).inSemiStmtList -= ((NI)1);
	transitionSonsKind__ast_u6769(result_p1, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)126));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseStmtPragma__parser_u98)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parsePragma__parser_u100(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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___ast_u3249(&result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_ = NIM_NIL;
		T8_ = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)91), (*a_1).info);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA7_;}
		eqsink___ast_u3261(&result, T8_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD_ = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parsePar__parser_u569)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__parser_u181(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((TM__MW5RrD2zyVLHF67ojsDu8Q_36[(NU)(((*p_p0).tok.tokType))>>3] &(1U<<((NU)(((*p_p0).tok.tokType))&7U)))!=0)) goto LA3_;
		semiStmtList__parser_u536(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103))) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		semiStmtList__parser_u536(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98))) goto LA9_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = parseStmtPragma__parser_u98(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)91))) goto LA15_;
		transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)160));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA15_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		a_1 = NIM_NIL;
		a_1 = simpleExpr__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA21_;
			T23_ = NIM_NIL;
			T23_ = postExprBlocks__parser_u102(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto LA18_;}
			eqsink___ast_u3261(&result, T23_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA21_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* asgn_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA25_;
			asgn_1 = NIM_NIL;
			b_1 = NIM_NIL;
			asgn_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			optInd__parser_u80(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			b_1 = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__ast_u3215(asgn_1, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__ast_u3215(asgn_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			add__ast_u3215(result, asgn_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103))) goto LA30_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
				semiStmtList__parser_u536(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
			}
LA30_: ;
			{
				LA27_:;
			}
			{
				oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)103))) goto LA35_;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			semiStmtList__parser_u536(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA19_;
LA35_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
			T38_ = NIM_NIL;
			T38_ = colonOrEquals__parser_u350(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA18_;}
			eqsink___ast_u3261(&a_1, T38_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA41_;
				transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			}
LA41_: ;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102))) goto LA45_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				skipComment__parser_u46(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)160));
				if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
				{
					while (1) {
						NIM_BOOL T49_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
						T49_ = (NIM_BOOL)0;
						T49_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91)));
						if (!(T49_)) goto LA50_;
						T49_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)));
LA50_: ;
						if (!T49_) goto LA48;
						a_2 = NIM_NIL;
						a_2 = exprColonEqExpr__parser_u358(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						add__ast_u3215(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						{
							if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA54_;
							eqdestroy___ast_u3252(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
							goto LA47;
						}
LA54_: ;
						getTok__parser_u40(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						skipComment__parser_u46(p_p0, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
						{
							LA51_:;
						}
						{
							oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(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___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, setOrTableConstr__parser_u479)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA3_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)54));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)))) goto LA7;
				a_1 = NIM_NIL;
				a_1 = exprColonEqExpr__parser_u358(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34))) goto LA11_;
					transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)54));
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				}
LA11_: ;
				add__ast_u3215(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA15_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA6;
				}
LA15_: ;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				skipComment__parser_u46(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
				{
					LA8_:;
				}
				{
					oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin8_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA7: ;
		} LA6: ;
	}
LA1_: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseCast__parser_u499)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD_ = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optPar__parser_u78(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD__3 = exprColonEqExpr__parser_u358(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, identOrLiteral__parser_u628)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
		result = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T2_ = NIM_NIL;
		T2_ = parseGStrLit__parser_u524(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T2_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
	{
		result = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)70):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)7), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)71):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)8), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)72):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)9), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)10), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)11), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)75):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)12), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)13), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)14), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)78):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15), (*p_p0).tok.iNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)79):
	{
		result = newFloatNodeP__parser_u56(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)80):
	{
		result = newFloatNodeP__parser_u56(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)17), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)81):
	{
		result = newFloatNodeP__parser_u56(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)82):
	{
		result = newFloatNodeP__parser_u56(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)19), (*p_p0).tok.fNumber, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		setBaseFlags__parser_u87(result, (*p_p0).tok.base);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)83):
	{
		NimStringV2 colontmpD_;
		colontmpD_ = eqdup___system_u2697((*p_p0).tok.literal);
		result = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), colontmpD_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)84):
	{
		NimStringV2 colontmpD__2;
		colontmpD__2 = eqdup___system_u2697((*p_p0).tok.literal);
		result = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21), colontmpD__2, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)85):
	{
		NimStringV2 colontmpD__3;
		colontmpD__3 = eqdup___system_u2697((*p_p0).tok.literal);
		result = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22), colontmpD__3, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88):
	{
		result = newIntNodeP__parser_u52(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5), ((NI64) (((NU8)((*p_p0).tok.literal.p->data[((NI)0)])))), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* str_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callee_1;
		NimStringV2 colontmpD__4;
		tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__5;
		NI splitPos_1;
		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));
		T24_.len = 0; T24_.p = NIM_NIL;
		T24_ = substr__system_u8683((*p_p0).tok.literal, ((NI)0), (NI)(splitPos_1 - ((NI)1)));
		str_1 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21), T24_, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		colontmpD__4 = substr__system_u8696((*p_p0).tok.literal, splitPos_1);
		colontmpD__5 = getIdent__idents_u206((*p_p0).lex.cache, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		callee_1 = newIdentNodeP__parser_u64(colontmpD__5, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		add__ast_u3215(result, str_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		add__ast_u3215(result, callee_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___idents_u155(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___ast_u3252(callee_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(str_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin23_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
	{
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90):
	{
		{
			if (!(mode_p1 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1) || mode_p1 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2))) goto LA31_;
			result = exprColonEqExprList__parser_u437(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA29_;
LA31_: ;
		{
			result = parsePar__parser_u569(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA29_: ;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94):
	{
		result = setOrTableConstr__parser_u479(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92):
	{
		result = exprColonEqExprList__parser_u437(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)11):
	{
		result = parseCast__parser_u499(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_38, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, exprEqExpr__parser_u366)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	a_1 = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA4_;
		result = postExprBlocks__parser_u102(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = equals__parser_u342(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, commandParam__parser_u650)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL* isFirstParam_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(mode_p2 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1))) goto LA3_;
		result = simpleExpr__parser_u530(p_p0, mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!!((*isFirstParam_p1))) goto LA6_;
		result = exprEqExpr__parser_u366(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA6_: ;
	{
		result = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = postExprBlocks__parser_u102(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
LA1_: ;
	(*isFirstParam_p1) = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, commandExpr__parser_u664)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(mode_p2 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)3))) goto LA3_;
		eqcopy___ast_u3255(&result, r_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		NIM_BOOL isFirstParam_1;
		colontmpD_ = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, r_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		isFirstParam_1 = NIM_TRUE;
		(*p_p0).hasProgress = NIM_FALSE;
		colontmpD_ = commandParam__parser_u650(p_p0, (&isFirstParam_1), mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, namedParams__parser_u643)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* callee_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p2, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	eqcopy___ast_u3255(&a_1, callee_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeP__parser_u49(kind_p2, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	exprColonEqExprListAux__parser_u409(p_p0, endTok_p3, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__parser_u674)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__lTUY8lCIkO3nhCc7lqA4RA)110));
	if (!(T3_)) goto LA4_;
	T3_ = (((NI)1) < (*(*tok_p0).ident).s.len);
LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	T2_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(46));
LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	T1_ = !(((NU8)((*(*tok_p0).ident).s.p->data[((NI)1)]) == (NU8)(46)));
LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, dotLikeExpr__parser_u466)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* opNode_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	opNode_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	info_1 = parLineInfo__parser_u71((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), info_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	opNode_1 = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, opNode_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__parser_u280)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110) || (*tok_p0).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108));
	if (!(T1_)) goto LA2_;
	T1_ = ((*tok_p0).spacing == 1);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, primarySuffix__parser_u681)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* r_p1, NI baseIndent_p2, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)90):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0)) goto LA10_;
					T12_ = NIM_NIL;
					T12_ = commandExpr__parser_u664(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T12_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA10_: ;
				T13_ = NIM_NIL;
				T13_ = namedParams__parser_u643(p_p0, result, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T13_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T16_;
					NI T17_;
					T16_ = (NIM_BOOL)0;
					T17_ = (NI)0;
					T17_ = len__ast_u3190(result);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T16_ = (((NI)1) < T17_);
					if (!(T16_)) goto LA18_;
					T16_ = ((*(*result)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
LA18_: ;
					if (!T16_) goto LA19_;
					transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__fgQOep3rrztw9aeZI9aS2Ltg)38));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA19_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
				T22_ = NIM_NIL;
				T22_ = dotExpr__parser_u442(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T22_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T23_ = NIM_NIL;
				T23_ = parseGStrLit__parser_u524(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T23_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T30_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T29_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0)) goto LA27_;
					T29_ = NIM_NIL;
					T29_ = commandExpr__parser_u664(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T29_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T29_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA27_: ;
				T30_ = NIM_NIL;
				T30_ = namedParams__parser_u643(p_p0, result, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T30_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T37_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
					if (!(((*p_p0).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0)) goto LA34_;
					T36_ = NIM_NIL;
					T36_ = commandExpr__parser_u664(p_p0, result, mode_p3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T36_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA34_: ;
				T37_ = NIM_NIL;
				T37_ = namedParams__parser_u643(p_p0, result, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)40), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T37_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T37_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)11):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
			{
				NIM_BOOL isDotLike2_1;
				isDotLike2_1 = isDotLike__parser_u674((&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NIM_BOOL T41_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T46_;
					T41_ = (NIM_BOOL)0;
					T41_ = isDotLike2_1;
					if (!(T41_)) goto LA42_;
					T41_ = isDefined__options_u959((*p_p0).lex.config, TM__MW5RrD2zyVLHF67ojsDu8Q_40);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA42_: ;
					if (!T41_) goto LA43_;
					T45_ = NIM_NIL;
					T45_ = dotLikeExpr__parser_u466(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T45_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T46_ = NIM_NIL;
					T46_ = parseGStrLit__parser_u524(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T46_); goto BeforeRet_;}
					eqsink___ast_u3261(&result, T46_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA39_;
LA43_: ;
				{
					{
						if (!isDotLike2_1) goto LA50_;
						parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)26), TM__MW5RrD2zyVLHF67ojsDu8Q_42);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA50_: ;
					{
						NIM_BOOL T54_;
						NIM_BOOL T56_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T60_;
						T54_ = (NIM_BOOL)0;
						T54_ = ((*p_p0).inPragma == ((NI)0));
						if (!(T54_)) goto LA55_;
						T56_ = (NIM_BOOL)0;
						T56_ = isUnary__parser_u280((&(*p_p0).tok));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (T56_) goto LA57_;
						T56_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108)));
LA57_: ;
						T54_ = T56_;
LA55_: ;
						if (!T54_) goto LA58_;
						T60_ = NIM_NIL;
						T60_ = commandExpr__parser_u664(p_p0, result, mode_p3);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T60_); goto BeforeRet_;}
						eqsink___ast_u3261(&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__eTSqWXWVL7LuzmZf0c6unQ*, optPragmas__parser_u961)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA7_: ;
	{
		eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, replaceSon__ast_u5274)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NI i_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newson_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3255(&(*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__eTSqWXWVL7LuzmZf0c6unQ*, parseProcExpr__parser_u986)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL isExpr_p1, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_1;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA 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__parser_u71((&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104));
	if (!(T2_)) goto LA3_;
	T2_ = ((*p_p0).tok.indent < ((NI)0));
LA3_: ;
	hasSignature_1 = T2_;
	params_1 = parseParamList__parser_u263(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragmas_1 = optPragmas__parser_u961(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T6_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106));
		if (!(T6_)) goto LA7_;
		T6_ = isExpr_p1;
LA7_: ;
		if (!T6_) goto LA8_;
		colontmpD_ = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		result = newProcNode__ast_u5430(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__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		colontmpD_ = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		replaceSon__ast_u5274(result, ((NI)6), colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA4_;
LA8_: ;
	{
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__3;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw T14_;
		colontmpD__2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		colontmpD__3 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		T14_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		{
			if (!(kind_p2 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84))) goto LA17_;
			colontmpD__2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)148);
			T14_ = colontmpD__2;
		}
		goto LA15_;
LA17_: ;
		{
			colontmpD__3 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)147);
			T14_ = colontmpD__3;
		}
LA15_: ;
		result = newNode__ast_u4117(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__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA23_: ;
			if (!T22_) goto LA24_;
			{
				if (!hasSignature_1) goto LA28_;
				add__ast_u3215(result, params_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			goto LA26_;
LA28_: ;
			{
				add__ast_u3215(result, (*p_p0).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA26_: ;
			{
				if (!(kind_p2 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159))) goto LA33_;
				parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_44);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA33_: ;
			add__ast_u3215(result, pragmas_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA24_: ;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(pragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, primary__parser_u109)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		NIM_BOOL isSigil_1;
		T3_ = (NIM_BOOL)0;
		T3_ = isOperator__parser_u38((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		a_1 = NIM_NIL;
		isSigil_1 = isSigilLike__parser_u266((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		a_1 = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__parser_u80(p_p0, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NIM_BOOL T9_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			NI baseInd_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
			T9_ = (NIM_BOOL)0;
			T9_ = isSigil_1;
			if (!(T9_)) goto LA10_;
			T9_ = ((TM__MW5RrD2zyVLHF67ojsDu8Q_35[(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__parser_u628(p_p0, mode_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__ast_u3215(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			T14_ = NIM_NIL;
			T14_ = primarySuffix__parser_u681(p_p0, result, baseInd_1, mode_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA13_;}
			eqsink___ast_u3261(&result, T14_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin13_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
		goto LA7_;
LA11_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = primary__parser_u109(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			add__ast_u3215(result, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				LA18_:;
			}
			{
				oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				*nimErr_ = oldNimErrFin18_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA7_: ;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)51):
	{
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__parser_u986(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1))), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)30):
	{
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__parser_u986(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1))), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
	{
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = parseProcExpr__parser_u986(p_p0, !((mode_p1 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1))), ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)7):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)55), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		colontmpD__3 = primary__parser_u109(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
		{
			LA27_:;
		}
		{
			oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin27_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)12):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)18):
	{
		result = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NI baseInd_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
		baseInd_2 = (*p_p0).lex.currLineIndent;
		result = identOrLiteral__parser_u628(p_p0, mode_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T32_ = NIM_NIL;
		T32_ = primarySuffix__parser_u681(p_p0, result, baseInd_2, mode_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T32_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, checkBinary__parser_u292)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110))) goto LA3_;
		{
			NimStringV2 colontmpD_;
			if (!((*p_p0).tok.spacing == 2)) goto LA7_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD_ = prettyTok__lexer_u248((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			parMessage__parser_u42(p_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)60), colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isRightAssociative__parser_u273)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*tok_p0).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110));
	if (!(T1_)) goto LA2_;
	T1_ = ((NU8)((*(*tok_p0).ident).s.p->data[((NI)0)]) == (NU8)(94));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseOperators__parser_u712)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* headNode_p1, NI limit_p2, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw colontmpD_;
	tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw colontmpD__2;
	NI opPrec_1;
	tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw modeB_1;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = (tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0;
	colontmpD__2 = (tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0;
	eqcopy___ast_u3255(&result, headNode_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	opPrec_1 = getPrecedence__lexer_u1691((&(*p_p0).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(mode_p3 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2))) goto LA3_;
		colontmpD_ = ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)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__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* opNode_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
			NI leftAssoc_1;
			NIM_BOOL T14_;
			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__parser_u280((&(*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__parser_u292((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			T14_ = (NIM_BOOL)0;
			T14_ = isRightAssociative__parser_u273((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			leftAssoc_1 = !(T14_);
			a_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			opNode_1 = newIdentNodeP__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			flexComment__parser_u181(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			optPar__parser_u78(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			b_1 = simpleExprAux__parser_u112(p_p0, (NI)(opPrec_1 + leftAssoc_1), modeB_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__ast_u3215(a_1, opNode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__ast_u3215(a_1, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			add__ast_u3215(a_1, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			eqsink___ast_u3261(&result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			opPrec_1 = getPrecedence__lexer_u1691((&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
			{
				LA13_:;
			}
			{
				oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(opNode_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, simpleExprAux__parser_u112)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NI limit_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_2;
NIM_BOOL oldNimErrFin15_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	mode_2 = mode_p2;
	result = primary__parser_u109(p_p0, mode_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(mode_2 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)3))) goto LA3_;
		mode_2 = ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmaExp_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__pFN2xZHcsRV1DnjXhNjuJw)0));
LA12_: ;
		if (!T7_) goto LA13_;
		pragmaExp_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		pragmaExp_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		add__ast_u3215(pragmaExp_1, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD_ = parsePragma__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		add__ast_u3215(pragmaExp_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		eqsink___ast_u3261(&result, pragmaExp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		eqwasMoved___ast_u3249(&pragmaExp_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			LA15_:;
		}
		{
			oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(pragmaExp_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin15_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	T18_ = NIM_NIL;
	T18_ = parseOperators__parser_u712(p_p0, result, limit_p1, mode_2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, simpleExpr__parser_u530)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = simpleExprAux__parser_u112(p_p0, ((NI)-1), mode_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTuple__parser_u867)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL indentAllowed_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)134), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92))) goto LA3_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
				tySet_tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw T8_;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112))) goto LA6;
				a_1 = NIM_NIL;
				T8_ = 0;
				a_1 = parseIdentColonEquals__parser_u829(p_p0, T8_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				add__ast_u3215(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103)))) goto LA11_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA11_: ;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				skipComment__parser_u46(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					LA7_:;
				}
				{
					oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin7_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA6: ;
		} LA5: ;
		optPar__parser_u78(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		if (!indentAllowed_p1) goto LA16_;
		skipComment__parser_u46(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__parser_u163(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					switch ((*p_p0).tok.tokType) {
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
						tySet_tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw T26_;
						a_2 = NIM_NIL;
						T26_ = 0;
						a_2 = parseIdentColonEquals__parser_u829(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__parser_u163(p_p0, a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						}
LA31_: ;
						add__ast_u3215(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						{
							LA25_:;
						}
						{
							oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin25_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1):
					{
						goto LA22;
					}
					break;
					default:
					{
						parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_45, (&(*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__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA42_;
		parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__MW5RrD2zyVLHF67ojsDu8Q_47);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA42_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T45_;
		T45_ = NIM_NIL;
		T45_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)135), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T45_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T45_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseEnum__parser_u1081)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	flexComment__parser_u181(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* symPragma_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_1;
			a_1 = NIM_NIL;
			symPragma_1 = NIM_NIL;
			pragma_1 = NIM_NIL;
			a_1 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA6_;
				eqdestroy___ast_u3252(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA6_: ;
			eqcopy___ast_u3255(&symPragma_1, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			pragma_1 = 0;
			{
				NIM_BOOL T10_;
				NIM_BOOL T11_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)98));
LA13_: ;
				if (!T10_) goto LA14_;
				pragma_1 = optPragmas__parser_u961(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				T16_ = NIM_NIL;
				T16_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA3_;}
				eqsink___ast_u3261(&symPragma_1, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__ast_u3215(symPragma_1, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__ast_u3215(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__ast_u3215(result, symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3252(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA21_: ;
			{
				NIM_BOOL T25_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T30_;
				T25_ = (NIM_BOOL)0;
				T25_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				optInd__parser_u80(p_p0, symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				b_1 = symPragma_1;
				eqwasMoved___ast_u3249(&symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				T30_ = NIM_NIL;
				T30_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)151), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T30_); goto LA29_;}
				eqsink___ast_u3261(&symPragma_1, T30_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				add__ast_u3215(symPragma_1, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				colontmpD_ = parseExpr__parser_u254(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				add__ast_u3215(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__parser_u163(p_p0, symPragma_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				}
LA35_: ;
				{
					LA29_:;
				}
				{
					oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
					eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)102));
				if (!(T41_)) goto LA42_;
				T41_ = ((*p_p0).tok.indent < ((NI)0));
LA42_: ;
				if (!T41_) goto LA43_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				rawSkipComment__parser_u163(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__parser_u163(p_p0, symPragma_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				}
LA50_: ;
			}
LA39_: ;
			add__ast_u3215(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__lTUY8lCIkO3nhCc7lqA4RA)1));
LA57_: ;
				if (!T54_) goto LA58_;
				eqdestroy___ast_u3252(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA58_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(pragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(symPragma_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA1: ;
	{
		NI T64_;
		T64_ = (NI)0;
		T64_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((((NI)1) < T64_))) goto LA65_;
		parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_50, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA65_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectWhen__parser_u1501)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)140), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__parser_u309(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseObjectPart__parser_u1499(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			flexComment__parser_u181(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(result, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21)))) goto LA6_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	{
		NIM_BOOL T12_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		T12_ = (NIM_BOOL)0;
		T12_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		colcom__parser_u309(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		colontmpD__3 = parseObjectPart__parser_u1499(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		add__ast_u3215(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		flexComment__parser_u181(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		add__ast_u3215(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
		{
			LA16_:;
		}
		{
			oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectCase__parser_u1514)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48)))) goto LA4_;
		{
			if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA8_;
			parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_52);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA8_: ;
	}
LA4_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112))) goto LA12_;
		a_1 = parseIdentColonEquals__parser_u829(p_p0, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA10_;
LA12_: ;
	{
		a_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prag_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98))) goto LA17_;
			prag_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			prag_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__ast_u3215(prag_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			colontmpD_ = parsePragma__parser_u100(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__ast_u3215(prag_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			add__ast_u3215(a_1, prag_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(prag_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA15_;
LA17_: ;
		{
			add__ast_u3215(a_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA15_: ;
		add__ast_u3215(a_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(a_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	add__ast_u3215(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA25_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	flexComment__parser_u181(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__eTSqWXWVL7LuzmZf0c6unQ* b_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)48):
			{
				b_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				exprList__parser_u374(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22):
			{
				b_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
			break;
			default:
			{
				eqdestroy___ast_u3252(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA31;
			}
			break;
			}
			colcom__parser_u309(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			fields_1 = parseObjectPart__parser_u1499(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
				if (!((*fields_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA39_;
				parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_53, (&(*p_p0).tok));
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
				T41_ = NIM_NIL;
				T41_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA33_;}
				eqsink___ast_u3261(&fields_1, T41_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			}
LA39_: ;
			add__ast_u3215(b_1, fields_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			add__ast_u3215(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			{
				if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88))) goto LA44_;
				eqdestroy___ast_u3252(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA31;
			}
LA44_: ;
			{
				LA33_:;
			}
			{
				oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(fields_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(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___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseObjectPart__parser_u1499)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		oldIndX60gensym206__1 = (*p_p0).currInd;
		(*p_p0).currInd = (*p_p0).tok.indent;
		rawSkipComment__parser_u163(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__lTUY8lCIkO3nhCc7lqA4RA)10):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)17):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					colontmpD_ = NIM_NIL;
					colontmpD_ = parseObjectPart__parser_u1499(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					add__ast_u3215(result, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
					{
						LA8_:;
					}
					{
						oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin8_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_51, (&(*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__lTUY8lCIkO3nhCc7lqA4RA)65):
		{
			result = parseObjectWhen__parser_u1501(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
		{
			result = parseObjectCase__parser_u1514(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
		{
			result = parseIdentColonEquals__parser_u829(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__parser_u163(p_p0, result);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA24_: ;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)17):
		{
			result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
	goto LA1_;
LA15_: ;
	{
		eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseObject__parser_u1083)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__ast_u3215(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)77), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD_ = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(a_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA13_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	{
		if (!!(((*p_p0).currInd < (*p_p0).tok.indent))) goto LA17_;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA15_;
LA17_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseObjectPart__parser_u1499(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
		{
			LA20_:;
		}
		{
			oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeClassParam__parser_u1564)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD_;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__2;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__3;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__4;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__5;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__6;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__7;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw modifier_1;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__2 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__3 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__4 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__5 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__6 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	colontmpD__7 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
	{
		colontmpD_ = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143);
		modifier_1 = colontmpD_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
	{
		colontmpD__2 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)145);
		modifier_1 = colontmpD__2;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	{
		colontmpD__3 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142);
		modifier_1 = colontmpD__3;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	{
		colontmpD__4 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141);
		modifier_1 = colontmpD__4;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
	{
		colontmpD__5 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)137);
		modifier_1 = colontmpD__5;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
	{
		colontmpD__6 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132);
		modifier_1 = colontmpD__6;
	}
	break;
	default:
	{
		colontmpD__7 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1);
		modifier_1 = colontmpD__7;
	}
	break;
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		if (!!((modifier_1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA10_;
		colontmpD__8 = NIM_NIL;
		result = newNodeP__parser_u49(modifier_1, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		colontmpD__8 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		add__ast_u3215(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			LA12_:;
		}
		{
			oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin12_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA8_;
LA10_: ;
	{
		result = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, validInd__parser_u160)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* 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__ast_u7641)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	result = ((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeClass__parser_u1085)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)136), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA3_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* args_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.indent < ((NI)0))) goto LA7_;
		args_1 = NIM_NIL;
		colontmpD_ = NIM_NIL;
		args_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)152), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(result, args_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		colontmpD_ = parseTypeClassParam__parser_u1564(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		add__ast_u3215(args_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102))) goto LA11;
				colontmpD__2 = NIM_NIL;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				colontmpD__2 = parseTypeClassParam__parser_u1564(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				add__ast_u3215(args_1, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				{
					LA12_:;
				}
				{
					oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
					*nimErr_ = oldNimErrFin12_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			} LA11: ;
		}
		{
			LA9_:;
		}
		{
			oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(args_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin9_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA7_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	{
		NIM_BOOL T20_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		T20_ = (NIM_BOOL)0;
		T20_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98));
		if (!(T20_)) goto LA21_;
		T20_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA21_: ;
		if (!T20_) goto LA22_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = parsePragma__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
		{
			LA24_:;
		}
		{
			oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin24_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA18_;
LA22_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA18_: ;
	{
		NIM_BOOL T30_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		T30_ = (NIM_BOOL)0;
		T30_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48));
		if (!(T30_)) goto LA31_;
		T30_ = ((*p_p0).tok.indent < ((NI)0));
LA31_: ;
		if (!T30_) goto LA32_;
		a_1 = NIM_NIL;
		a_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)77), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				colontmpD__4 = NIM_NIL;
				colontmpD__4 = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				add__ast_u3215(a_1, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA40_;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					goto LA35;
				}
LA40_: ;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					LA37_:;
				}
				{
					oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
					*nimErr_ = oldNimErrFin37_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
			}
		} LA35: ;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
		{
			LA34_:;
		}
		{
			oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin34_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA28_;
LA32_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA28_: ;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA49_;
		skipComment__parser_u46(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__ast_u7641(result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T57_) goto LA58_;
			parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_55, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA58_: ;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA51_;
LA53_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		colontmpD__5 = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		{
			LA61_:;
		}
		{
			oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, binaryNot__parser_u1117)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* notOpr_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u64((*p_p0).tok.ident, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		optInd__parser_u80(p_p0, notOpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		b_1 = primary__parser_u109(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, notOpr_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(notOpr_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___ast_u3255(&result, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDefValue__parser_u261)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin19_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
	{
		result = parseTuple__parser_u867(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	{
		result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	{
		result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)18):
	{
		result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
	{
		result = parseEnum__parser_u1081(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
	{
		result = parseObject__parser_u1083(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)12):
	{
		result = parseTypeClass__parser_u1085(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleExpr__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T22_;
			if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)45)))) goto LA11_;
			{
				NIM_BOOL isFirstParam_1;
				if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26))) goto LA15_;
				isFirstParam_1 = NIM_FALSE;
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102))) goto LA18;
						colontmpD_ = NIM_NIL;
						getTok__parser_u40(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						optInd__parser_u80(p_p0, result);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						colontmpD_ = commandParam__parser_u650(p_p0, (&isFirstParam_1), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						add__ast_u3215(result, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						{
							LA19_:;
						}
						{
							oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin19_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA18: ;
				}
			}
LA15_: ;
			T22_ = NIM_NIL;
			T22_ = postExprBlocks__parser_u102(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T22_); goto BeforeRet_;}
			eqsink___ast_u3261(&result, T22_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
	break;
	}
	T23_ = NIM_NIL;
	T23_ = binaryNot__parser_u1117(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T23_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T23_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_u1018)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1) {
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
			s_1 = NIM_NIL;
			s_1 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*s_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA6_;
				eqdestroy___ast_u3252(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__ast_u3215(result_p1, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA10_;
				eqdestroy___ast_u3252(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA10_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDescKAux__parser_u1030)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw mode_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(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__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_ = (NIM_BOOL)0;
	T7_ = (mode_p2 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
	if (!(T7_)) goto LA8_;
	T7_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61));
LA8_: ;
	isTypedef_1 = T7_;
	{
		NIM_BOOL T11_;
		NIM_BOOL T12_;
		T11_ = (NIM_BOOL)0;
		T12_ = (NIM_BOOL)0;
		T12_ = isOperator__parser_u38((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T11_ = !(T12_);
		if (!(T11_)) goto LA13_;
		T11_ = isExprStart__parser_u1015((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
		if (!T11_) goto LA14_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			if (!isTypedef_1) goto LA18_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = parseTypeDefValue__parser_u261(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			add__ast_u3215(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				LA20_:;
			}
			{
				oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin20_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA16_;
LA18_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = primary__parser_u109(p_p0, mode_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			add__ast_u3215(result, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA16_: ;
	}
LA14_: ;
	{
		NIM_BOOL T29_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* list_1;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw nodeKind_1;
		T29_ = (NIM_BOOL)0;
		T29_ = (kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146));
		if (!(T29_)) goto LA30_;
		T29_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2));
LA30_: ;
		if (!T29_) goto LA31_;
		list_1 = NIM_NIL;
		nodeKind_1 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		{
			if (!eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_57)) goto LA36_;
			nodeKind_1 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)130);
		}
		goto LA34_;
LA36_: ;
		{
			if (!eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_59)) goto LA39_;
			nodeKind_1 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)131);
		}
		goto LA34_;
LA39_: ;
		{
			eqdestroy___ast_u3252(list_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA34_: ;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		list_1 = newNodeP__parser_u49(nodeKind_1, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		add__ast_u3215(result, list_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		parseSymbolList__parser_u1018(p_p0, list_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		{
			LA33_:;
		}
		{
			oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(list_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin33_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA31_: ;
	{
		NIM_BOOL T46_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T50_;
		T46_ = (NIM_BOOL)0;
		T46_ = (mode_p2 == ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)2));
		if (!(T46_)) goto LA47_;
		T46_ = !(isTypedef_1);
LA47_: ;
		if (!T46_) goto LA48_;
		T50_ = NIM_NIL;
		T50_ = parseOperators__parser_u712(p_p0, result, ((NI)-1), mode_p2);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T50_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T50_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA48_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDesc__parser_u258)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL fullExpr_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!fullExpr_p1) goto LA3_;
		result = simpleExpr__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		switch ((*p_p0).tok.tokType) {
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
		{
			result = parseTuple__parser_u867(p_p0, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
		{
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = parseProcExpr__parser_u986(p_p0, NIM_FALSE, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
		{
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = parseProcExpr__parser_u986(p_p0, NIM_FALSE, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
		{
			result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)150), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
		{
			result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)133), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)12):
		{
			eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_49);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
		{
			result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)143), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
		{
			result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)145), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
		{
			result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)141), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
		{
			result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)142), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)18):
		{
			result = parseTypeDescKAux__parser_u1030(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)146), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			result = simpleExpr__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
LA1_: ;
	T18_ = NIM_NIL;
	T18_ = binaryNot__parser_u1117(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto BeforeRet_;}
	eqsink___ast_u3261(&result, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIdentColonEquals__parser_u829)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tySet_tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw flags_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
			{
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T9_;
					if (!((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw)0)))&7U)))!=0)) goto LA7_;
					T9_ = NIM_NIL;
					T9_ = identWithPragma__parser_u812(p_p0, ((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw)2)))&7U)))!=0));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T9_); goto LA1_;}
					eqsink___ast_u3261(&a_1, T9_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				goto LA5_;
LA7_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
					T11_ = NIM_NIL;
					T11_ = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
					eqsink___ast_u3261(&a_1, T11_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA5_: ;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA14_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA14_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA19_;
				goto LA2;
			}
LA19_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA23_;
		colontmpD_ = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		colontmpD_ = parseTypeDesc__parser_u258(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
		{
			LA25_:;
		}
		{
			oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin25_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA21_;
LA23_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		{
			NIM_BOOL T32_;
			T32_ = (NIM_BOOL)0;
			T32_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106)));
			if (!(T32_)) goto LA33_;
			T32_ = !(((flags_p1 &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__ZbsdqvgKjWuKPy4hP2nWdw)1)))&7U)))!=0));
LA33_: ;
			if (!T32_) goto LA34_;
			parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_61, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
		}
LA34_: ;
		{
			LA29_:;
		}
		{
			oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin29_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA40_;
		colontmpD__3 = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		colontmpD__3 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		{
			LA42_:;
		}
		{
			oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin42_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA38_;
LA40_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		colontmpD__4 = NIM_NIL;
		colontmpD__4 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA38_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__parser_u933)(tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ s_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA 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__B9b5gMUY8navZXMyNpd3QpQ, dotdot___parser_u901)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA a_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA b_p1) {
	tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(void, replaceFirstSon__ast_u5271)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* newson_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3255(&(*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__eTSqWXWVL7LuzmZf0c6unQ*, parseParamList__parser_u263)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL retColon_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90));
	if (!(T2_)) goto LA3_;
	T2_ = ((*p_p0).tok.indent < ((NI)0));
LA3_: ;
	hasParLe_1 = T2_;
	{
		if (!hasParLe_1) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			while (1) {
				switch ((*p_p0).tok.tokType) {
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
					T11_ = NIM_NIL;
					T11_ = parseIdentColonEquals__parser_u829(p_p0, 3);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
					eqsink___ast_u3261(&a_1, T11_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91):
				{
					goto LA8;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
				{
					parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__MW5RrD2zyVLHF67ojsDu8Q_63);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA8;
				}
				break;
				default:
				{
					{
						tyObject_HSlice__B9b5gMUY8navZXMyNpd3QpQ T17_;
						NIM_BOOL T18_;
						NimStringV2 colontmpD__3;
						NimStringV2 T22_;
						T17_ = dotdot___parser_u901(((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3), ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68));
						T18_ = (NIM_BOOL)0;
						T18_ = contains__parser_u933(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_64);
appendString((&T22_), (*(*p_p0).tok.ident).s);
appendString((&T22_), TM__MW5RrD2zyVLHF67ojsDu8Q_66);
						colontmpD__3 = T22_;
						parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						{
							LA21_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__3);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
					goto LA15_;
LA19_: ;
					{
						parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_68);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA15_: ;
					goto LA8;
				}
				break;
				}
				add__ast_u3215(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103)))) goto LA28_;
					goto LA8;
				}
LA28_: ;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				skipComment__parser_u46(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		} LA8: ;
		optPar__parser_u78(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		if (!retColon_p1) goto LA32_;
		colontmpD_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104));
		hasRet_1 = colontmpD_;
	}
	goto LA30_;
LA32_: ;
	{
		NIM_BOOL T35_;
		T35_ = (NIM_BOOL)0;
		T35_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110));
		if (!(T35_)) goto LA36_;
		T35_ = eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_70);
LA36_: ;
		colontmpD__2 = T35_;
		hasRet_1 = colontmpD__2;
	}
LA30_: ;
	{
		NIM_BOOL T39_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		colontmpD__4 = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		replaceFirstSon__ast_u5271(result, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			LA43_:;
		}
		{
			oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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___ast_u3255(&result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA37_;
LA49_: ;
LA37_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, makeCall__parser_u1147)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32))) goto LA3_;
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = newNode__ast_u4117(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseDoBlock__parser_u968)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* params_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragmas_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	params_1 = NIM_NIL;
	pragmas_1 = NIM_NIL;
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	params_1 = parseParamList__parser_u263(p_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	pragmas_1 = optPragmas__parser_u961(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	eqsink___ast_u3261(&result, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*params_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
		if (T5_) goto LA6_;
		T5_ = !(((*pragmas_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA6_: ;
		if (!T5_) goto LA7_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
			if (!((*params_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA1_;}
			eqsink___ast_u3261(&params_1, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__ast_u3215(params_1, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
		T14_ = NIM_NIL;
		T14_ = newProcNode__ast_u5430(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)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___ast_u3252(T14_); goto LA1_;}
		eqsink___ast_u3261(&result, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(pragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__parser_u392)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA endTok_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p2) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			T3_ = (NIM_BOOL)0;
			T3_ = !(((*p_p0).tok.tokType == endTok_p1));
			if (!(T3_)) goto LA4_;
			T3_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1)));
LA4_: ;
			if (!T3_) goto LA2;
			a_1 = NIM_NIL;
			a_1 = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			add__ast_u3215(result_p2, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA8_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA8_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			{
				LA5_:;
			}
			{
				oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, postExprBlocks__parser_u102)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* openingParams_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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___ast_u3255(&result, x_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA4_;
		eqdestroy___ast_u3252(openingPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(openingParams_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	eqcopy___ast_u3255(&openingParams_1, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&openingPragmas_1, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T11_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA8_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = NIM_NIL;
		T10_ = parseParamList__parser_u263(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA1_;}
		eqsink___ast_u3261(&openingParams_1, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T11_ = NIM_NIL;
		T11_ = optPragmas__parser_u961(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T11_); goto LA1_;}
		eqsink___ast_u3261(&openingPragmas_1, T11_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA14_;
		T16_ = NIM_NIL;
		T16_ = makeCall__parser_u1147(result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA1_;}
		eqsink___ast_u3261(&result, T16_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T19_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* stmtList_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			T19_ = (NIM_BOOL)0;
			T19_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD_ = parseStmt__parser_u256(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			add__ast_u3215(stmtList_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				if (!((*(*stmtList_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA26_;
				eqcopy___ast_u3255(&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__3UjGgL9bLM4RXBnoZJs9cviw)16))) & 31);
			{
				NIM_BOOL T30_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				T30_ = (NIM_BOOL)0;
				T30_ = !(((*openingParams_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
				if (T30_) goto LA31_;
				T30_ = !(((*openingPragmas_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)));
LA31_: ;
				if (!T30_) goto LA32_;
				colontmpD__2 = NIM_NIL;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
					if (!((*openingParams_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA36_;
					T38_ = NIM_NIL;
					T38_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76), (&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA23_;}
					eqsink___ast_u3261(&openingParams_1, T38_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
					add__ast_u3215(openingParams_1, (*p_p0).emptyNode);
					if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				}
LA36_: ;
				colontmpD__2 = newProcNode__ast_u5430(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)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__ast_u3215(result, colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA28_;
LA32_: ;
			{
				add__ast_u3215(result, stmtList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA28_: ;
			{
				LA23_:;
			}
			{
				oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(stmtList_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin23_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA21_: ;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nextBlock_1;
				tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA 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__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
					if (!(nextToken_1 == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20))) goto LA47_;
					info_1 = parLineInfo__parser_u71((&(*p_p0)));
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					getTok__parser_u40(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
					nextBlock_1 = parseDoBlock__parser_u968(p_p0, info_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				}
				goto LA45_;
LA47_: ;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
					colontmpD__3 = NIM_NIL;
					switch (nextToken_1) {
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48):
					{
						nextBlock_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						exprList__parser_u374(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104), nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
						colontmpD__4 = NIM_NIL;
						nextBlock_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						getTok__parser_u40(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						optInd__parser_u80(p_p0, nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						colontmpD__4 = parseExpr__parser_u254(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						add__ast_u3215(nextBlock_1, colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
						{
							LA53_:;
						}
						{
							oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD__4);
							if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
							*nimErr_ = oldNimErrFin53_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25):
					{
						nextBlock_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						optionalExprList__parser_u392(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104), nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)27):
					{
						nextBlock_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						getTok__parser_u40(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22):
					{
						nextBlock_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), (&(*p_p0)));
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
						getTok__parser_u40(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					}
					break;
					default:
					{
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						eqdestroy___ast_u3252(nextBlock_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA42;
					}
					break;
					}
					eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104));
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					colontmpD__3 = parseStmt__parser_u256(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					add__ast_u3215(nextBlock_1, colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
					{
						LA50_:;
					}
					{
						oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
						*nimErr_ = oldNimErrFin50_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				}
LA45_: ;
				(*nextBlock_1).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)16))) & 31);
				add__ast_u3215(result, nextBlock_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
				{
					if (!((*nextBlock_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88) || (*nextBlock_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107))) goto LA64_;
					eqdestroy___ast_u3252(nextBlock_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA42;
				}
LA64_: ;
				{
					LA44_:;
				}
				{
					oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(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__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA71_;
			parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_72);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA71_: ;
	}
LA12_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(openingPragmas_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseReturnOrRaise__parser_u1281)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA3_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(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__parser_u1015((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = !(T10_);
LA9_: ;
		if (!T6_) goto LA11_;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA11_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T15_;
		e_1 = NIM_NIL;
		e_1 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_ = NIM_NIL;
		T15_ = postExprBlocks__parser_u102(p_p0, e_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T15_); goto LA14_;}
		eqsink___ast_u3261(&e_1, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		add__ast_u3215(result, e_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseModuleName__parser_u1227)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseImport__parser_u1231)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseModuleName__parser_u1227(p_p0, kind_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25))) goto LA4_;
		{
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25))) goto LA8_;
			transitionSonsKind__ast_u6769(result, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)(kind_p1 + ((NI)1))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA8_: ;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
				(*p_p0).hasProgress = NIM_FALSE;
				T12_ = NIM_NIL;
				T12_ = parseModuleName__parser_u1227(p_p0, kind_p1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA1_;}
				eqsink___ast_u3261(&a_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
					if (T15_) goto LA16_;
					T15_ = !((*p_p0).hasProgress);
LA16_: ;
					if (!T15_) goto LA17_;
					goto LA10;
				}
LA17_: ;
				add__ast_u3215(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA21_;
					goto LA10;
				}
LA21_: ;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				optInd__parser_u80(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
		} LA10: ;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseFromStmt__parser_u1269)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	a_1 = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)120), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseModuleName__parser_u1227(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)32));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T4_;
			(*p_p0).hasProgress = NIM_FALSE;
			T4_ = NIM_NIL;
			T4_ = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T4_); goto LA1_;}
			eqsink___ast_u3261(&a_1, T4_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NIM_BOOL T7_;
				T7_ = (NIM_BOOL)0;
				T7_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
				if (T7_) goto LA8_;
				T7_ = !((*p_p0).hasProgress);
LA8_: ;
				if (!T7_) goto LA9_;
				goto LA2;
			}
LA9_: ;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA13_;
				goto LA2;
			}
LA13_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseIncludeStmt__parser_u1257)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)121), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			a_1 = NIM_NIL;
			(*p_p0).hasProgress = NIM_FALSE;
			a_1 = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
				if (T6_) goto LA7_;
				T6_ = !((*p_p0).hasProgress);
LA7_: ;
				if (!T6_) goto LA8_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA8_: ;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA12_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA12_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, newCommentStmt__parser_u1450)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	commenteq___ast_u1334(result, (*p_p0).tok.literal);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseExprStmt__parser_u105)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA4_;
		b_1 = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)73), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		b_1 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = NIM_NIL;
		T7_ = postExprBlocks__parser_u102(p_p0, b_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto LA6_;}
		eqsink___ast_u3261(&b_1, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ* T32_;
		isFirstParam_1 = NIM_FALSE;
		{
			NIM_BOOL T13_;
			tyArray__TAsXwXSUBvAawE1kIQ5ziQ T17_;
			NI baseIndent_1;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*p_p0).tok.indent < ((NI)0));
			if (!(T13_)) goto LA14_;
			T13_ = isExprStart__parser_u1015((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA14_: ;
			if (!T13_) goto LA15_;
			nimZeroMem((void*)T17_, sizeof(tyArray__TAsXwXSUBvAawE1kIQ5ziQ));
			T17_[0] = a_1;
			result = newTree__ast_u4140(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26), (*a_1).info, T17_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			baseIndent_1 = (*p_p0).currInd;
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
					colontmpD_ = NIM_NIL;
					colontmpD_ = commandParam__parser_u650(p_p0, (&isFirstParam_1), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					add__ast_u3215(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__lTUY8lCIkO3nhCc7lqA4RA)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___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						goto LA18;
					}
LA27_: ;
					getTok__parser_u40(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					optInd__parser_u80(p_p0, result);
					if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
					{
						LA20_:;
					}
					{
						oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						*nimErr_ = oldNimErrFin20_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
			} LA18: ;
		}
		goto LA11_;
LA15_: ;
		{
			result = a_1;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA11_: ;
		T32_ = NIM_NIL;
		T32_ = postExprBlocks__parser_u102(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA1_;}
		eqsink___ast_u3261(&result, T32_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, simpleStmt__parser_u1681)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)55):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)109));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)53):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)108));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)104));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)17):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)114));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)9):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)110));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)14):
	{
		result = parseReturnOrRaise__parser_u1281(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)111));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98):
	{
		result = parseStmtPragma__parser_u98(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)32):
	{
		result = parseImport__parser_u1231(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)116));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)26):
	{
		result = parseImport__parser_u1231(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)118));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)29):
	{
		result = parseFromStmt__parser_u1269(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)34):
	{
		result = parseIncludeStmt__parser_u1257(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111):
	{
		result = newCommentStmt__parser_u1450(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = isExprStart__parser_u1015((&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T16_) goto LA17_;
			result = parseExprStmt__parser_u105(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA14_;
LA17_: ;
		{
			eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
	}
	break;
	}
	{
		if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125)))) goto LA22_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA22_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseStmt__parser_u256)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)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__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)103))) goto LA13_;
					getTok__parser_u40(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___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)107)));
LA26_: ;
						if (!T25_) goto LA27_;
						parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_26);
						if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					}
LA27_: ;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA8_: ;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)99) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93))) goto LA31_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA31_: ;
				(*p_p0).hasProgress = NIM_FALSE;
				{
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21))) goto LA35_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA35_: ;
				a_1 = complexOrSimpleStmt__parser_u528(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				{
					NIM_BOOL T39_;
					T39_ = (NIM_BOOL)0;
					T39_ = ((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1));
					if (!(T39_)) goto LA40_;
					T39_ = !((*p_p0).hasProgress);
LA40_: ;
					if (!T39_) goto LA41_;
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_28, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
				goto LA37_;
LA41_: ;
				{
					add__ast_u3215(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__lTUY8lCIkO3nhCc7lqA4RA)1));
LA47_: ;
					if (!T46_) goto LA48_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA5;
				}
LA48_: ;
				{
					LA7_:;
				}
				{
					oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(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__lTUY8lCIkO3nhCc7lqA4RA)31):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)66):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)60):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)28):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)8):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)6):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)30):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)40):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)13):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
		case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
		{
			parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_30);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqcopy___ast_u3255(&result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			{
				if (!(((NI)0) < (*p_p0).inSemiStmtList)) goto LA57_;
				result = simpleStmt__parser_u1681(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA61_;
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_73, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA61_: ;
			}
			goto LA55_;
LA57_: ;
			{
				result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					while (1) {
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
						NIM_BOOL err_1;
						a_2 = NIM_NIL;
						{
							if (!(((NI)0) <= (*p_p0).tok.indent)) goto LA69_;
							parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_74);
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						}
LA69_: ;
						(*p_p0).hasProgress = NIM_FALSE;
						a_2 = simpleStmt__parser_u1681(p_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						err_1 = !((*p_p0).hasProgress);
						{
							if (!((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA73_;
							parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_75, (&(*p_p0).tok));
							if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						}
LA73_: ;
						add__ast_u3215(result, a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
						{
							if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103)))) goto LA77_;
							eqdestroy___ast_u3252(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA64;
						}
LA77_: ;
						getTok__parser_u40(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__lTUY8lCIkO3nhCc7lqA4RA)1));
LA82_: ;
							if (!T81_) goto LA83_;
							eqdestroy___ast_u3252(a_2);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto LA64;
						}
LA83_: ;
						{
							LA66_:;
						}
						{
							oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseBlock__parser_u107)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)112), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTokNoInd__parser_u194(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA4_;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseVarTuple__parser_u1058)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)36), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA2;
			a_1 = NIM_NIL;
			a_1 = 0;
			{
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA6_;
				a_1 = parseVarTuple__parser_u1058(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				add__ast_u3215(a_1, (*p_p0).emptyNode);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
			goto LA4_;
LA6_: ;
			{
				a_1 = identWithPragma__parser_u812(p_p0, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
LA4_: ;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA11_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA11_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__parser_u46(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA17_;
		colontmpD_ = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		colontmpD_ = parseTypeDesc__parser_u258(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA15_;
LA17_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA15_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseFor__parser_u1060)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u194(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)94), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA4_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = parseVarTuple__parser_u1058(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		a_1 = NIM_NIL;
		a_1 = identWithPragma__parser_u812(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		add__ast_u3215(result, a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T20_;
				if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102))) goto LA12;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				optInd__parser_u80(p_p0, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
					if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA15_;
					colontmpD__4 = NIM_NIL;
					colontmpD__4 = parseVarTuple__parser_u1058(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					add__ast_u3215(result, colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
					goto LA11;
					{
						LA17_:;
					}
					{
						oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
						*nimErr_ = oldNimErrFin17_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				}
LA15_: ;
				T20_ = NIM_NIL;
				T20_ = identWithPragma__parser_u812(p_p0, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T20_); goto LA10_;}
				eqsink___ast_u3261(&a_1, T20_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				add__ast_u3215(result, a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			} LA12: ;
		} LA11: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)33));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseCase__parser_u96)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)97), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA4_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	skipComment__parser_u46(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__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			if (!((*p_p0).tok.indent == (*p_p0).currInd)) goto LA11;
			colontmpD__2 = NIM_NIL;
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T18_;
				{
					if (!inElif_1) goto LA16_;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					goto LA10;
				}
LA16_: ;
				T18_ = NIM_NIL;
				T18_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T18_); goto LA12_;}
				eqsink___ast_u3261(&b_1, T18_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				exprList__parser_u374(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T21_;
				colontmpD__3 = NIM_NIL;
				inElif_1 = NIM_TRUE;
				T21_ = NIM_NIL;
				T21_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T21_); goto LA20_;}
				eqsink___ast_u3261(&b_1, T21_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				optInd__parser_u80(p_p0, b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				colontmpD__3 = parseExpr__parser_u254(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				add__ast_u3215(b_1, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
				{
					LA20_:;
				}
				{
					oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					*nimErr_ = oldNimErrFin20_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
				T25_ = NIM_NIL;
				T25_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T25_); goto LA12_;}
				eqsink___ast_u3261(&b_1, T25_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			break;
			default:
			{
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA10;
			}
			break;
			}
			colcom__parser_u309(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__2 = parseStmt__parser_u256(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__ast_u3215(b_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__ast_u3215(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				if (!((*b_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88))) goto LA29_;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA10;
			}
LA29_: ;
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseTry__parser_u93)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, NIM_BOOL isExpr_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)106), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	parentIndent_1 = (*p_p0).currInd;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	b_1 = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		while (1) {
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NIM_BOOL T8_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)25):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T12_;
				T12_ = NIM_NIL;
				T12_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA10_;}
				eqsink___ast_u3261(&b_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				optionalExprList__parser_u392(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104), b_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)27):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
				T14_ = NIM_NIL;
				T14_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA10_;}
				eqsink___ast_u3261(&b_1, T14_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			}
			break;
			default:
			{
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				goto LA2;
			}
			break;
			}
			colcom__parser_u309(p_p0, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			colontmpD__2 = parseStmt__parser_u256(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			add__ast_u3215(b_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			add__ast_u3215(result, b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
			{
				LA10_:;
			}
			{
				oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin10_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA3: ;
	} LA2: ;
	{
		if (!(b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA20_;
		parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_77);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseExpr__parser_u254)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)8):
	{
		result = parseBlock__parser_u107(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)31):
	{
		result = parseIfOrWhenExpr__parser_u533(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)48));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)28):
	{
		result = parseFor__parser_u1060(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
	{
		result = parseIfOrWhenExpr__parser_u533(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
	{
		result = parseCase__parser_u96(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)60):
	{
		result = parseTry__parser_u93(p_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleExpr__parser_u530(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseIfOrWhen__parser_u1290)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			branch_1 = NIM_NIL;
			colontmpD_ = NIM_NIL;
			colontmpD__2 = NIM_NIL;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			branch_1 = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)86), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD_ = parseExpr__parser_u254(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colcom__parser_u309(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			colontmpD__2 = parseStmt__parser_u256(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(branch_1, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__parser_u46(p_p0, branch_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(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__lTUY8lCIkO3nhCc7lqA4RA)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___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA10_: ;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ* branch_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		T16_ = (NIM_BOOL)0;
		T16_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22));
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colcom__parser_u309(p_p0, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		colontmpD__3 = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__ast_u3215(branch_2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		add__ast_u3215(result, branch_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseWhile__parser_u1318)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)96), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseExceptBlock__parser_u1346)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseStaticOrDefer__parser_u1357)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	result = newNodeP__parser_u49(k_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colcom__parser_u309(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseAsm__parser_u1361)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)89), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTokNoInd__parser_u194(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98))) goto LA3_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = parsePragma__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)83):
	{
		NimStringV2 colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = eqdup___system_u2697((*p_p0).tok.literal);
		colontmpD__3 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20), colontmpD__2, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)84):
	{
		NimStringV2 colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		colontmpD__5 = NIM_NIL;
		colontmpD__4 = eqdup___system_u2697((*p_p0).tok.literal);
		colontmpD__5 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)21), colontmpD__4, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)85):
	{
		NimStringV2 colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		colontmpD__7 = NIM_NIL;
		colontmpD__6 = eqdup___system_u2697((*p_p0).tok.literal);
		colontmpD__7 = newStrNodeP__parser_u60(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22), colontmpD__6, (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_79);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	}
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parsePattern__parser_u1405)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = parseStmt__parser_u256(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_u69)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2)))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = prettyTok__lexer_u248((&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		colontmpD__2 = nsuFormatSingleElem(TM__MW5RrD2zyVLHF67ojsDu8Q_84, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		lexMessage__lexer_u401((&(*p_p0).lex), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseGenericParam__parser_u1368)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)35), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		while (1) {
			switch ((*p_p0).tok.tokType) {
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)33):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* x_1;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
				NimStringV2 T6_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)33))) goto LA9_;
					colontmpD_ = TM__MW5RrD2zyVLHF67ojsDu8Q_81;
					T6_ = colontmpD_;
				}
				goto LA7_;
LA9_: ;
				{
					colontmpD__2 = TM__MW5RrD2zyVLHF67ojsDu8Q_83;
					T6_ = colontmpD__2;
				}
LA7_: ;
				x_1 = getIdent__idents_u206((*p_p0).lex.cache, T6_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				T12_ = NIM_NIL;
				T12_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30), (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T12_); goto LA5_;}
				eqsink___ast_u3261(&a_1, T12_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				colontmpD__3 = newIdentNodeP__parser_u64(x_1, (&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				add__ast_u3215(a_1, colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				expectIdent__parser_u69((&(*p_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				colontmpD__4 = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				add__ast_u3215(a_1, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(colontmpD__3);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
					eqdestroy___idents_u155(x_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
				T16_ = NIM_NIL;
				T16_ = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA1_;}
				eqsink___ast_u3261(&a_1, T16_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!((*a_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA19_;
					eqdestroy___ast_u3252(a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA19_: ;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA24_;
				goto LA2;
			}
LA24_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
	} LA2: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA28_;
		colontmpD__5 = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		colontmpD__5 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		add__ast_u3215(result, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin30_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA26_;
LA28_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA26_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA36_;
		colontmpD__6 = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		colontmpD__6 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		add__ast_u3215(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
		{
			LA38_:;
		}
		{
			oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin38_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
LA36_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA34_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseGenericParamList__parser_u1393)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)75), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)33) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50))) goto LA2;
			a_1 = NIM_NIL;
			a_1 = parseGenericParam__parser_u1368(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103)))) goto LA6_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			skipComment__parser_u46(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin3_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	} LA1: ;
	optPar__parser_u78(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_u83)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)111))) goto LA7_;
			rawSkipComment__parser_u163(p_p0, n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA7_: ;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NI col_1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA 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;
			col_1 = (NI)((*p_p0).bufposPrevious - (*p_p0).lineStartPrevious);
			info_1 = newLineInfo__msgs_u419((*p_p0).lex.fileIdx, (*p_p0).lineNumberPrevious, col_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD_ = dollar___msgs_u714((*p_p0).lex.config, info_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			T13_[0] = colontmpD_;
			colontmpD__2 = nsuFormatOpenArray(TM__MW5RrD2zyVLHF67ojsDu8Q_86, T13_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			parMessage__parser_u145((&(*p_p0)), colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				LA12_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA5_;
LA10_: ;
		{
			parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_87);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
	}
	goto LA1_;
LA3_: ;
	{
		skipComment__parser_u46(p_p0, n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*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___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseRoutine__parser_u1408)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__4;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw colontmpD__5;
		tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw T8_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
		T4_ = (NIM_BOOL)0;
		T4_ = (kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79) || kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51) || kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84) || kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
		if (!(T4_)) goto LA5_;
		T4_ = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType >= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3) && (*p_p0).tok.tokType <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112)));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD__4 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		colontmpD__5 = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		T8_ = (tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0;
		{
			if (!(kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79))) goto LA11_;
			colontmpD__4 = ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)51);
			T8_ = colontmpD__4;
		}
		goto LA9_;
LA11_: ;
		{
			colontmpD__5 = kind_p1;
			T8_ = colontmpD__5;
		}
LA9_: ;
		T14_ = NIM_NIL;
		T14_ = parseProcExpr__parser_u986(p_p0, NIM_TRUE, T8_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto LA1_;}
		eqsink___ast_u3261(&result, T14_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___ast_u3252(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	colontmpD_ = identVis__parser_u799(p_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T17_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		T17_ = (NIM_BOOL)0;
		T17_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94));
		if (!(T17_)) goto LA18_;
		T17_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA18_: ;
		if (!T17_) goto LA19_;
		colontmpD__6 = NIM_NIL;
		colontmpD__6 = parsePattern__parser_u1405(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		add__ast_u3215(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		{
			LA21_:;
		}
		{
			oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin21_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA15_;
LA19_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA15_: ;
	{
		NIM_BOOL T27_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		T27_ = (NIM_BOOL)0;
		T27_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92));
		if (!(T27_)) goto LA28_;
		T27_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA28_: ;
		if (!T27_) goto LA29_;
		colontmpD__7 = NIM_NIL;
		colontmpD__7 = parseGenericParamList__parser_u1393(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		add__ast_u3215(result, colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		{
			LA31_:;
		}
		{
			oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin31_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA25_;
LA29_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA25_: ;
	colontmpD__2 = parseParamList__parser_u263(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T37_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		T37_ = (NIM_BOOL)0;
		T37_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98));
		if (!(T37_)) goto LA38_;
		T37_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA38_: ;
		if (!T37_) goto LA39_;
		colontmpD__8 = NIM_NIL;
		colontmpD__8 = parsePragma__parser_u100(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		add__ast_u3215(result, colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		{
			LA41_:;
		}
		{
			oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin41_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA35_;
LA39_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA35_: ;
	add__ast_u3215(result, (*p_p0).emptyNode);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	maybeMissEquals_1 = !(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106)));
	{
		NIM_BOOL T47_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
		T47_ = (NIM_BOOL)0;
		T47_ = !(maybeMissEquals_1);
		if (!(T47_)) goto LA48_;
		T47_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA48_: ;
		if (!T47_) goto LA49_;
		colontmpD__9 = NIM_NIL;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		skipComment__parser_u46(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		colontmpD__9 = parseStmt__parser_u256(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		add__ast_u3215(result, colontmpD__9);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		{
			LA51_:;
		}
		{
			oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin51_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA45_;
LA49_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA45_: ;
	indAndComment__parser_u83(p_p0, result, maybeMissEquals_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	body_1 = lastSon__ast_u5208(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__eZrq5BxQzEyOryCcwdj4Kw)115));
		if (!(T59_)) goto LA60_;
		T61_ = (NI)0;
		T61_ = len__ast_u3190(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T59_ = (((NI)0) < T61_);
LA60_: ;
		T58_ = T59_;
		if (!(T58_)) goto LA62_;
		colontmpD__3 = comment__ast_u836((*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_;
		T57_ = !(((*(*body_1)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125)));
LA63_: ;
		if (!T57_) goto LA64_;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		{
			NimStringV2 colontmpD__11;
			colontmpD__10 = comment__ast_u836(result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
			if (!(colontmpD__10.len == ((NI)0))) goto LA69_;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			colontmpD__11 = comment__ast_u836((*body_1)._kind_6.sons.p->data[((NI)0)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			commenteq___ast_u1334(result, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			commenteq___ast_u1334((*body_1)._kind_6.sons.p->data[((NI)0)], TM__MW5RrD2zyVLHF67ojsDu8Q_88);
			if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
			{
				LA71_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__11);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
		}
LA69_: ;
		{
			LA66_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__10);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA64_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___ast_u3252(body_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseSection__parser_u1453)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p1, tyProc__9cJRiKAsdI9c9aTgP4Lvbm1bg defparser_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(kind_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!((kind_p1 == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98)))) goto LA3_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	skipComment__parser_u46(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__parser_u46(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__lTUY8lCIkO3nhCc7lqA4RA)2):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
					a_1 = NIM_NIL;
					a_1 = defparser_p2(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					skipComment__parser_u46(p_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					add__ast_u3215(result, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					{
						LA12_:;
					}
					{
						oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin12_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111):
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
					a_2 = NIM_NIL;
					a_2 = newCommentStmt__parser_u1450(p_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					add__ast_u3215(result, a_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
					{
						LA16_:;
					}
					{
						oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(a_2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						*nimErr_ = oldNimErrFin16_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				default:
				{
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_89, (&(*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__ast_u3190(result);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!((((NI)0) < T22_))) goto LA23_;
			parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_90, (&(*p_p0).tok));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA23_: ;
	}
	goto LA5_;
LA7_: ;
	{
		NIM_BOOL T26_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		T26_ = (NIM_BOOL)0;
		T26_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112) || (*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA28_: ;
	{
		parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_91, (&(*p_p0).tok));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTypeDef__parser_u1601)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* identifier_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* identPragma_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* pragma_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)103), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	identifier_1 = identVis__parser_u799(p_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&identPragma_1, identifier_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92));
		if (!(T4_)) goto LA5_;
		T4_ = validInd__parser_u160(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA6_;
		genericParam_1 = parseGenericParamList__parser_u1393(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		eqcopy___ast_u3255(&genericParam_1, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	pragma_1 = optPragmas__parser_u961(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
		if (!!(((*pragma_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1)))) goto LA11_;
		T13_ = NIM_NIL;
		T13_ = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)43), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA1_;}
		eqsink___ast_u3261(&identPragma_1, T13_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(identPragma_1, identifier_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		add__ast_u3215(identPragma_1, pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	add__ast_u3215(result, identPragma_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, genericParam_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T19_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106))) goto LA16_;
		colontmpD_ = NIM_NIL;
		nimZeroMem((void*)(&T19_), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
		T19_ = parLineInfo__parser_u71((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		(*result).info = T19_;
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		colontmpD_ = parseTypeDefValue__parser_u261(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		add__ast_u3215(result, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		{
			LA18_:;
		}
		{
			oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin18_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA14_;
LA16_: ;
	{
		add__ast_u3215(result, (*p_p0).emptyNode);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA14_: ;
	indAndComment__parser_u83(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(genericParam_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(pragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(identPragma_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, parseConstant__parser_u1652)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA4_;
		result = parseVarTuple__parser_u1058(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		colontmpD__2 = NIM_NIL;
		result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)102), (&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		colontmpD__2 = identWithPragma__parser_u812(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		add__ast_u3215(result, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104))) goto LA10_;
			colontmpD__3 = NIM_NIL;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			optInd__parser_u80(p_p0, result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__3 = parseTypeDesc__parser_u258(p_p0, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			add__ast_u3215(result, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__3);
				if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			add__ast_u3215(result, (*p_p0).emptyNode);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	a_1 = parseExpr__parser_u254(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = postExprBlocks__parser_u102(p_p0, a_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	add__ast_u3215(result, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	indAndComment__parser_u83(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, X5BX5Deq___renderer_u710)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3255(&s_p0[(NI)(s_p0Len_0 - i_p1)], x_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseVariable__parser_u1640)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* 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__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA4_;
		colontmpD__3 = NIM_NIL;
		result = parseVarTuple__parser_u1058(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		optInd__parser_u80(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = parseExpr__parser_u254(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		add__ast_u3215(result, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		result = parseIdentColonEquals__parser_u829(p_p0, 5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	colontmpD_ = lastSon__ast_u5208(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = postExprBlocks__parser_u102(p_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	X5BX5Deq___renderer_u710((((*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__parser_u83(p_p0, result, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, qualifiedIdent__parser_u472)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = parseSymbol__parser_u90(p_p0, ((tyEnum_SymbolMode__wJNLJanxexE5cGhGgPecWQ)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = dotExpr__parser_u442(p_p0, result);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
		eqsink___ast_u3261(&result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseBind__parser_u1664)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(k_p1, (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	getTok__parser_u40(p_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	optInd__parser_u80(p_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			a_1 = NIM_NIL;
			a_1 = qualifiedIdent__parser_u472(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			add__ast_u3215(result, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!!(((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102)))) goto LA6_;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			optInd__parser_u80(p_p0, a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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__eTSqWXWVL7LuzmZf0c6unQ*, complexOrSimpleStmt__parser_u528)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*p_p0).tok.tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)31):
	{
		result = parseIfOrWhen__parser_u1290(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)92));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)66):
	{
		result = parseWhile__parser_u1318(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
	{
		result = parseCase__parser_u96(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)60):
	{
		result = parseTry__parser_u93(p_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)27):
	{
		result = parseExceptBlock__parser_u1346(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)107));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25):
	{
		result = parseExceptBlock__parser_u1346(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)87));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)28):
	{
		result = parseFor__parser_u1060(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)8):
	{
		result = parseBlock__parser_u107(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
	{
		result = parseStaticOrDefer__parser_u1357(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)113));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)16):
	{
		result = parseStaticOrDefer__parser_u1357(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)105));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)6):
	{
		result = parseAsm__parser_u1361(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)79));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)30):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)159));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)41):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)80));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)84));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)40):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)82));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)59):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)83));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)15):
	{
		result = parseRoutine__parser_u1408(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)81));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
	{
		getTok__parser_u40(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T25_;
			if (!((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90))) goto LA22_;
			colontmpD_ = NIM_NIL;
			getTok__parser_u40(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)132), (&(*p_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			colontmpD_ = primary__parser_u109(p_p0, ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			add__ast_u3215(result, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			eat__parser_u73(p_p0, ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91));
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			T25_ = NIM_NIL;
			T25_ = parseOperators__parser_u712(p_p0, result, ((NI)-1), ((tyEnum_PrimaryMode__pFN2xZHcsRV1DnjXhNjuJw)0));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T25_); goto LA24_;}
			eqsink___ast_u3261(&result, T25_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
			{
				LA24_:;
			}
			{
				oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin24_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA20_;
LA22_: ;
		{
			result = parseSection__parser_u1453(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)98), parseTypeDef__parser_u1601);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA20_: ;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)13):
	{
		result = parseSection__parser_u1453(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)101), parseConstant__parser_u1652);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)39):
	{
		result = parseSection__parser_u1453(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)100), parseVariable__parser_u1640);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
	{
		result = parseSection__parser_u1453(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)99), parseVariable__parser_u1640);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
	{
		result = parseIfOrWhen__parser_u1290(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)93));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)7):
	{
		result = parseBind__parser_u1664(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)122));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)42):
	{
		result = parseBind__parser_u1664(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)123));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)63):
	{
		result = parseSection__parser_u1453(p_p0, ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)124), parseVariable__parser_u1640);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = simpleStmt__parser_u1681(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseTopLevelStmt__parser_u1749)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&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__lTUY8lCIkO3nhCc7lqA4RA)103)))) goto LA14_;
					{
						NIM_BOOL T18_;
						T18_ = (NIM_BOOL)0;
						T18_ = ((*p_p0).tok.tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110));
						if (!(T18_)) goto LA19_;
						T18_ = eqStrings((*(*p_p0).tok.ident).s, TM__MW5RrD2zyVLHF67ojsDu8Q_3);
LA19_: ;
						if (!T18_) goto LA20_;
						parMessage__parser_u42((&(*p_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__MW5RrD2zyVLHF67ojsDu8Q_5);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					goto LA16_;
LA20_: ;
					{
						parMessage__parser_u145((&(*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__lTUY8lCIkO3nhCc7lqA4RA)103):
			{
				getTok__parser_u40(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*p_p0).tok.indent <= ((NI)0))) goto LA26_;
				}
				goto LA24_;
LA26_: ;
				{
					parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_8);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA24_: ;
				(*p_p0).firstTok = NIM_TRUE;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1):
			{
				goto LA1;
			}
			break;
			default:
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
				T31_ = NIM_NIL;
				T31_ = complexOrSimpleStmt__parser_u528(p_p0);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T31_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA34_;
					parMessage__parser_u141((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_92, (&(*p_p0).tok));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA34_: ;
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseAll__parser_u1764)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeP__parser_u49(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (&(*p_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nextStmt_1;
			nextStmt_1 = NIM_NIL;
			nextStmt_1 = parseTopLevelStmt__parser_u1749(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!((*nextStmt_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1))) goto LA6_;
				eqdestroy___ast_u3252(nextStmt_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA1;
			}
LA6_: ;
			add__ast_u3215(result, nextStmt_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				LA3_:;
			}
			{
				oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(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__parser_u135)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	closeLexer__lexer_u377((&(*p_p0).lex));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_u805)(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__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3130(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (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_u805((*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__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3500(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___parser_u1785)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).emptyNode);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*(*dest_p0).emptyNode)));
		nimRawDispose((*dest_p0).emptyNode, ((NI)8));
	}
LA4_: ;
	eqdestroy___system_u2691((*dest_p0).tok.literal);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn((*dest_p0).tok.ident);
		if (!T8_) goto LA9_;
		eqdestroy___idents_u173((&(*(*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___options_u1751((&(*(*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___idents_u274((&(*(*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_: ;
	eqdestroy___system_u2691((*dest_p0).lex.Sup.bufStorage);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, parseString__parser_u1772)(NimStringV2 s_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p2, NimStringV2 filename_p3, NI line_p4, tyProc__urLEtt9bmeGdJpEukhLR9a1A errorHandler_p5) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream_1;
	NimStringV2 colontmpD_;
	tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw p_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	stream_1 = NIM_NIL;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
	p_1 = TM__MW5RrD2zyVLHF67ojsDu8Q_93;
	colontmpD_ = eqdup___system_u2697(s_p0);
	stream_1 = llStreamOpen__llstream_u32(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*stream_1).lineOffset = line_p4;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw));
	p_1 = TM__MW5RrD2zyVLHF67ojsDu8Q_93;
	eqcopy___parser_u1880((&p_1.lex.errorHandler), errorHandler_p5, NIM_TRUE);
	openParser__parser_u129((&p_1), filename_p3, stream_1, cache_p1, config_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = parseAll__parser_u1764((&p_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	closeParser__parser_u135((&p_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___parser_u1785((&p_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___llstream_u112(stream_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkFirstLineIndentation__parser_u1743)(tyObject_Parser__oGt4xgaBEh0yOeaQFCgWbw* p_p0) {
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).tok.spacing &((NU8)1<<((NU)((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0)))&7U)))!=0);
LA4_: ;
		if (!T3_) goto LA5_;
		parMessage__parser_u145((&(*p_p0)), TM__MW5RrD2zyVLHF67ojsDu8Q_94);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
