csources_v2/c_code/5_13/@mparser.nim.c
2022-12-16 10:54:01 +08:00

9491 lines
329 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 64
#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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw;
typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
typedef struct tyObject_Token__kYhYXOlGtXyCuQli9biTdZA tyObject_Token__kYhYXOlGtXyCuQli9biTdZA;
typedef struct tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA;
typedef struct tyObject_TBaseLexer__mLz9bnmJDkH9bqmvnqNS49apw tyObject_TBaseLexer__mLz9bnmJDkH9bqmvnqNS49apw;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
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;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct tyObject_TBaseLexer__mLz9bnmJDkH9bqmvnqNS49apw {
RootObj Sup;
NI bufpos;
NCSTRING buf;
NimStringV2 bufStorage;
NI bufLen;
tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* stream;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg, void* ClE_0);
void* ClE_0;
} tyProc__ARwI3dj1dFJlCkFrlsuq2A;
struct tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA {
tyObject_TBaseLexer__mLz9bnmJDkH9bqmvnqNS49apw Sup;
NI32 fileIdx;
NI indentAhead;
NI currLineIndent;
NIM_BOOL strongSpaces;
NIM_BOOL allowTabs;
tyProc__ARwI3dj1dFJlCkFrlsuq2A errorHandler;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
};
typedef NU8 tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ;
typedef NU8 tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw;
typedef NU8 tyEnum_TokenSpacing__perxzrRsffkZSokgB16rRw;
struct tyObject_Token__kYhYXOlGtXyCuQli9biTdZA {
tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ tokType;
NI indent;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
NI64 iNumber;
NF fNumber;
tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw base;
NIM_BOOL strongSpaceA;
tyEnum_TokenSpacing__perxzrRsffkZSokgB16rRw strongSpaceB;
NimStringV2 literal;
NI line;
NI col;
};
struct tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA {
NI currInd;
NIM_BOOL firstTok;
NIM_BOOL hasProgress;
tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA lex;
tyObject_Token__kYhYXOlGtXyCuQli9biTdZA tok;
NI lineStartPrevious;
NI lineNumberPrevious;
NI bufposPrevious;
NI inPragma;
NI inSemiStmtList;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* emptyNode;
};
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringV2 strVal;
} _kind_3;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
} _kind_4;
struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
} _kind_5;
struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons;
} _kind_6;
};
};
typedef NU8 tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ;
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
typedef NU8 tySet_tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw;
typedef NU8 tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw;
typedef NU8 tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w;
typedef NU8 tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA;
typedef NU8 tySet_tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ[15];
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__ITlg8UhAbnS7vsiPAhcspQ[1];
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__ksIJfeCPYsGjESaAKPnWWQ) (tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
typedef NU8 tyEnum_TLLStreamKind__9cSQ7roMMT510UcuCxRX05w;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* s, void* buf, NI bufLen, void* ClE_0);
void* ClE_0;
} tyProc__oi9b0z9awBBnvGw9arizvgdNw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw {
RootObj Sup;
tyEnum_TLLStreamKind__9cSQ7roMMT510UcuCxRX05w kind;
FILE* f;
NimStringV2 s;
NI rd;
NI wr;
NI lineOffset;
tyProc__oi9b0z9awBBnvGw9arizvgdNw repl;
tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_126)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NI32 fileIdx, tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* inputStream, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config);
N_LIB_PRIVATE N_NIMCALL(void, initToken__lexer_261)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* L);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_289)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* lex, NI32 fileIdx, tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* inputstream, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config);
N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_46)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__lexer_1806)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* L, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNode__ast_3934)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_403)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeP__parser_55)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, parLineInfo__parser_77)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, getLineInfo__lexer_203)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* L, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, newLineInfo__msgs_408)(NI32 fileInfoIdx, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, complexOrSimpleStmt__parser_630)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIfOrWhen__parser_1637)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_86)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_52)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node);
N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_166)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_1148)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src);
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1512)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NimStringV2 a);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_48)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__lexer_394)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* L, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok, NimStringV2 arg);
N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_82)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_148)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 arg);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseExpr__parser_257)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseBlock__parser_113)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_197)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseSymbol__parser_96)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIdentNodeP__parser_70)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_136)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* src);
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_144)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 msg, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr, NimStringV2 a);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prettyTok__lexer_252)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_243)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___idents_139)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, getIdent__idents_166)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NimStringV2 identifier);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eat__parser_79)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ tokType);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_390)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* L, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_142)(tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ e);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_311)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseStmt__parser_259)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, simpleStmt__parser_2446)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseReturnOrRaise__parser_1616)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_1196)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, postExprBlocks__parser_108)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseParamList__parser_266)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL retColon);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIdentColonEquals__parser_1012)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tySet_tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, identWithPragma__parser_987)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL allowDot);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, identVis__parser_966)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL allowDot);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, dotExpr__parser_486)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_402)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
N_LIB_PRIVATE N_NIMCALL(void, exprColonEqExprListAux__parser_449)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_184)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node);
N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_84)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprColonEqExpr__parser_386)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, colonOrEquals__parser_370)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, equals__parser_354)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_5759)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parsePragma__parser_106)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDesc__parser_261)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL fullExpr);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, simpleExpr__parser_632)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, simpleExprAux__parser_118)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NI limit, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, primary__parser_115)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOperator__parser_44)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
static N_INLINE(NIM_BOOL, isSigilLike__parser_269)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, identOrLiteral__parser_766)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGStrLit__parser_610)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStrNodeP__parser_66)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NimStringV2 strVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNodeP__parser_58)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_93)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw base);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newFloatNodeP__parser_62)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NF floatVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_7540)(NimStringV2 s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_7552)(NimStringV2 s, NI first);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprColonEqExprList__parser_481)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parsePar__parser_679)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, semiStmtList__parser_638)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIfOrWhenExpr__parser_635)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseStmtPragma__parser_104)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setOrTableConstr__parser_548)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseCast__parser_572)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, primarySuffix__parser_839)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* r, NI baseIndent, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, commandExpr__parser_814)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* r, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, commandParam__parser_800)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL* isFirstParam, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprEqExpr__parser_394)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, namedParams__parser_789)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* callee, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDotLike__parser_832)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2481)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 symbol);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, dotLikeExpr__parser_523)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnary__parser_283)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseProcExpr__parser_1163)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL isExpr, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, optPragmas__parser_1134)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newProcNode__ast_4889)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pattern, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* genericParams, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmas, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exceptions);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseOperators__parser_862)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* headNode, NI limit, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__lexer_1562)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
static N_INLINE(void, checkBinary__parser_294)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
static N_INLINE(NIM_BOOL, isRightAssociative__parser_276)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTuple__parser_1070)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL indentAllowed);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDescKAux__parser_1215)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDefValue__parser_264)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseEnum__parser_1302)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObject__parser_1304)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectPart__parser_2099)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectWhen__parser_2101)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectCase__parser_2134)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeClass__parser_1306)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeClassParam__parser_2211)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
static N_INLINE(NIM_BOOL, validInd__parser_163)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_6679)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, binaryNot__parser_1354)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_1199)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, makeCall__parser_1400)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseDoBlock__parser_1141)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, optionalExprList__parser_428)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseImport__parser_1546)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseModuleName__parser_1542)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseFromStmt__parser_1596)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIncludeStmt__parser_1580)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newCommentStmt__parser_2004)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseExprStmt__parser_111)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTreeI__ast_4003)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseFor__parser_1257)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseVarTuple__parser_1255)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseCase__parser_102)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTry__parser_99)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL isExpr);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseWhile__parser_1705)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseExceptBlock__parser_1768)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseStaticOrDefer__parser_1795)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseAsm__parser_1803)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseRoutine__parser_1906)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parsePattern__parser_1903)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGenericParamList__parser_1887)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGenericParam__parser_1834)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_75)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_89)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL maybeMissEquals);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_675)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseSection__parser_2007)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyProc__ksIJfeCPYsGjESaAKPnWWQ defparser);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDef__parser_2296)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseConstant__parser_2380)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseVariable__parser_2359)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseBind__parser_2417)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, qualifiedIdent__parser_541)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__lexer_366)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* lex);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p);
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3157)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_224)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_3149)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_145)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw*, llStreamOpen__llstream_31)(NimStringV2 data);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___parser_2612)(tyProc__ARwI3dj1dFJlCkFrlsuq2A* dest, tyProc__ARwI3dj1dFJlCkFrlsuq2A src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_132)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 filename, tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* inputStream, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseAll__parser_38)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_40)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___parser_2563)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___llstream_68)(tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw** dest);
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__FlWBYIOz13qHfz9ae813gBA_2 = { 11 | NIM_STRLIT_FLAG, "skipComment" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_3 = {11, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_2};
static const struct {
NI cap; NIM_CHAR data[19+1];
} TM__FlWBYIOz13qHfz9ae813gBA_4 = { 19 | NIM_STRLIT_FLAG, "invalid indentation" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_5 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_6 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const struct {
NI cap; NIM_CHAR data[33+1];
} TM__FlWBYIOz13qHfz9ae813gBA_7 = { 33 | NIM_STRLIT_FLAG, "identifier expected, but got \'$1\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_8 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_9 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const struct {
NI cap; NIM_CHAR data[0+1];
} TM__FlWBYIOz13qHfz9ae813gBA_10 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_11 = {0, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_10};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_12 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__FlWBYIOz13qHfz9ae813gBA_13 = { 11 | NIM_STRLIT_FLAG, "expected: \'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_14 = {11, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_13};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__FlWBYIOz13qHfz9ae813gBA_15 = { 13 | NIM_STRLIT_FLAG, "\', but got: \'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_16 = {13, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_15};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__FlWBYIOz13qHfz9ae813gBA_17 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_18 = {1, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_17};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_19 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_20 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const struct {
NI cap; NIM_CHAR data[35+1];
} TM__FlWBYIOz13qHfz9ae813gBA_21 = { 35 | NIM_STRLIT_FLAG, "expression expected, but found \'$1\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_22 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__FlWBYIOz13qHfz9ae813gBA_23 = { 39 | NIM_STRLIT_FLAG, "nestable statement requires indentation" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_24 = {39, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_23};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_25 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__FlWBYIOz13qHfz9ae813gBA_26 = { 13 | NIM_STRLIT_FLAG, "expected \'.}\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_27 = {13, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_26};
static NIM_CONST tySet_tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ TM__FlWBYIOz13qHfz9ae813gBA_28 = {
0x30, 0x00, 0x08, 0x20, 0x32, 0x68, 0x03, 0x03,
0x08, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00}
;
static NIM_CONST tySet_tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ TM__FlWBYIOz13qHfz9ae813gBA_29 = {
0x0c, 0x08, 0x00, 0x00, 0x00, 0x10, 0x04, 0x44,
0xe0, 0xff, 0xff, 0x57, 0x00, 0x00, 0x01}
;
static NIM_CONST tySet_tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ TM__FlWBYIOz13qHfz9ae813gBA_30 = {
0x00, 0x25, 0x03, 0x9a, 0x84, 0x04, 0x00, 0x10,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_31 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_32 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_33 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const struct {
NI cap; NIM_CHAR data[20+1];
} TM__FlWBYIOz13qHfz9ae813gBA_34 = { 20 | NIM_STRLIT_FLAG, "nimPreviewDotLikeOps" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_35 = {20, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_34};
static const struct {
NI cap; NIM_CHAR data[76+1];
} TM__FlWBYIOz13qHfz9ae813gBA_36 = { 76 | NIM_STRLIT_FLAG, "dot-like operators will be parsed differently with `-d:nimPreviewDotLikeOps`" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_37 = {76, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_36};
static const struct {
NI cap; NIM_CHAR data[95+1];
} TM__FlWBYIOz13qHfz9ae813gBA_38 = { 95 | NIM_STRLIT_FLAG, "func keyword is not allowed in type descriptions, use proc with {.noSideEffect.} pragma instead" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_39 = {95, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_38};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_40 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const struct {
NI cap; NIM_CHAR data[60+1];
} TM__FlWBYIOz13qHfz9ae813gBA_41 = { 60 | NIM_STRLIT_FLAG, "the syntax for tuple types is \'tuple[...]\', not \'tuple(...)\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_42 = {60, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_41};
static const struct {
NI cap; NIM_CHAR data[54+1];
} TM__FlWBYIOz13qHfz9ae813gBA_43 = { 54 | NIM_STRLIT_FLAG, "the \'concept\' keyword is only valid in \'type\' sections" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_44 = {54, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_43};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_45 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_46 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_47 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const struct {
NI cap; NIM_CHAR data[76+1];
} TM__FlWBYIOz13qHfz9ae813gBA_48 = { 76 | NIM_STRLIT_FLAG, "routine expected, but found \'$1\' (empty new-styled concepts are not allowed)" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_49 = {76, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_48};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__FlWBYIOz13qHfz9ae813gBA_50 = { 4 | NIM_STRLIT_FLAG, "with" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_51 = {4, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_50};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__FlWBYIOz13qHfz9ae813gBA_52 = { 7 | NIM_STRLIT_FLAG, "without" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_53 = {7, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_52};
static const struct {
NI cap; NIM_CHAR data[33+1];
} TM__FlWBYIOz13qHfz9ae813gBA_54 = { 33 | NIM_STRLIT_FLAG, "\':\' or \'=\' expected, but got \'$1\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_55 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_54};
static const struct {
NI cap; NIM_CHAR data[56+1];
} TM__FlWBYIOz13qHfz9ae813gBA_56 = { 56 | NIM_STRLIT_FLAG, "the syntax is \'parameter: var T\', not \'var parameter: T\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_57 = {56, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_56};
static const struct {
NI cap; NIM_CHAR data[20+1];
} TM__FlWBYIOz13qHfz9ae813gBA_58 = { 20 | NIM_STRLIT_FLAG, "expected closing \')\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_59 = {20, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_58};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__FlWBYIOz13qHfz9ae813gBA_60 = { 2 | NIM_STRLIT_FLAG, "->" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_61 = {2, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_60};
static const struct {
NI cap; NIM_CHAR data[12+1];
} TM__FlWBYIOz13qHfz9ae813gBA_62 = { 12 | NIM_STRLIT_FLAG, "expected \':\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_63 = {12, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_62};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_64 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_65 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_66 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const struct {
NI cap; NIM_CHAR data[17+1];
} TM__FlWBYIOz13qHfz9ae813gBA_67 = { 17 | NIM_STRLIT_FLAG, "expected \'except\'" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_68 = {17, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_67};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__FlWBYIOz13qHfz9ae813gBA_69 = { 42 | NIM_STRLIT_FLAG, "the \'asm\' statement takes a string literal" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_70 = {42, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_69};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__FlWBYIOz13qHfz9ae813gBA_71 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_72 = {2, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_71};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__FlWBYIOz13qHfz9ae813gBA_73 = { 3 | NIM_STRLIT_FLAG, "out" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_74 = {3, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_73};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_75 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const struct {
NI cap; NIM_CHAR data[51+1];
} TM__FlWBYIOz13qHfz9ae813gBA_76 = { 51 | NIM_STRLIT_FLAG, "invalid indentation, maybe you forgot a \'=\' at $1 \?" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_77 = {51, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_76};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_78 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_79 = {0, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_10};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_80 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_81 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_82 = {33, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_7};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_83 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_84 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
extern TNimTypeV2 NTIv2__4yiDOEx3Y9aOTV1fsziBtCQ_;
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_85 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__FlWBYIOz13qHfz9ae813gBA_86 = { 1 | NIM_STRLIT_FLAG, "*" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_87 = {1, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_86};
static const struct {
NI cap; NIM_CHAR data[73+1];
} TM__FlWBYIOz13qHfz9ae813gBA_88 = { 73 | NIM_STRLIT_FLAG, "invalid indentation; an export marker \'*\' follows the declared identifier" };
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_89 = {73, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_88};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_90 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_91 = {19, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_4};
static const NimStringV2 TM__FlWBYIOz13qHfz9ae813gBA_92 = {35, (NimStrPayload*)&TM__FlWBYIOz13qHfz9ae813gBA_21};
extern TNimTypeV2 NTIv2__UvQf9aXrtW2JG4IMwuSv9cXA_;
static NIM_CONST tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA TM__FlWBYIOz13qHfz9ae813gBA_93 = {0, NIM_FALSE, NIM_FALSE, {{{(&NTIv2__UvQf9aXrtW2JG4IMwuSv9cXA_)}, 0, NIM_NIL, {0, NIM_NIL}, 0, NIM_NIL, 0, 0, 0, 0}, 0, 0, 0, NIM_FALSE, NIM_FALSE, {NIM_NIL, NIM_NIL}, NIM_NIL, NIM_NIL}, {0, 0, NIM_NIL, 0, 0.0, 0, NIM_FALSE, 0, {0, NIM_NIL}, 0, 0}, 0, 0, 0, 0, 0, NIM_NIL}
;
extern NIM_BOOL nimInErrorMode__system_3994;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3994);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__parser_46)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
(*p).lineNumberPrevious = (*p).lex.Sup.lineNumber;
(*p).lineStartPrevious = (*p).lex.Sup.lineStart;
(*p).bufposPrevious = (*p).lex.Sup.bufpos;
rawGetTok__lexer_1806((&(*p).lex), (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*p).hasProgress = NIM_TRUE;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_126)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NI32 fileIdx, tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* inputStream, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
initToken__lexer_261((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
openLexer__lexer_289((&(*p).lex), fileIdx, inputStream, cache, config);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*p).firstTok = NIM_TRUE;
T1_ = NIM_NIL;
T1_ = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*p).emptyNode, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openParser__parser_132)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 filename, tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* inputStream, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config) {
NI32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = (NI32)0;
T1_ = fileInfoIdx__msgs_403(config, filename);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
openParser__parser_126(p, T1_, inputStream, cache, config);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_7(p, ((int)0), size);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, getLineInfo__lexer_203)(tyObject_Lexer__UvQf9aXrtW2JG4IMwuSv9cXA* L, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
result = newLineInfo__msgs_408((*L).fileIdx, (*tok).line, (*tok).col);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, parLineInfo__parser_77)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
result = getLineInfo__lexer_203((&(*p).lex), (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeP__parser_55)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
T1_ = parLineInfo__parser_77(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newNodeI__ast_3949(kind, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
{
if (!(((NI)0) < src.len)) goto LA3_;
copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1)))));
(*dest).len += src.len;
}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_48)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lexMessageTok__lexer_394((&(*p).lex), msg, (&(*p).tok), arg);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawSkipComment__parser_166)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA3_;
{
NimStringV2 rhs;
NimStringV2 colontmpD_;
if (!!((node == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA7_;
rhs.len = 0; rhs.p = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
rhs = comment__ast_1148(node);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
prepareAdd((&rhs), (*p).tok.literal.len + 0);
appendString((&rhs), (*p).tok.literal);
colontmpD_ = rhs;
rhs.len = 0; rhs.p = NIM_NIL;
commenteq___ast_1512(node, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
LA9_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___stdZassertions_13((&rhs));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA7_: ;
{
parMessage__parser_48((&(*p)), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)2), TM__FlWBYIOz13qHfz9ae813gBA_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipComment__parser_52)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*p).tok.indent < ((NI)0))) goto LA3_;
rawSkipComment__parser_166(p, node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_148)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 arg) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lexMessageTok__lexer_394((&(*p).lex), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), (&(*p).tok), arg);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipInd__parser_82)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!(((NI)0) <= (*p).tok.indent)) goto LA3_;
{
if (!!(((*p).currInd < (*p).tok.indent))) goto LA7_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optInd__parser_86)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
skipComment__parser_52(p, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
skipInd__parser_82(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getTokNoInd__parser_197)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= (*p).tok.indent)) goto LA3_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIdentNodeP__parser_70)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2), p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___idents_136(&(*result)._kind_5.ident, ident);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parMessage__parser_144)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NimStringV2 msg, tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NimStringV2 colontmpD_;
NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = prettyTok__lexer_252(tok);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = nsuFormatSingleElem(msg, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
parMessage__parser_48(p, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n)._kind_6.sons.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eat__parser_79)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ tokType) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*p).tok.tokType == tokType)) goto LA3_;
getTok__parser_46(p);
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_142(tokType);
colontmpD__2 = prettyTok__lexer_252((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T7_ = rawNewString(colontmpD_.len + colontmpD__2.len + 25);
appendString((&T7_), TM__FlWBYIOz13qHfz9ae813gBA_14);
appendString((&T7_), colontmpD_);
appendString((&T7_), TM__FlWBYIOz13qHfz9ae813gBA_16);
appendString((&T7_), colontmpD__2);
appendString((&T7_), TM__FlWBYIOz13qHfz9ae813gBA_18);
colontmpD__3 = T7_;
lexMessage__lexer_390((&(*p).lex), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseSymbol__parser_96)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
{
result = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)68):
{
{
NIM_BOOL T5_;
T5_ = (NIM_BOOL)0;
T5_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3));
if (T5_) goto LA6_;
T5_ = (mode == ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)2));
LA6_: ;
if (!T5_) goto LA7_;
result = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA7_: ;
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44));
if (!(T10_)) goto LA11_;
T10_ = (mode == ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)1));
LA11_: ;
if (!T10_) goto LA12_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA12_: ;
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_8, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)53), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
{
NI T21_;
T21_ = (NI)0;
T21_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T21_ == ((NI)0))) goto LA22_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_9, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA22_: ;
goto LA16;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)108):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)101):
{
NimStringV2 accm;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lineinfo;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* T31_;
accm.len = 0; accm.p = NIM_NIL;
node = NIM_NIL;
lineinfo = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
accm = TM__FlWBYIOz13qHfz9ae813gBA_11;
{
while (1) {
NimStringV2 colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)108) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106) || (*p).tok.tokType >= ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90) && (*p).tok.tokType <= ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)101))) goto LA27 ;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD_ = dollar___lexer_243((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
prepareAdd((&accm), colontmpD_.len + 0);
appendString((&accm), colontmpD_);
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
LA28_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
} LA27: ;
}
node = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2), lineinfo);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
T31_ = NIM_NIL;
T31_ = getIdent__idents_166((*p).lex.cache, accm);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqsink___idents_139(&(*node)._kind_5.ident, T31_);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
add__ast_6233(result, node);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&accm));
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)68):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)69) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)89):
{
NimStringV2 colontmpD__2;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__2 = dollar___lexer_243((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
colontmpD__3 = getIdent__idents_166((*p).lex.cache, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
colontmpD__4 = newIdentNodeP__parser_70(colontmpD__3, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
{
LA35_:;
}
{
oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&colontmpD__2));
*nimErr_ = oldNimErrFin35_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_12, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA16;
}
break;
}
}
} LA16: ;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_19, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, colcom__parser_311)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
skipComment__parser_52(p, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isExprStart__parser_1196)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL result;
result = (NIM_BOOL)0;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)45):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)11):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)31):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)28):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)30):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)38):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)7):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)94):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)69) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)89):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)54):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)52):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)24):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)60):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)8):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
{
result = NIM_TRUE;
}
break;
default:
{
result = NIM_FALSE;
}
break;
}
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprList__parser_402)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
a = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
NIM_BOOL T4_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
T4_ = (NIM_BOOL)0;
T4_ = !(((*p).tok.tokType == endTok));
if (!(T4_)) goto LA5_;
T4_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)));
LA5_: ;
if (!T4_) goto LA3 ;
a_2 = NIM_NIL;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA9_;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA2;
}
LA9_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
a_2 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, flexComment__parser_184)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* node) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ((*p).tok.indent < ((NI)0));
if (T3_) goto LA4_;
T3_ = ((*p).currInd < (*p).tok.indent);
LA4_: ;
if (!T3_) goto LA5_;
rawSkipComment__parser_166(p, node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optPar__parser_84)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!(((NI)0) <= (*p).tok.indent)) goto LA3_;
{
if (!((*p).tok.indent < (*p).currInd)) goto LA7_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_25);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, equals__parser_354)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA3_;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
eqcopy___ast_3457(&result, a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, colonOrEquals__parser_370)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA3_;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
result = equals__parser_354(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprColonEqExpr__parser_386)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
a = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA4_;
result = postExprBlocks__parser_108(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
result = colonOrEquals__parser_370(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
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_449)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
flexComment__parser_184(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
NIM_BOOL T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
T3_ = (NIM_BOOL)0;
T3_ = !(((*p).tok.tokType == endTok));
if (!(T3_)) goto LA4_;
T3_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)));
LA4_: ;
if (!T3_) goto LA2 ;
a = NIM_NIL;
a = exprColonEqExpr__parser_386(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA8_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
goto LA6_;
LA8_: ;
{
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37))) goto LA11_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)160));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
goto LA6_;
LA11_: ;
LA6_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, endTok);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, dotExpr__parser_486)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
info = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T9_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T10_;
T4_ = (NIM_BOOL)0;
T4_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)109));
if (!(T4_)) goto LA5_;
T4_ = !((*p).tok.strongSpaceA);
LA5_: ;
if (!T4_) goto LA6_;
x = NIM_NIL;
y = NIM_NIL;
T9_ = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
x = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42), T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(x, (*result)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
exprList__parser_402(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93), x);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T10_ = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
y = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(y, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(y, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90));
if (!(T13_)) goto LA14_;
T13_ = !((*p).tok.strongSpaceA);
LA14_: ;
if (!T13_) goto LA15_;
exprColonEqExprListAux__parser_449(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91), y);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA15_: ;
eqsink___ast_3460(&result, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
y = 0;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, identVis__parser_966)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL allowDot) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
a = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110))) goto LA4_;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD_ = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107));
if (!(T10_)) goto LA11_;
T10_ = allowDot;
LA11_: ;
if (!T10_) goto LA12_;
result = dotExpr__parser_486(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA12_: ;
{
result = a;
a = 0;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parsePragma__parser_106)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)90), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*p).inPragma += ((NI)1);
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)99) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)))) goto LA2 ;
a = NIM_NIL;
(*p).hasProgress = NIM_FALSE;
a = exprColonEqExpr__parser_386(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!((*p).hasProgress)) goto LA6_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102))) goto LA10_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA10_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)99) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95))) goto LA16_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA14_;
LA16_: ;
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_27);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA14_: ;
(*p).inPragma -= ((NI)1);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, identWithPragma__parser_987)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL allowDot) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
a = identVis__parser_966(p, allowDot);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98))) goto LA4_;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)43), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD_ = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
result = a;
a = 0;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
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_44)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = ((TM__FlWBYIOz13qHfz9ae813gBA_28[(NU)(((*tok).tokType))>>3] &(1U<<((NU)(((*tok).tokType))&7U)))!=0);
return result;
}
static N_INLINE(NIM_BOOL, isSigilLike__parser_269)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*tok).tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110));
if (!(T1_)) goto LA2_;
T1_ = ((NU8)((*(*tok).ident).s.p->data[((NI)0)]) == (NU8)(64));
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStrNodeP__parser_66)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NimStringV2 strVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___stdZassertions_16((&(*result)._kind_3.strVal), strVal);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGStrLit__parser_610)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)86):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
colontmpD_ = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)21), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)87):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__2 = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
eqcopy___ast_3457(&result, a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNodeP__parser_58)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result)._kind_1.intVal = intVal;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setBaseFlags__parser_93)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw base) {
switch (base) {
case ((tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw)0):
{
}
break;
case ((tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw)1):
{
(*n).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)1))) & 31);
}
break;
case ((tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw)2):
{
(*n).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)2))) & 31);
}
break;
case ((tyEnum_NumericalBase__AbSe5ri9aXAVP9cA1JY4Ahdw)3):
{
(*n).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)3))) & 31);
}
break;
}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newFloatNodeP__parser_62)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NF floatVal, tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result)._kind_2.floatVal = floatVal;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprColonEqExprList__parser_481)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprColonEqExprListAux__parser_449(p, endTok, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIfOrWhenExpr__parser_635)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
branch = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
branch = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colcom__parser_311(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
skipComment__parser_52(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21)))) goto LA6_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
} LA1: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22))) goto LA12_;
branch_2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
branch_2 = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)50), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
colcom__parser_311(p, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
colontmpD__3 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
add__ast_6233(branch_2, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
add__ast_6233(result, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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_638)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NI oldIndX60gensym33_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T2_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
a = NIM_NIL;
(*p).inSemiStmtList += ((NI)1);
oldIndX60gensym33_ = (*p).currInd;
(*p).currInd = (*p).tok.indent;
T2_ = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)31):
{
a = parseIfOrWhenExpr__parser_635(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
{
a = parseIfOrWhenExpr__parser_635(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
default:
{
a = complexOrSimpleStmt__parser_630(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
}
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)))) goto LA7 ;
a_2 = NIM_NIL;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103))) goto LA11_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA11_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91))) goto LA15_;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA6;
}
goto LA13_;
LA15_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = ((*p).tok.indent == (*p).currInd);
if (T18_) goto LA19_;
T18_ = ((*p).currInd < (*p).tok.indent);
LA19_: ;
if (!!(T18_)) goto LA20_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_31);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
goto LA13_;
LA20_: ;
LA13_: ;
a_2 = complexOrSimpleStmt__parser_630(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
if (!((*a_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA24_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_32, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
goto LA22_;
LA24_: ;
{
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA22_: ;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA7: ;
} LA6: ;
(*p).currInd = oldIndX60gensym33_;
(*p).inSemiStmtList -= ((NI)1);
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)126));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseStmtPragma__parser_104)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T8_;
T3_ = (NIM_BOOL)0;
T3_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104));
if (!(T3_)) goto LA4_;
T3_ = ((*p).tok.indent < ((NI)0));
LA4_: ;
if (!T3_) goto LA5_;
a = NIM_NIL;
colontmpD_ = NIM_NIL;
a = result;
result = 0;
T8_ = NIM_NIL;
T8_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)91), (*a).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqsink___ast_3460(&result, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
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__1pEudI6ZemBfsBxMjg4u5Q*, parsePar__parser_679)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
flexComment__parser_184(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((TM__FlWBYIOz13qHfz9ae813gBA_30[(NU)(((*p).tok.tokType))>>3] &(1U<<((NU)(((*p).tok.tokType))&7U)))!=0)) goto LA3_;
semiStmtList__parser_638(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103))) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
semiStmtList__parser_638(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA6_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98))) goto LA9_;
colontmpD_ = NIM_NIL;
colontmpD_ = parseStmtPragma__parser_104(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA9_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91))) goto LA15_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)160));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA15_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
a = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA21_;
T23_ = NIM_NIL;
T23_ = postExprBlocks__parser_108(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqsink___ast_3460(&result, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
goto LA19_;
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* asgn;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA25_;
asgn = NIM_NIL;
b = NIM_NIL;
asgn = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
b = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(asgn, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(asgn, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(result, asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103))) goto LA30_;
semiStmtList__parser_638(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
}
LA30_: ;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqdestroy___ast_3454(&asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
goto LA19_;
LA25_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103))) goto LA35_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
semiStmtList__parser_638(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
goto LA19_;
LA35_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T38_;
T38_ = NIM_NIL;
T38_ = colonOrEquals__parser_370(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqsink___ast_3460(&a, T38_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34))) goto LA41_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)160));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
LA41_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102))) goto LA45_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)160));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
while (1) {
NIM_BOOL T49_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
T49_ = (NIM_BOOL)0;
T49_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91)));
if (!(T49_)) goto LA50_;
T49_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)));
LA50_: ;
if (!T49_) goto LA48 ;
a_2 = NIM_NIL;
a_2 = exprColonEqExpr__parser_386(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA54_;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
goto LA47;
}
LA54_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
skipComment__parser_52(p, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
{
LA51_:;
}
{
oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setOrTableConstr__parser_548)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA3_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)54));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)))) goto LA7 ;
a = NIM_NIL;
a = exprColonEqExpr__parser_386(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34))) goto LA11_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)54));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA11_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA15_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA6;
}
LA15_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA7: ;
} LA6: ;
}
LA1_: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseCast__parser_572)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92))) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__2 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__3 = NIM_NIL;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90));
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
colontmpD__3 = exprColonEqExpr__parser_386(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, identOrLiteral__parser_766)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T2_;
result = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = NIM_NIL;
T2_ = parseGStrLit__parser_610(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
result = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)69):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)70):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)7), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)71):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)8), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)72):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)9), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)73):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)10), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)74):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)11), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)75):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)12), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)76):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)13), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)77):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)14), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)78):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)15), (*p).tok.iNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)79):
{
result = newFloatNodeP__parser_62(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)16), (*p).tok.fNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)80):
{
result = newFloatNodeP__parser_62(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)17), (*p).tok.fNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)81):
{
result = newFloatNodeP__parser_62(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)18), (*p).tok.fNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)82):
{
result = newFloatNodeP__parser_62(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)19), (*p).tok.fNumber, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setBaseFlags__parser_93(result, (*p).tok.base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)83):
{
result = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)84):
{
result = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)21), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)85):
{
result = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)88):
{
result = newIntNodeP__parser_58(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5), ((NI64) (((NU8)((*p).tok.literal.p->data[((NI)0)])))), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)89):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* str;
NimStringV2 colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* callee;
NimStringV2 colontmpD__2;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__3;
NI splitPos;
str = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
callee = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD__3 = NIM_NIL;
splitPos = ((NI) ((*p).tok.iNumber));
colontmpD_ = substr__system_7540((*p).tok.literal, ((NI)0), (NI)(splitPos - ((NI)1)));
str = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)21), colontmpD_, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
colontmpD__2 = substr__system_7552((*p).tok.literal, splitPos);
colontmpD__3 = getIdent__idents_166((*p).lex.cache, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
callee = newIdentNodeP__parser_70(colontmpD__3, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
add__ast_6233(result, str);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
add__ast_6233(result, callee);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
{
LA23_:;
}
{
oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___ast_3454(&callee);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___ast_3454(&str);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin23_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44):
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90):
{
{
if (!(mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1) || mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2))) goto LA30_;
result = exprColonEqExprList__parser_481(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37), ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA28_;
LA30_: ;
{
result = parsePar__parser_679(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA28_: ;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)94):
{
result = setOrTableConstr__parser_548(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92):
{
result = exprColonEqExprList__parser_481(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)11):
{
result = parseCast__parser_572(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_33, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, exprEqExpr__parser_394)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
a = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA4_;
result = postExprBlocks__parser_108(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
result = equals__parser_354(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, commandParam__parser_800)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL* isFirstParam, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!(mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1))) goto LA3_;
result = simpleExpr__parser_632(p, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
if (!!((*isFirstParam))) goto LA6_;
result = exprEqExpr__parser_394(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA6_: ;
{
result = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA11_;
T13_ = NIM_NIL;
T13_ = postExprBlocks__parser_108(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA11_: ;
}
LA1_: ;
(*isFirstParam) = NIM_FALSE;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, commandExpr__parser_814)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* r, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!(mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)3))) goto LA3_;
eqcopy___ast_3457(&result, r);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL isFirstParam;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, r);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
isFirstParam = NIM_TRUE;
(*p).hasProgress = NIM_FALSE;
colontmpD_ = commandParam__parser_800(p, (&isFirstParam), mode);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, namedParams__parser_789)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* callee, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
eqcopy___ast_3457(&a, callee);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
exprColonEqExprListAux__parser_449(p, endTok, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
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_832)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T3_ = (NIM_BOOL)0;
T3_ = ((*tok).tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110));
if (!(T3_)) goto LA4_;
T3_ = (((NI)1) < (*(*tok).ident).s.len);
LA4_: ;
T2_ = T3_;
if (!(T2_)) goto LA5_;
T2_ = ((NU8)((*(*tok).ident).s.p->data[((NI)0)]) == (NU8)(46));
LA5_: ;
T1_ = T2_;
if (!(T1_)) goto LA6_;
T1_ = !(((NU8)((*(*tok).ident).s.p->data[((NI)1)]) == (NU8)(46)));
LA6_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, dotLikeExpr__parser_523)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* opNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
opNode = NIM_NIL;
colontmpD_ = NIM_NIL;
info = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
opNode = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, opNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&opNode);
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_283)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = ((*tok).tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110) || (*tok).tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)108));
if (!(T2_)) goto LA3_;
T2_ = ((*tok).strongSpaceB == ((tyEnum_TokenSpacing__perxzrRsffkZSokgB16rRw)0));
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = (*tok).strongSpaceA;
LA4_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, primarySuffix__parser_839)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* r, NI baseIndent, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, r);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
NIM_BOOL T3_;
NIM_BOOL T5_;
T3_ = (NIM_BOOL)0;
T3_ = ((*p).tok.indent < ((NI)0));
if (T3_) goto LA4_;
T5_ = (NIM_BOOL)0;
T5_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107));
if (!(T5_)) goto LA6_;
T5_ = (baseIndent <= (*p).tok.indent);
LA6_: ;
T3_ = T5_;
LA4_: ;
if (!T3_) goto LA2 ;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T12_;
if (!(*p).tok.strongSpaceA) goto LA10_;
T12_ = NIM_NIL;
T12_ = commandExpr__parser_814(p, result, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA10_: ;
T13_ = NIM_NIL;
T13_ = namedParams__parser_789(p, result, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T16_;
NI T17_;
T16_ = (NIM_BOOL)0;
T17_ = (NI)0;
T17_ = len__ast_3325(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__ySM4MdHjvuRpNcphR1xnyQ)34));
LA18_: ;
if (!T16_) goto LA19_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)38));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA19_: ;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T22_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_;
T22_ = NIM_NIL;
T22_ = dotExpr__parser_486(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T22_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T23_ = NIM_NIL;
T23_ = parseGStrLit__parser_610(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T30_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_;
if (!(*p).tok.strongSpaceA) goto LA27_;
T29_ = NIM_NIL;
T29_ = commandExpr__parser_814(p, result, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T29_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA27_: ;
T30_ = NIM_NIL;
T30_ = namedParams__parser_789(p, result, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42), ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T30_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)94):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T37_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T36_;
if (!(*p).tok.strongSpaceA) goto LA34_;
T36_ = NIM_NIL;
T36_ = commandExpr__parser_814(p, result, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T36_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA34_: ;
T37_ = NIM_NIL;
T37_ = namedParams__parser_789(p, result, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)40), ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T37_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)69) ... ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)89):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)11):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)108):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)24):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
{
NIM_BOOL isDotLike2;
isDotLike2 = isDotLike__parser_832((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T41_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T45_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T46_;
T41_ = (NIM_BOOL)0;
T41_ = isDotLike2;
if (!(T41_)) goto LA42_;
T41_ = isDefined__options_2481((*p).lex.config, TM__FlWBYIOz13qHfz9ae813gBA_35);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA42_: ;
if (!T41_) goto LA43_;
T45_ = NIM_NIL;
T45_ = dotLikeExpr__parser_523(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T45_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T46_ = NIM_NIL;
T46_ = parseGStrLit__parser_610(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T46_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA39_;
LA43_: ;
{
{
if (!isDotLike2) goto LA50_;
parMessage__parser_48((&(*p)), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)25), TM__FlWBYIOz13qHfz9ae813gBA_37);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA50_: ;
{
NIM_BOOL T54_;
NIM_BOOL T56_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T60_;
T54_ = (NIM_BOOL)0;
T54_ = ((*p).inPragma == ((NI)0));
if (!(T54_)) goto LA55_;
T56_ = (NIM_BOOL)0;
T56_ = isUnary__parser_283((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (T56_) goto LA57_;
T56_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)108)));
LA57_: ;
T54_ = T56_;
LA55_: ;
if (!T54_) goto LA58_;
T60_ = NIM_NIL;
T60_ = commandExpr__parser_814(p, result, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&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__1pEudI6ZemBfsBxMjg4u5Q*, optPragmas__parser_1134)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
NIM_BOOL T5_;
T3_ = (NIM_BOOL)0;
T3_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98));
if (!(T3_)) goto LA4_;
T5_ = (NIM_BOOL)0;
T5_ = ((*p).tok.indent < ((NI)0));
if (T5_) goto LA6_;
T5_ = ((*p).currInd < (*p).tok.indent);
LA6_: ;
T3_ = T5_;
LA4_: ;
if (!T3_) goto LA7_;
result = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA7_: ;
{
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseProcExpr__parser_1163)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL isExpr, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmas;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
NIM_BOOL hasSignature;
NIM_BOOL T2_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
params = NIM_NIL;
pragmas = NIM_NIL;
info = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (NIM_BOOL)0;
T2_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104));
if (!(T2_)) goto LA3_;
T2_ = ((*p).tok.indent < ((NI)0));
LA3_: ;
hasSignature = T2_;
params = parseParamList__parser_266(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
pragmas = optPragmas__parser_1134(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T6_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
T6_ = (NIM_BOOL)0;
T6_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106));
if (!(T6_)) goto LA7_;
T6_ = isExpr;
LA7_: ;
if (!T6_) goto LA8_;
colontmpD_ = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
T11_ = NIM_NIL;
T11_ = newProcNode__ast_4889(kind, info, colontmpD_, params, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, pragmas, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqsink___ast_3460(&result, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA4_;
LA8_: ;
{
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__2;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__3;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ T15_;
colontmpD__2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__3 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
T15_ = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
{
if (!(kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84))) goto LA18_;
colontmpD__2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)148);
T15_ = colontmpD__2;
}
goto LA16_;
LA18_: ;
{
colontmpD__3 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)147);
T15_ = colontmpD__3;
}
LA16_: ;
result = newNodeI__ast_3949(T15_, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!hasSignature) goto LA23_;
add__ast_6233(result, params);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!(kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159))) goto LA27_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_39);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA27_: ;
add__ast_6233(result, pragmas);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA23_: ;
}
LA4_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&pragmas);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, primary__parser_115)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL isSigil;
T3_ = (NIM_BOOL)0;
T3_ = isOperator__parser_44((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
a = NIM_NIL;
isSigil = isSigilLike__parser_269((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
a = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
NIM_BOOL T9_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI baseInd;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T14_;
T9_ = (NIM_BOOL)0;
T9_ = isSigil;
if (!(T9_)) goto LA10_;
T9_ = ((TM__FlWBYIOz13qHfz9ae813gBA_29[(NU)(((*p).tok.tokType))>>3] &(1U<<((NU)(((*p).tok.tokType))&7U)))!=0);
LA10_: ;
if (!T9_) goto LA11_;
colontmpD_ = NIM_NIL;
baseInd = (*p).lex.currLineIndent;
colontmpD_ = identOrLiteral__parser_766(p, mode);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
T14_ = NIM_NIL;
T14_ = primarySuffix__parser_839(p, result, baseInd, mode);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqsink___ast_3460(&result, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin13_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
goto LA7_;
LA11_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = primary__parser_115(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA7_: ;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA4_: ;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseProcExpr__parser_1163(p, !((mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1))), ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)30):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseProcExpr__parser_1163(p, !((mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1))), ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)38):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseProcExpr__parser_1163(p, !((mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1))), ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)7):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__3 = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)55), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
colontmpD__3 = primary__parser_115(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)24):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)12):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)54):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)52):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)18):
{
result = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NI baseInd_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
baseInd_2 = (*p).lex.currLineIndent;
result = identOrLiteral__parser_766(p, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T32_ = NIM_NIL;
T32_ = primarySuffix__parser_839(p, result, baseInd_2, mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T32_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(void, checkBinary__parser_294)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110))) goto LA3_;
{
NIM_BOOL T7_;
NimStringV2 colontmpD_;
T7_ = (NIM_BOOL)0;
T7_ = ((*p).tok.strongSpaceB == ((tyEnum_TokenSpacing__perxzrRsffkZSokgB16rRw)1));
if (!(T7_)) goto LA8_;
T7_ = !((*p).tok.strongSpaceA);
LA8_: ;
if (!T7_) goto LA9_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD_ = prettyTok__lexer_252((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
parMessage__parser_48(p, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)58), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
}
LA3_: ;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isRightAssociative__parser_276)(tyObject_Token__kYhYXOlGtXyCuQli9biTdZA* tok) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*tok).tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110));
if (!(T1_)) goto LA2_;
T1_ = ((NU8)((*(*tok).ident).s.p->data[((NI)0)]) == (NU8)(94));
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseOperators__parser_862)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* headNode, NI limit, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA colontmpD_;
tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA colontmpD__2;
NI opPrec;
tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA modeB;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = (tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0;
colontmpD__2 = (tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0;
eqcopy___ast_3457(&result, headNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
opPrec = getPrecedence__lexer_1562((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2))) goto LA3_;
colontmpD_ = ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1);
modeB = colontmpD_;
}
goto LA1_;
LA3_: ;
{
colontmpD__2 = mode;
modeB = colontmpD__2;
}
LA1_: ;
{
while (1) {
NIM_BOOL T8_;
NIM_BOOL T9_;
NIM_BOOL T12_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* opNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
NI leftAssoc;
NIM_BOOL T14_;
T8_ = (NIM_BOOL)0;
T9_ = (NIM_BOOL)0;
T9_ = (limit <= opPrec);
if (!(T9_)) goto LA10_;
T9_ = ((*p).tok.indent < ((NI)0));
LA10_: ;
T8_ = T9_;
if (!(T8_)) goto LA11_;
T12_ = (NIM_BOOL)0;
T12_ = isUnary__parser_283((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T8_ = !(T12_);
LA11_: ;
if (!T8_) goto LA7 ;
a = NIM_NIL;
opNode = NIM_NIL;
b = NIM_NIL;
checkBinary__parser_294((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
T14_ = (NIM_BOOL)0;
T14_ = isRightAssociative__parser_276((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
leftAssoc = !(T14_);
a = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
opNode = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
flexComment__parser_184(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
b = simpleExprAux__parser_118(p, (NI)(opPrec + leftAssoc), modeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
add__ast_6233(a, opNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
add__ast_6233(a, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
add__ast_6233(a, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqsink___ast_3460(&result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
a = 0;
opPrec = getPrecedence__lexer_1562((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&opNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
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__1pEudI6ZemBfsBxMjg4u5Q*, simpleExprAux__parser_118)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NI limit, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode_2;
NIM_BOOL oldNimErrFin15_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
mode_2 = mode;
result = primary__parser_115(p, mode_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(mode_2 == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)3))) goto LA3_;
mode_2 = ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0);
}
LA3_: ;
{
NIM_BOOL T7_;
NIM_BOOL T8_;
NIM_BOOL T10_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmaExp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T7_ = (NIM_BOOL)0;
T8_ = (NIM_BOOL)0;
T8_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98));
if (!(T8_)) goto LA9_;
T10_ = (NIM_BOOL)0;
T10_ = ((*p).tok.indent < ((NI)0));
if (T10_) goto LA11_;
T10_ = ((*p).currInd < (*p).tok.indent);
LA11_: ;
T8_ = T10_;
LA9_: ;
T7_ = T8_;
if (!(T7_)) goto LA12_;
T7_ = (mode_2 == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
LA12_: ;
if (!T7_) goto LA13_;
pragmaExp = NIM_NIL;
colontmpD_ = NIM_NIL;
pragmaExp = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)43), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(pragmaExp, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD_ = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(pragmaExp, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
eqsink___ast_3460(&result, pragmaExp);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
pragmaExp = 0;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&pragmaExp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA13_: ;
T18_ = NIM_NIL;
T18_ = parseOperators__parser_862(p, result, limit, mode_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, simpleExpr__parser_632)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = simpleExprAux__parser_118(p, ((NI)-1), mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTuple__parser_1070)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL indentAllowed) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)134), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92))) goto LA3_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tySet_tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw T8_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112))) goto LA6 ;
a = NIM_NIL;
T8_ = 0;
a = parseIdentColonEquals__parser_1012(p, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103)))) goto LA11_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA11_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA6: ;
} LA5: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
if (!indentAllowed) goto LA16_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI oldIndX60gensym63_;
if (!((*p).currInd < (*p).tok.indent)) goto LA20_;
oldIndX60gensym63_ = (*p).currInd;
(*p).currInd = (*p).tok.indent;
rawSkipComment__parser_166(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
tySet_tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw T26_;
a_2 = NIM_NIL;
T26_ = 0;
a_2 = parseIdentColonEquals__parser_1012(p, T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
NIM_BOOL T29_;
T29_ = (NIM_BOOL)0;
T29_ = ((*p).tok.indent < ((NI)0));
if (T29_) goto LA30_;
T29_ = ((*p).currInd <= (*p).tok.indent);
LA30_: ;
if (!T29_) goto LA31_;
rawSkipComment__parser_166(p, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
}
LA31_: ;
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1):
{
goto LA22;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_40, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA22;
}
break;
}
{
if (!!(((*p).tok.indent == (*p).currInd))) goto LA39_;
goto LA22;
}
LA39_: ;
}
} LA22: ;
(*p).currInd = oldIndX60gensym63_;
}
LA20_: ;
}
goto LA1_;
LA16_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA42_;
parMessage__parser_48((&(*p)), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__FlWBYIOz13qHfz9ae813gBA_42);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA42_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T45_;
T45_ = NIM_NIL;
T45_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)135), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T45_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseEnum__parser_1302)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)150), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
flexComment__parser_184(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* symPragma;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragma;
a = NIM_NIL;
symPragma = NIM_NIL;
pragma = NIM_NIL;
a = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA6_;
eqdestroy___ast_3454(&pragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA6_: ;
eqcopy___ast_3457(&symPragma, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
pragma = 0;
{
NIM_BOOL T10_;
NIM_BOOL T11_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T16_;
T10_ = (NIM_BOOL)0;
T11_ = (NIM_BOOL)0;
T11_ = ((*p).tok.indent < ((NI)0));
if (T11_) goto LA12_;
T11_ = ((*p).currInd <= (*p).tok.indent);
LA12_: ;
T10_ = T11_;
if (!(T10_)) goto LA13_;
T10_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98));
LA13_: ;
if (!T10_) goto LA14_;
pragma = optPragmas__parser_1134(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
T16_ = NIM_NIL;
T16_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)43), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
eqsink___ast_3460(&symPragma, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(symPragma, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(symPragma, pragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA14_: ;
{
NIM_BOOL T19_;
T19_ = (NIM_BOOL)0;
T19_ = (((NI)0) <= (*p).tok.indent);
if (!(T19_)) goto LA20_;
T19_ = ((*p).tok.indent <= (*p).currInd);
LA20_: ;
if (!T19_) goto LA21_;
add__ast_6233(result, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
eqdestroy___ast_3454(&pragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA21_: ;
{
NIM_BOOL T25_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T30_;
T25_ = (NIM_BOOL)0;
T25_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106));
if (!(T25_)) goto LA26_;
T25_ = ((*p).tok.indent < ((NI)0));
LA26_: ;
if (!T25_) goto LA27_;
b = NIM_NIL;
colontmpD_ = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
optInd__parser_86(p, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
b = symPragma;
symPragma = 0;
T30_ = NIM_NIL;
T30_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)151), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
eqsink___ast_3460(&symPragma, T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
add__ast_6233(symPragma, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
add__ast_6233(symPragma, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
{
NIM_BOOL T33_;
T33_ = (NIM_BOOL)0;
T33_ = ((*p).tok.indent < ((NI)0));
if (T33_) goto LA34_;
T33_ = ((*p).currInd <= (*p).tok.indent);
LA34_: ;
if (!T33_) goto LA35_;
rawSkipComment__parser_166(p, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
}
LA35_: ;
{
LA29_:;
}
{
oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
*nimErr_ = oldNimErrFin29_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA27_: ;
{
NIM_BOOL T41_;
T41_ = (NIM_BOOL)0;
T41_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102));
if (!(T41_)) goto LA42_;
T41_ = ((*p).tok.indent < ((NI)0));
LA42_: ;
if (!T41_) goto LA43_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
rawSkipComment__parser_166(p, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
goto LA39_;
LA43_: ;
{
{
NIM_BOOL T48_;
T48_ = (NIM_BOOL)0;
T48_ = ((*p).tok.indent < ((NI)0));
if (T48_) goto LA49_;
T48_ = ((*p).currInd <= (*p).tok.indent);
LA49_: ;
if (!T48_) goto LA50_;
rawSkipComment__parser_166(p, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA50_: ;
}
LA39_: ;
add__ast_6233(result, symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
NIM_BOOL T54_;
NIM_BOOL T55_;
T54_ = (NIM_BOOL)0;
T55_ = (NIM_BOOL)0;
T55_ = (((NI)0) <= (*p).tok.indent);
if (!(T55_)) goto LA56_;
T55_ = ((*p).tok.indent <= (*p).currInd);
LA56_: ;
T54_ = T55_;
if (T54_) goto LA57_;
T54_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1));
LA57_: ;
if (!T54_) goto LA58_;
eqdestroy___ast_3454(&pragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA58_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&pragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&symPragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
} LA1: ;
{
NI T64_;
T64_ = (NI)0;
T64_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T64_ <= ((NI)1))) goto LA65_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_45, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA65_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectWhen__parser_2101)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)140), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*p).tok.indent == (*p).currInd)) goto LA2 ;
branch = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
branch = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colcom__parser_311(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD__2 = parseObjectPart__parser_2099(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
flexComment__parser_184(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21)))) goto LA6_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
{
NIM_BOOL T12_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
T12_ = (NIM_BOOL)0;
T12_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22));
if (!(T12_)) goto LA13_;
T12_ = ((*p).tok.indent == (*p).currInd);
LA13_: ;
if (!T12_) goto LA14_;
branch_2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
branch_2 = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colcom__parser_311(p, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__3 = parseObjectPart__parser_2099(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(branch_2, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
flexComment__parser_184(p, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(result, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectCase__parser_2134)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL wasIndented;
NI oldInd;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)139), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTokNoInd__parser_197(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a = parseIdentColonEquals__parser_1012(p, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA4_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
flexComment__parser_184(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
wasIndented = NIM_FALSE;
oldInd = (*p).currInd;
{
if (!((*p).currInd < (*p).tok.indent)) goto LA8_;
(*p).currInd = (*p).tok.indent;
wasIndented = NIM_TRUE;
}
LA8_: ;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fields;
if (!((*p).tok.indent == (*p).currInd)) goto LA11 ;
b = NIM_NIL;
fields = NIM_NIL;
b = 0;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48):
{
b = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
exprList__parser_402(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104), b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22):
{
b = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
break;
default:
{
eqdestroy___ast_3454(&fields);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA10;
}
break;
}
colcom__parser_311(p, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
fields = parseObjectPart__parser_2099(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T20_;
if (!((*fields).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA18_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_47, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T20_ = NIM_NIL;
T20_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqsink___ast_3460(&fields, T20_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
LA18_: ;
add__ast_6233(b, fields);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(result, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
if (!((*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88))) goto LA23_;
eqdestroy___ast_3454(&fields);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA10;
}
LA23_: ;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&fields);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA11: ;
} LA10: ;
{
if (!wasIndented) goto LA29_;
(*p).currInd = oldInd;
}
LA29_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObjectPart__parser_2099)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NI oldIndX60gensym149_;
if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)138), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
oldIndX60gensym149_ = (*p).currInd;
(*p).currInd = (*p).tok.indent;
rawSkipComment__parser_166(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
if (!((*p).tok.indent == (*p).currInd)) goto LA6 ;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)17):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = parseObjectPart__parser_2099(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_46, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
break;
}
} LA6: ;
} LA5: ;
(*p).currInd = oldIndX60gensym149_;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = ((*p).tok.indent == (*p).currInd);
if (T13_) goto LA14_;
T13_ = ((*p).tok.indent < ((NI)0));
LA14_: ;
if (!T13_) goto LA15_;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
{
result = parseObjectWhen__parser_2101(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
{
result = parseObjectCase__parser_2134(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
result = parseIdentColonEquals__parser_1012(p, 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T22_;
T22_ = (NIM_BOOL)0;
T22_ = ((*p).tok.indent < ((NI)0));
if (T22_) goto LA23_;
T22_ = ((*p).currInd <= (*p).tok.indent);
LA23_: ;
if (!T22_) goto LA24_;
rawSkipComment__parser_166(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA24_: ;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)44):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)17):
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}
goto LA1_;
LA15_: ;
{
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseObject__parser_1304)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)133), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T3_ = (NIM_BOOL)0;
T3_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48));
if (!(T3_)) goto LA4_;
T3_ = ((*p).tok.indent < ((NI)0));
LA4_: ;
if (!T3_) goto LA5_;
a = NIM_NIL;
colontmpD_ = NIM_NIL;
a = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)77), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD_ = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(a, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA13_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA13_: ;
{
if (!!(((*p).currInd < (*p).tok.indent))) goto LA17_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA15_;
LA17_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = parseObjectPart__parser_2099(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeClassParam__parser_2211)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD_;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__2;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__3;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__4;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__5;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__6;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ modifier;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__3 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__4 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__5 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__6 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
{
colontmpD_ = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)143);
modifier = colontmpD_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)52):
{
colontmpD__2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)142);
modifier = colontmpD__2;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)54):
{
colontmpD__3 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)141);
modifier = colontmpD__3;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58):
{
colontmpD__4 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)137);
modifier = colontmpD__4;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
{
colontmpD__5 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132);
modifier = colontmpD__5;
}
break;
default:
{
colontmpD__6 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1);
modifier = colontmpD__6;
}
break;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
if (!!((modifier == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA9_;
colontmpD__7 = NIM_NIL;
result = newNodeP__parser_55(modifier, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
colontmpD__7 = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA7_;
LA9_: ;
{
result = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, validInd__parser_163)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*p).tok.indent < ((NI)0));
if (T1_) goto LA2_;
T1_ = ((*p).currInd < (*p).tok.indent);
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_6679)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeClass__parser_1306)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)136), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA3_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* args;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.indent < ((NI)0))) goto LA7_;
args = NIM_NIL;
colontmpD_ = NIM_NIL;
args = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(result, args);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
colontmpD_ = parseTypeClassParam__parser_2211(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(args, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102))) goto LA11 ;
colontmpD__2 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__2 = parseTypeClassParam__parser_2211(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(args, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&args);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA7_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
{
NIM_BOOL T20_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
T20_ = (NIM_BOOL)0;
T20_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98));
if (!(T20_)) goto LA21_;
T20_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA21_: ;
if (!T20_) goto LA22_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA18_;
LA22_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA18_: ;
{
NIM_BOOL T30_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
T30_ = (NIM_BOOL)0;
T30_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48));
if (!(T30_)) goto LA31_;
T30_ = ((*p).tok.indent < ((NI)0));
LA31_: ;
if (!T30_) goto LA32_;
a = NIM_NIL;
a = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)77), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
add__ast_6233(a, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA40_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
goto LA35;
}
LA40_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
{
LA37_:;
}
{
oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
*nimErr_ = oldNimErrFin37_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
}
} LA35: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
{
LA34_:;
}
{
oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin34_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA28_;
LA32_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA28_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA49_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA49_: ;
{
if (!!(((*p).currInd < (*p).tok.indent))) goto LA53_;
{
NIM_BOOL T57_;
T57_ = (NIM_BOOL)0;
T57_ = isNewStyleConcept__ast_6679(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T57_) goto LA58_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_49, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA58_: ;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA51_;
LA53_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
colontmpD__5 = NIM_NIL;
colontmpD__5 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
{
LA61_:;
}
{
oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, binaryNot__parser_1354)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* notOpr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)45))) goto LA3_;
notOpr = NIM_NIL;
b = NIM_NIL;
notOpr = newIdentNodeP__parser_70((*p).tok.ident, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optInd__parser_86(p, notOpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
b = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, notOpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&notOpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
eqcopy___ast_3457(&result, a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDefValue__parser_264)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin19_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61):
{
result = parseTuple__parser_1070(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)54):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)141), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)52):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)142), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)18):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)146), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)24):
{
result = parseEnum__parser_1302(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47):
{
result = parseObject__parser_1304(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)12):
{
result = parseTypeClass__parser_1306(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
result = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T22_;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)45)))) goto LA11_;
{
NIM_BOOL isFirstParam;
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26))) goto LA15_;
isFirstParam = NIM_FALSE;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102))) goto LA18 ;
colontmpD_ = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
colontmpD_ = commandParam__parser_800(p, (&isFirstParam), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
LA19_:;
}
{
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin19_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA18: ;
}
}
LA15_: ;
T22_ = NIM_NIL;
T22_ = postExprBlocks__parser_108(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T22_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA11_: ;
}
break;
}
T23_ = NIM_NIL;
T23_ = binaryNot__parser_1354(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
int result;
result = (int)0;
result = memcmp(a, b, ((size_t) (size)));
return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
NIM_BOOL result;
int T1_;
result = (NIM_BOOL)0;
T1_ = (int)0;
T1_ = nimCmpMem(a, b, size);
result = (T1_ == ((NI32)0));
return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
NIM_BOOL result;
NI alen;
NI blen;
{ result = (NIM_BOOL)0;
alen = a.len;
blen = b.len;
{
if (!(alen == blen)) goto LA3_;
{
if (!(alen == ((NI)0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSymbolList__parser_1199)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s;
s = NIM_NIL;
s = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!((*s).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA6_;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
add__ast_6233(result, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA10_;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA10_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
} LA1: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDescKAux__parser_1215)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA mode) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL isTypedef;
NIM_BOOL T7_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*p).tok.indent == ((NI)-1)));
if (!(T3_)) goto LA4_;
T3_ = ((*p).tok.indent <= (*p).currInd);
LA4_: ;
if (!T3_) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T7_ = (NIM_BOOL)0;
T7_ = (mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (!(T7_)) goto LA8_;
T7_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61));
LA8_: ;
isTypedef = T7_;
{
NIM_BOOL T11_;
NIM_BOOL T12_;
T11_ = (NIM_BOOL)0;
T12_ = (NIM_BOOL)0;
T12_ = isOperator__parser_44((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T11_ = !(T12_);
if (!(T11_)) goto LA13_;
T11_ = isExprStart__parser_1196((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
if (!T11_) goto LA14_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!isTypedef) goto LA18_;
colontmpD_ = NIM_NIL;
colontmpD_ = parseTypeDefValue__parser_264(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin20_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA16_;
LA18_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = primary__parser_115(p, mode);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA16_: ;
}
LA14_: ;
{
NIM_BOOL T29_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* list;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ nodeKind;
T29_ = (NIM_BOOL)0;
T29_ = (kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)146));
if (!(T29_)) goto LA30_;
T29_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2));
LA30_: ;
if (!T29_) goto LA31_;
list = NIM_NIL;
nodeKind = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
{
if (!eqStrings((*(*p).tok.ident).s, TM__FlWBYIOz13qHfz9ae813gBA_51)) goto LA36_;
nodeKind = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)130);
}
goto LA34_;
LA36_: ;
{
if (!eqStrings((*(*p).tok.ident).s, TM__FlWBYIOz13qHfz9ae813gBA_53)) goto LA39_;
nodeKind = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)131);
}
goto LA34_;
LA39_: ;
{
eqdestroy___ast_3454(&list);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA34_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
list = newNodeP__parser_55(nodeKind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
add__ast_6233(result, list);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
parseSymbolList__parser_1199(p, list);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
{
LA33_:;
}
{
oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&list);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin33_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA31_: ;
{
NIM_BOOL T46_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T50_;
T46_ = (NIM_BOOL)0;
T46_ = (mode == ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)2));
if (!(T46_)) goto LA47_;
T46_ = !(isTypedef);
LA47_: ;
if (!T46_) goto LA48_;
T50_ = NIM_NIL;
T50_ = parseOperators__parser_862(p, result, ((NI)-1), mode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T50_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA48_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDesc__parser_261)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL fullExpr) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!fullExpr) goto LA3_;
result = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)61):
{
result = parseTuple__parser_1070(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseProcExpr__parser_1163(p, NIM_FALSE, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)38):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseProcExpr__parser_1163(p, NIM_FALSE, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)24):
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)150), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)47):
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)133), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)12):
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_44);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)143), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)145), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)54):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)141), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)52):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)142), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)18):
{
result = parseTypeDescKAux__parser_1215(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)146), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
result = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}
LA1_: ;
T18_ = NIM_NIL;
T18_ = binaryNot__parser_1354(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIdentColonEquals__parser_1012)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tySet_tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T9_;
if (!((flags &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw)0)))&7U)))!=0)) goto LA7_;
T9_ = NIM_NIL;
T9_ = identWithPragma__parser_987(p, ((flags &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw)2)))&7U)))!=0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA7_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
T11_ = NIM_NIL;
T11_ = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA14_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA14_: ;
}
break;
default:
{
goto LA2;
}
break;
}
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA19_;
goto LA2;
}
LA19_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA2: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA23_;
colontmpD_ = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
colontmpD_ = parseTypeDesc__parser_261(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA21_;
LA23_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
{
NIM_BOOL T32_;
T32_ = (NIM_BOOL)0;
T32_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106)));
if (!(T32_)) goto LA33_;
T32_ = !(((flags &((NU8)1<<((NU)((((tyEnum_DeclaredIdentFlag__HSPwuC2cA03GCInmy9c3ngw)1)))&7U)))!=0));
LA33_: ;
if (!T32_) goto LA34_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_55, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
}
LA34_: ;
{
LA29_:;
}
{
oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin29_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA40_;
colontmpD__3 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
colontmpD__3 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
{
LA42_:;
}
{
oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin42_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA38_;
LA40_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA38_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseParamList__parser_266)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL retColon) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL colontmpD_;
NIM_BOOL colontmpD__2;
NIM_BOOL hasParLe;
NIM_BOOL T2_;
NIM_BOOL hasRet;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
colontmpD_ = (NIM_BOOL)0;
colontmpD__2 = (NIM_BOOL)0;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)76), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (NIM_BOOL)0;
T2_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90));
if (!(T2_)) goto LA3_;
T2_ = ((*p).tok.indent < ((NI)0));
LA3_: ;
hasParLe = T2_;
{
if (!hasParLe) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
T11_ = NIM_NIL;
T11_ = parseIdentColonEquals__parser_1012(p, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91):
{
goto LA8;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
{
parMessage__parser_48((&(*p)), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__FlWBYIOz13qHfz9ae813gBA_57);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA8;
}
break;
default:
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA8;
}
break;
}
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103)))) goto LA17_;
goto LA8;
}
LA17_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA8: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
{
if (!retColon) goto LA21_;
colontmpD_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104));
hasRet = colontmpD_;
}
goto LA19_;
LA21_: ;
{
NIM_BOOL T24_;
T24_ = (NIM_BOOL)0;
T24_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110));
if (!(T24_)) goto LA25_;
T24_ = eqStrings((*(*p).tok.ident).s, TM__FlWBYIOz13qHfz9ae813gBA_61);
LA25_: ;
colontmpD__2 = T24_;
hasRet = colontmpD__2;
}
LA19_: ;
{
NIM_BOOL T28_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
T28_ = (NIM_BOOL)0;
T28_ = hasRet;
if (!(T28_)) goto LA29_;
T28_ = ((*p).tok.indent < ((NI)0));
LA29_: ;
if (!T28_) goto LA30_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T32_ = NIM_NIL;
T32_ = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA26_;
LA30_: ;
{
NIM_BOOL T34_;
T34_ = (NIM_BOOL)0;
T34_ = !(retColon);
if (!(T34_)) goto LA35_;
T34_ = !(hasParLe);
LA35_: ;
if (!T34_) goto LA36_;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA26_;
LA36_: ;
LA26_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, makeCall__parser_1400)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA3_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseDoBlock__parser_1141)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmas;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
params = NIM_NIL;
pragmas = NIM_NIL;
params = parseParamList__parser_266(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
pragmas = optPragmas__parser_1134(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T5_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T14_;
T5_ = (NIM_BOOL)0;
T5_ = !(((*params).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
if (T5_) goto LA6_;
T5_ = !(((*pragmas).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
LA6_: ;
if (!T5_) goto LA7_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
if (!((*params).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA11_;
T13_ = NIM_NIL;
T13_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)76), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&params, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(params, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
T14_ = NIM_NIL;
T14_ = newProcNode__ast_4889(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52), info, result, params, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, pragmas, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA7_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&pragmas);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&params);
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_428)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ endTok, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
NIM_BOOL T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
T3_ = (NIM_BOOL)0;
T3_ = !(((*p).tok.tokType == endTok));
if (!(T3_)) goto LA4_;
T3_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)));
LA4_: ;
if (!T3_) goto LA2 ;
a = NIM_NIL;
a = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA8_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA8_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, postExprBlocks__parser_108)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* openingParams;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* openingPragmas;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
openingParams = NIM_NIL;
openingPragmas = NIM_NIL;
eqcopy___ast_3457(&result, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!(((NI)0) <= (*p).tok.indent)) goto LA4_;
eqdestroy___ast_3454(&openingPragmas);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&openingParams);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
eqcopy___ast_3457(&openingParams, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&openingPragmas, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T10_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA8_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T10_ = NIM_NIL;
T10_ = parseParamList__parser_266(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&openingParams, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_ = NIM_NIL;
T11_ = optPragmas__parser_1134(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&openingPragmas, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T16_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA14_;
T16_ = NIM_NIL;
T16_ = makeCall__parser_1400(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* stmtList;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25)))) goto LA19_;
stmtList = NIM_NIL;
colontmpD_ = NIM_NIL;
stmtList = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__ast_6233(stmtList, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
if (!((*(*stmtList)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115))) goto LA24_;
eqcopy___ast_3457(&stmtList, (*stmtList)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA24_: ;
(*stmtList).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)16))) & 31);
{
NIM_BOOL T28_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T28_ = (NIM_BOOL)0;
T28_ = !(((*openingParams).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
if (T28_) goto LA29_;
T28_ = !(((*openingPragmas).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
LA29_: ;
if (!T28_) goto LA30_;
colontmpD__2 = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T36_;
if (!((*openingParams).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA34_;
T36_ = NIM_NIL;
T36_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)76), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqsink___ast_3460(&openingParams, T36_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__ast_6233(openingParams, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA34_: ;
colontmpD__2 = newProcNode__ast_4889(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52), (*stmtList).info, stmtList, openingParams, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, openingPragmas, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
goto LA26_;
LA30_: ;
{
add__ast_6233(result, stmtList);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA26_: ;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&stmtList);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA19_: ;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nextBlock;
tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ nextToken;
if (!((*p).tok.indent == (*p).currInd)) goto LA41 ;
nextBlock = NIM_NIL;
nextBlock = 0;
nextToken = (*p).tok.tokType;
{
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
if (!(nextToken == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)20))) goto LA45_;
info = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
nextBlock = parseDoBlock__parser_1141(p, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
}
goto LA43_;
LA45_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__3 = NIM_NIL;
switch (nextToken) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48):
{
nextBlock = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
exprList__parser_402(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104), nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
nextBlock = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
optInd__parser_86(p, nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
colontmpD__4 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
add__ast_6233(nextBlock, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
{
LA51_:;
}
{
oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
*nimErr_ = oldNimErrFin51_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25):
{
nextBlock = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
optionalExprList__parser_428(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104), nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)27):
{
nextBlock = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22):
{
nextBlock = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
break;
default:
{
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqdestroy___ast_3454(&nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA40;
}
break;
}
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
colontmpD__3 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(nextBlock, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
{
LA48_:;
}
{
oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
*nimErr_ = oldNimErrFin48_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
}
LA43_: ;
(*nextBlock).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)16))) & 31);
add__ast_6233(result, nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
{
if (!((*nextBlock).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88) || (*nextBlock).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA62_;
eqdestroy___ast_3454(&nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA40;
}
LA62_: ;
{
LA42_:;
}
{
oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&nextBlock);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin42_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA41: ;
} LA40: ;
}
goto LA12_;
LA14_: ;
{
{
if (!!(((*openingParams).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA69_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_63);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA69_: ;
}
LA12_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&openingPragmas);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&openingParams);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseReturnOrRaise__parser_1616)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA3_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, (*p).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).tok.indent);
if (!(T7_)) goto LA8_;
T7_ = ((*p).tok.indent <= (*p).currInd);
LA8_: ;
T6_ = T7_;
if (T6_) goto LA9_;
T10_ = (NIM_BOOL)0;
T10_ = isExprStart__parser_1196((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T6_ = !(T10_);
LA9_: ;
if (!T6_) goto LA11_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA11_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* e;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T15_;
e = NIM_NIL;
e = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T15_ = NIM_NIL;
T15_ = postExprBlocks__parser_108(p, e);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqsink___ast_3460(&e, T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
add__ast_6233(result, e);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&e);
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__1pEudI6ZemBfsBxMjg4u5Q*, parseModuleName__parser_1542)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseImport__parser_1546)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a = parseModuleName__parser_1542(p, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25))) goto LA4_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25))) goto LA8_;
transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w) ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)(kind + ((NI)1)))));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T12_;
(*p).hasProgress = NIM_FALSE;
T12_ = NIM_NIL;
T12_ = parseModuleName__parser_1542(p, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T15_;
T15_ = (NIM_BOOL)0;
T15_ = ((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (T15_) goto LA16_;
T15_ = !((*p).hasProgress);
LA16_: ;
if (!T15_) goto LA17_;
goto LA10;
}
LA17_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA21_;
goto LA10;
}
LA21_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA10: ;
}
LA4_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseFromStmt__parser_1596)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)120), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a = parseModuleName__parser_1542(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)116));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)32));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
(*p).hasProgress = NIM_FALSE;
T4_ = NIM_NIL;
T4_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = ((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (T7_) goto LA8_;
T7_ = !((*p).hasProgress);
LA8_: ;
if (!T7_) goto LA9_;
goto LA2;
}
LA9_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA13_;
goto LA2;
}
LA13_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA2: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIncludeStmt__parser_1580)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)121), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
(*p).hasProgress = NIM_FALSE;
a = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
NIM_BOOL T6_;
T6_ = (NIM_BOOL)0;
T6_ = ((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (T6_) goto LA7_;
T6_ = !((*p).hasProgress);
LA7_: ;
if (!T6_) goto LA8_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA8_: ;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA12_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA12_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
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__1pEudI6ZemBfsBxMjg4u5Q*, newCommentStmt__parser_2004)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
commenteq___ast_1512(result, (*p).tok.literal);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseExprStmt__parser_111)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
a = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T7_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA4_;
b = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
b = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T7_ = NIM_NIL;
T7_ = postExprBlocks__parser_108(p, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqsink___ast_3460(&b, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
NIM_BOOL isFirstParam;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
isFirstParam = NIM_FALSE;
{
NIM_BOOL T13_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T17_;
NI baseIndent;
T13_ = (NIM_BOOL)0;
T13_ = ((*p).tok.indent < ((NI)0));
if (!(T13_)) goto LA14_;
T13_ = isExprStart__parser_1196((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA14_: ;
if (!T13_) goto LA15_;
nimZeroMem((void*)T17_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T17_[0] = a;
result = newTreeI__ast_4003(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26), (*a).info, T17_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
baseIndent = (*p).currInd;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = commandParam__parser_800(p, (&isFirstParam), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
NIM_BOOL T23_;
NIM_BOOL T25_;
T23_ = (NIM_BOOL)0;
T23_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)));
if (T23_) goto LA24_;
T25_ = (NIM_BOOL)0;
T25_ = (((NI)0) <= (*p).tok.indent);
if (!(T25_)) goto LA26_;
T25_ = ((*p).tok.indent < baseIndent);
LA26_: ;
T23_ = T25_;
LA24_: ;
if (!T23_) goto LA27_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA18;
}
LA27_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin20_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA18: ;
}
goto LA11_;
LA15_: ;
{
result = a;
a = 0;
}
LA11_: ;
T32_ = NIM_NIL;
T32_ = postExprBlocks__parser_108(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, simpleStmt__parser_2446)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)55):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)53):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)68):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)17):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)9):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)14):
{
result = parseReturnOrRaise__parser_1616(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)111));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98):
{
result = parseStmtPragma__parser_104(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)32):
{
result = parseImport__parser_1546(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)116));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)26):
{
result = parseImport__parser_1546(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)118));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)29):
{
result = parseFromStmt__parser_1596(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)34):
{
result = parseIncludeStmt__parser_1580(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111):
{
result = newCommentStmt__parser_2004(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = isExprStart__parser_1196((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T16_) goto LA17_;
result = parseExprStmt__parser_111(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA14_;
LA17_: ;
{
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA14_: ;
}
break;
}
{
if (!!(((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) || (*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125)))) goto LA22_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA22_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseStmt__parser_259)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NI oldIndX60gensym180_;
if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
oldIndX60gensym180_ = (*p).currInd;
(*p).currInd = (*p).tok.indent;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
{
if (!((*p).tok.indent == (*p).currInd)) goto LA10_;
}
goto LA8_;
LA10_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103))) goto LA13_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = ((*p).tok.indent < ((NI)0));
if (T17_) goto LA18_;
T17_ = ((*p).tok.indent == (*p).currInd);
LA18_: ;
if (!T17_) goto LA19_;
}
goto LA15_;
LA19_: ;
{
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA15_: ;
}
goto LA8_;
LA13_: ;
{
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = ((*p).currInd < (*p).tok.indent);
if (!(T25_)) goto LA26_;
T25_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107)));
LA26_: ;
if (!T25_) goto LA27_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_20);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA27_: ;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA8_: ;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)99) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93))) goto LA31_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA31_: ;
(*p).hasProgress = NIM_FALSE;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21))) goto LA35_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA35_: ;
a = complexOrSimpleStmt__parser_630(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
NIM_BOOL T39_;
T39_ = (NIM_BOOL)0;
T39_ = ((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (!(T39_)) goto LA40_;
T39_ = !((*p).hasProgress);
LA40_: ;
if (!T39_) goto LA41_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_22, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
goto LA37_;
LA41_: ;
{
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA37_: ;
{
NIM_BOOL T46_;
T46_ = (NIM_BOOL)0;
T46_ = !((*p).hasProgress);
if (!(T46_)) goto LA47_;
T46_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1));
LA47_: ;
if (!T46_) goto LA48_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA5;
}
LA48_: ;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
} LA5: ;
(*p).currInd = oldIndX60gensym180_;
}
goto LA1_;
LA3_: ;
{
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)31):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)66):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)60):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)28):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)8):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)6):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)30):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)38):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)40):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)13):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_24);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
if (!(((NI)0) < (*p).inSemiStmtList)) goto LA57_;
result = simpleStmt__parser_2446(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA61_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_64, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA61_: ;
}
goto LA55_;
LA57_: ;
{
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
NIM_BOOL err;
a_2 = NIM_NIL;
{
if (!(((NI)0) <= (*p).tok.indent)) goto LA69_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_65);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
}
LA69_: ;
(*p).hasProgress = NIM_FALSE;
a_2 = simpleStmt__parser_2446(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
err = !((*p).hasProgress);
{
if (!((*a_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA73_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_66, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
}
LA73_: ;
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103)))) goto LA77_;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA64;
}
LA77_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
{
NIM_BOOL T81_;
T81_ = (NIM_BOOL)0;
T81_ = err;
if (!(T81_)) goto LA82_;
T81_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1));
LA82_: ;
if (!T81_) goto LA83_;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA64;
}
LA83_: ;
{
LA66_:;
}
{
oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseBlock__parser_113)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTokNoInd__parser_197(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA4_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseVarTuple__parser_1255)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112))) goto LA2 ;
a = NIM_NIL;
a = identWithPragma__parser_987(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA6_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseFor__parser_1257)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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_197(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)94), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA4_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = parseVarTuple__parser_1255(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
a = identWithPragma__parser_987(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T20_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102))) goto LA12 ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA15_;
colontmpD__4 = NIM_NIL;
colontmpD__4 = parseVarTuple__parser_1255(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
goto LA11;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
LA15_: ;
T20_ = NIM_NIL;
T20_ = identWithPragma__parser_987(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqsink___ast_3460(&a, T20_);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
} LA12: ;
} LA11: ;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)33));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseCase__parser_102)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL inElif;
NIM_BOOL wasIndented;
NI oldInd;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
b = NIM_NIL;
colontmpD_ = NIM_NIL;
inElif = NIM_FALSE;
wasIndented = NIM_FALSE;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA4_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
oldInd = (*p).currInd;
{
if (!((*p).currInd < (*p).tok.indent)) goto LA8_;
(*p).currInd = (*p).tok.indent;
wasIndented = NIM_TRUE;
}
LA8_: ;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*p).tok.indent == (*p).currInd)) goto LA11 ;
colontmpD__2 = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)48):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T18_;
{
if (!inElif) goto LA16_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA10;
}
LA16_: ;
T18_ = NIM_NIL;
T18_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqsink___ast_3460(&b, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
exprList__parser_402(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104), b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T21_;
colontmpD__3 = NIM_NIL;
inElif = NIM_TRUE;
T21_ = NIM_NIL;
T21_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
eqsink___ast_3460(&b, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
optInd__parser_86(p, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__3 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(b, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
*nimErr_ = oldNimErrFin20_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_;
T25_ = NIM_NIL;
T25_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqsink___ast_3460(&b, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
break;
default:
{
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA10;
}
break;
}
colcom__parser_311(p, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(b, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(result, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
if (!((*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88))) goto LA29_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA10;
}
LA29_: ;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA11: ;
} LA10: ;
{
if (!wasIndented) goto LA35_;
(*p).currInd = oldInd;
}
LA35_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTry__parser_99)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, NIM_BOOL isExpr) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
b = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
b = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL);
{
while (1) {
NIM_BOOL T4_;
NIM_BOOL T5_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T4_ = (NIM_BOOL)0;
T5_ = (NIM_BOOL)0;
T5_ = ((*p).tok.indent == (*p).currInd);
if (T5_) goto LA6_;
T5_ = ((*p).tok.indent < ((NI)0));
LA6_: ;
T4_ = T5_;
if (T4_) goto LA7_;
T4_ = isExpr;
LA7_: ;
if (!T4_) goto LA3 ;
colontmpD__2 = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T10_;
T10_ = NIM_NIL;
T10_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_3460(&b, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
optionalExprList__parser_428(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104), b);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)27):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T12_;
T12_ = NIM_NIL;
T12_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_3460(&b, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
break;
default:
{
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
goto LA2;
}
break;
}
colcom__parser_311(p, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(b, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(result, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA3: ;
} LA2: ;
{
if (!(b == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA18_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_68);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA18_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseExpr__parser_257)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)8):
{
result = parseBlock__parser_113(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)31):
{
result = parseIfOrWhenExpr__parser_635(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)28):
{
result = parseFor__parser_1257(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
{
result = parseIfOrWhenExpr__parser_635(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
{
result = parseCase__parser_102(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)60):
{
result = parseTry__parser_99(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
result = simpleExpr__parser_632(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseIfOrWhen__parser_1637)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
branch = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
branch = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colcom__parser_311(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(branch, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
skipComment__parser_52(p, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
NIM_BOOL T6_;
NIM_BOOL T8_;
T6_ = (NIM_BOOL)0;
T6_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)21)));
if (T6_) goto LA7_;
T8_ = (NIM_BOOL)0;
T8_ = ((*p).tok.indent == (*p).currInd);
if (T8_) goto LA9_;
T8_ = ((*p).tok.indent < ((NI)0));
LA9_: ;
T6_ = !(T8_);
LA7_: ;
if (!T6_) goto LA10_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA10_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
} LA1: ;
{
NIM_BOOL T16_;
NIM_BOOL T18_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
T16_ = (NIM_BOOL)0;
T16_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22));
if (!(T16_)) goto LA17_;
T18_ = (NIM_BOOL)0;
T18_ = ((*p).tok.indent == (*p).currInd);
if (T18_) goto LA19_;
T18_ = ((*p).tok.indent < ((NI)0));
LA19_: ;
T16_ = T18_;
LA17_: ;
if (!T16_) goto LA20_;
branch_2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
branch_2 = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)22));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colcom__parser_311(p, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__3 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(branch_2, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(result, branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseWhile__parser_1705)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseExceptBlock__parser_1768)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseStaticOrDefer__parser_1795)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeP__parser_55(k, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colcom__parser_311(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseAsm__parser_1803)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)89), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTokNoInd__parser_197(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98))) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD_ = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)83):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)84):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__3 = NIM_NIL;
colontmpD__3 = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)21), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)85):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = newStrNodeP__parser_66(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22), (*p).tok.literal, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_70);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
break;
}
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parsePattern__parser_1903)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)94));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)95));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, expectIdent__parser_75)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NimStringV2 colontmpD_;
NimStringV2 T6_;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2)))) goto LA3_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T6_.len = 0; T6_.p = NIM_NIL;
T6_ = prettyTok__lexer_252((&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = nsuFormatSingleElem(TM__FlWBYIOz13qHfz9ae813gBA_75, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
lexMessage__lexer_390((&(*p).lex), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGenericParam__parser_1834)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
a = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)33):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50):
{
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* x;
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
NimStringV2 T6_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T12_;
x = 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).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)33))) goto LA9_;
colontmpD_ = TM__FlWBYIOz13qHfz9ae813gBA_72;
T6_ = colontmpD_;
}
goto LA7_;
LA9_: ;
{
colontmpD__2 = TM__FlWBYIOz13qHfz9ae813gBA_74;
T6_ = colontmpD__2;
}
LA7_: ;
x = getIdent__idents_166((*p).lex.cache, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
T12_ = NIM_NIL;
T12_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqsink___ast_3460(&a, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__3 = newIdentNodeP__parser_70(x, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(a, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
expectIdent__parser_75((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__4 = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(a, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___idents_133(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T16_;
T16_ = NIM_NIL;
T16_ = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&a, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA19_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA19_: ;
}
break;
default:
{
goto LA2;
}
break;
}
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA24_;
goto LA2;
}
LA24_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
} LA2: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA28_;
colontmpD__5 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
colontmpD__5 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
{
LA30_:;
}
{
oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin30_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA26_;
LA28_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA26_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA36_;
colontmpD__6 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
colontmpD__6 = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
{
LA38_:;
}
{
oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin38_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA34_;
LA36_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA34_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseGenericParamList__parser_1887)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)75), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)33) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)50))) goto LA2 ;
a = NIM_NIL;
a = parseGenericParam__parser_1834(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103)))) goto LA6_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
} LA1: ;
optPar__parser_84(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, indAndComment__parser_89)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL maybeMissEquals) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*p).currInd < (*p).tok.indent)) goto LA3_;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111))) goto LA7_;
rawSkipComment__parser_166(p, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA7_: ;
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NI col;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyArray__nHXaesL0DJZHyVS07ARPRA T13_;
if (!maybeMissEquals) goto LA10_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
col = (NI)((*p).bufposPrevious - (*p).lineStartPrevious);
info = newLineInfo__msgs_408((*p).lex.fileIdx, (*p).lineNumberPrevious, col);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD_ = dollar___msgs_675((*p).lex.config, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T13_[0] = colontmpD_;
colontmpD__2 = nsuFormatOpenArray(TM__FlWBYIOz13qHfz9ae813gBA_77, T13_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
parMessage__parser_148((&(*p)), colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA10_: ;
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_78);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}
goto LA1_;
LA3_: ;
{
skipComment__parser_52(p, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseRoutine__parser_1906)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
NimStringV2 colontmpD__3;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL maybeMissEquals;
NIM_BOOL oldNimErrFin51_;
NI T55_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
body = NIM_NIL;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__4;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__5;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ T8_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T14_;
T4_ = (NIM_BOOL)0;
T4_ = (kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) || kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) || kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84) || kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159));
if (!(T4_)) goto LA5_;
T4_ = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2) || (*p).tok.tokType >= ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)3) && (*p).tok.tokType <= ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)68) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112)));
LA5_: ;
if (!T4_) goto LA6_;
colontmpD__4 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__5 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
T8_ = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
{
if (!(kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79))) goto LA11_;
colontmpD__4 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51);
T8_ = colontmpD__4;
}
goto LA9_;
LA11_: ;
{
colontmpD__5 = kind;
T8_ = colontmpD__5;
}
LA9_: ;
T14_ = NIM_NIL;
T14_ = parseProcExpr__parser_1163(p, NIM_TRUE, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA6_: ;
colontmpD_ = identVis__parser_966(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T17_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
T17_ = (NIM_BOOL)0;
T17_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)94));
if (!(T17_)) goto LA18_;
T17_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA18_: ;
if (!T17_) goto LA19_;
colontmpD__6 = NIM_NIL;
colontmpD__6 = parsePattern__parser_1903(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA15_;
LA19_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA15_: ;
{
NIM_BOOL T27_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
T27_ = (NIM_BOOL)0;
T27_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92));
if (!(T27_)) goto LA28_;
T27_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA28_: ;
if (!T27_) goto LA29_;
colontmpD__7 = NIM_NIL;
colontmpD__7 = parseGenericParamList__parser_1887(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA25_;
LA29_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA25_: ;
colontmpD__2 = parseParamList__parser_266(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T37_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
T37_ = (NIM_BOOL)0;
T37_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)98));
if (!(T37_)) goto LA38_;
T37_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA38_: ;
if (!T37_) goto LA39_;
colontmpD__8 = NIM_NIL;
colontmpD__8 = parsePragma__parser_106(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
add__ast_6233(result, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
{
LA41_:;
}
{
oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin41_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA35_;
LA39_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA35_: ;
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
maybeMissEquals = !(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106)));
{
NIM_BOOL T47_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
T47_ = (NIM_BOOL)0;
T47_ = !(maybeMissEquals);
if (!(T47_)) goto LA48_;
T47_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA48_: ;
if (!T47_) goto LA49_;
colontmpD__9 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
colontmpD__9 = parseStmt__parser_259(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
add__ast_6233(result, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
{
LA51_:;
}
{
oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin51_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA45_;
LA49_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA45_: ;
indAndComment__parser_89(p, result, maybeMissEquals);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T55_ = (NI)0;
T55_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&body, (*result)._kind_6.sons.p->data[(NI)(T55_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T58_;
NIM_BOOL T59_;
NIM_BOOL T60_;
NI T62_;
NimStringV2 colontmpD__10;
T58_ = (NIM_BOOL)0;
T59_ = (NIM_BOOL)0;
T60_ = (NIM_BOOL)0;
T60_ = ((*body).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115));
if (!(T60_)) goto LA61_;
T62_ = (NI)0;
T62_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T60_ = (((NI)0) < T62_);
LA61_: ;
T59_ = T60_;
if (!(T59_)) goto LA63_;
colontmpD__3 = comment__ast_1148((*body)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T59_ = (((NI)0) < colontmpD__3.len);
LA63_: ;
T58_ = T59_;
if (!(T58_)) goto LA64_;
T58_ = !(((*(*body)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125)));
LA64_: ;
if (!T58_) goto LA65_;
colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
{
NimStringV2 colontmpD__11;
colontmpD__10 = comment__ast_1148(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
if (!(colontmpD__10.len == ((NI)0))) goto LA70_;
colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
colontmpD__11 = comment__ast_1148((*body)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
commenteq___ast_1512(result, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
commenteq___ast_1512((*body)._kind_6.sons.p->data[((NI)0)], TM__FlWBYIOz13qHfz9ae813gBA_79);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
{
LA72_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__11));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
}
LA70_: ;
{
LA67_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__10));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA65_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseSection__parser_2007)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyProc__ksIJfeCPYsGjESaAKPnWWQ defparser) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(kind, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!!((kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98)))) goto LA3_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI oldIndX60gensym133_;
if (!((*p).currInd < (*p).tok.indent)) goto LA7_;
oldIndX60gensym133_ = (*p).currInd;
(*p).currInd = (*p).tok.indent;
skipComment__parser_52(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
if (!((*p).tok.indent == (*p).currInd)) goto LA10 ;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112):
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
a = defparser(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
skipComment__parser_52(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)111):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a_2;
a_2 = NIM_NIL;
a_2 = newCommentStmt__parser_2004(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(result, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_80, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA9;
}
break;
}
} LA10: ;
} LA9: ;
(*p).currInd = oldIndX60gensym133_;
{
NI T22_;
T22_ = (NI)0;
T22_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T22_ == ((NI)0))) goto LA23_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_81, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA23_: ;
}
goto LA5_;
LA7_: ;
{
NIM_BOOL T26_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T26_ = (NIM_BOOL)0;
T26_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)2) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)112) || (*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90));
if (!(T26_)) goto LA27_;
T26_ = ((*p).tok.indent < ((NI)0));
LA27_: ;
if (!T26_) goto LA28_;
colontmpD_ = NIM_NIL;
colontmpD_ = defparser(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA28_: ;
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_82, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTypeDef__parser_2296)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* identifier;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* identPragma;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragma;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* genericParam;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
identifier = NIM_NIL;
identPragma = NIM_NIL;
pragma = NIM_NIL;
genericParam = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)103), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
identifier = identVis__parser_966(p, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&identPragma, identifier);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)92));
if (!(T4_)) goto LA5_;
T4_ = validInd__parser_163(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
if (!T4_) goto LA6_;
genericParam = parseGenericParamList__parser_1887(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA6_: ;
{
eqcopy___ast_3457(&genericParam, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
pragma = optPragmas__parser_1134(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
if (!!(((*pragma).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA11_;
T13_ = NIM_NIL;
T13_ = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)43), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&identPragma, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(identPragma, identifier);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(identPragma, pragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
add__ast_6233(result, identPragma);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, genericParam);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T19_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106))) goto LA16_;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)(&T19_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
T19_ = parLineInfo__parser_77((&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
(*result).info = T19_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
colontmpD_ = parseTypeDefValue__parser_264(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA14_;
LA16_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA14_: ;
indAndComment__parser_89(p, result, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&genericParam);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&pragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&identPragma);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&identifier);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseConstant__parser_2380)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin7_;
NI T18_;
NI T19_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T20_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
{
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA4_;
result = parseVarTuple__parser_1255(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)102), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD__2 = identWithPragma__parser_987(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)104))) goto LA10_;
colontmpD__3 = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__3 = parseTypeDesc__parser_261(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
goto LA8_;
LA10_: ;
{
add__ast_6233(result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA8_: ;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T18_ = (NI)0;
T18_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T19_ = (NI)0;
T19_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T20_ = NIM_NIL;
T20_ = postExprBlocks__parser_108(p, (*result)._kind_6.sons.p->data[(NI)(T19_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(T18_ - ((NI)1))], T20_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
indAndComment__parser_89(p, result, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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__1pEudI6ZemBfsBxMjg4u5Q*, parseVariable__parser_2359)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NI T9_;
NI T10_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA3_;
colontmpD_ = NIM_NIL;
result = parseVarTuple__parser_1255(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)106));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = parseExpr__parser_257(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
result = parseIdentColonEquals__parser_1012(p, 5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
T9_ = (NI)0;
T9_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T10_ = (NI)0;
T10_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T11_ = NIM_NIL;
T11_ = postExprBlocks__parser_108(p, (*result)._kind_6.sons.p->data[(NI)(T10_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(T9_ - ((NI)1))], T11_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
indAndComment__parser_89(p, result, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, qualifiedIdent__parser_541)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = parseSymbol__parser_96(p, ((tyEnum_SymbolMode__MITZcP1QsFlXqKTZFVDgdQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)107))) goto LA3_;
T5_ = NIM_NIL;
T5_ = dotExpr__parser_486(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseBind__parser_2417)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(k, (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
optInd__parser_86(p, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = NIM_NIL;
a = qualifiedIdent__parser_541(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)102)))) goto LA6_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA1;
}
LA6_: ;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
optInd__parser_86(p, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
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__1pEudI6ZemBfsBxMjg4u5Q*, complexOrSimpleStmt__parser_630)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)31):
{
result = parseIfOrWhen__parser_1637(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)66):
{
result = parseWhile__parser_1705(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)10):
{
result = parseCase__parser_102(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)60):
{
result = parseTry__parser_99(p, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)27):
{
result = parseExceptBlock__parser_1768(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)25):
{
result = parseExceptBlock__parser_1768(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)28):
{
result = parseFor__parser_1257(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)8):
{
result = parseBlock__parser_113(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)58):
{
result = parseStaticOrDefer__parser_1795(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)16):
{
result = parseStaticOrDefer__parser_1795(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)105));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)6):
{
result = parseAsm__parser_1803(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)51):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)30):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)41):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)80));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)38):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)40):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)82));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)59):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)15):
{
result = parseRoutine__parser_1906(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)62):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_;
if (!((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)90))) goto LA22_;
colontmpD_ = NIM_NIL;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
colontmpD_ = primary__parser_115(p, ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eat__parser_79(p, ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)91));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T25_ = NIM_NIL;
T25_ = parseOperators__parser_862(p, result, ((NI)-1), ((tyEnum_PrimaryMode__XljJVQASk9c9bNYcPQs9avH9aA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqsink___ast_3460(&result, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA20_;
LA22_: ;
{
result = parseSection__parser_2007(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98), parseTypeDef__parser_2296);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA20_: ;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)13):
{
result = parseSection__parser_2007(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)101), parseConstant__parser_2380);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)39):
{
result = parseSection__parser_2007(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100), parseVariable__parser_2359);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)64):
{
result = parseSection__parser_2007(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), parseVariable__parser_2359);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)65):
{
result = parseIfOrWhen__parser_1637(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)7):
{
result = parseBind__parser_2417(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)42):
{
result = parseBind__parser_2417(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)63):
{
result = parseSection__parser_2007(p, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)124), parseVariable__parser_2359);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
result = simpleStmt__parser_2446(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseAll__parser_38)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeP__parser_55(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (&(*p)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1)))) goto LA2 ;
a = NIM_NIL;
(*p).hasProgress = NIM_FALSE;
a = complexOrSimpleStmt__parser_630(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
NIM_BOOL T6_;
T6_ = (NIM_BOOL)0;
T6_ = !(((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
if (!(T6_)) goto LA7_;
T6_ = (*p).hasProgress;
LA7_: ;
if (!T6_) goto LA8_;
add__ast_6233(result, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
goto LA4_;
LA8_: ;
{
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_83, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA4_: ;
{
if (!!(((*p).tok.indent == ((NI)0)))) goto LA13_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_84);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA13_: ;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeParser__parser_40)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
closeLexer__lexer_366((&(*p).lex));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3157(result, cell, (*((TNimTypeV2**) (p))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3157(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___parser_2563)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqdestroy___stdZassertions_13((&(*dest).lex.Sup.bufStorage));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLastCyclicDyn((*dest).lex.Sup.stream);
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest).lex.Sup.stream);
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLastCyclicDyn((*dest).lex.errorHandler.ClE_0);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).lex.errorHandler.ClE_0);
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLastCyclicStatic((*dest).lex.cache, (&NTIv2__4yiDOEx3Y9aOTV1fsziBtCQ_));
if (!T13_) goto LA14_;
eqdestroy___idents_224((*dest).lex.cache);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).lex.cache, ((NI)8));
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLast((*dest).lex.config);
if (!T18_) goto LA19_;
eqdestroy___options_3149((*dest).lex.config);
nimRawDispose((*dest).lex.config, ((NI)8));
}
LA19_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = nimDecRefIsLast((*dest).tok.ident);
if (!T23_) goto LA24_;
eqdestroy___idents_145((*dest).tok.ident);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).tok.ident, ((NI)8));
}
LA24_: ;
eqdestroy___stdZassertions_13((&(*dest).tok.literal));
{
NIM_BOOL T28_;
T28_ = (NIM_BOOL)0;
T28_ = nimDecRefIsLast((*dest).emptyNode);
if (!T28_) goto LA29_;
eqdestroy___ast_3466((*dest).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).emptyNode, ((NI)8));
}
LA29_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkFirstLineIndentation__parser_2536)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*p).tok.indent == ((NI)0)));
if (!(T3_)) goto LA4_;
T3_ = (*p).tok.strongSpaceA;
LA4_: ;
if (!T3_) goto LA5_;
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_85);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseTopLevelStmt__parser_42)(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA* p) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, (*p).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
{
if (!!(((*p).tok.indent == ((NI)0)))) goto LA5_;
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = (*p).firstTok;
if (!(T9_)) goto LA10_;
T9_ = ((*p).tok.indent < ((NI)0));
LA10_: ;
if (!T9_) goto LA11_;
}
goto LA7_;
LA11_: ;
{
if (!!(((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103)))) goto LA14_;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = ((*p).tok.tokType == ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)110));
if (!(T18_)) goto LA19_;
T18_ = eqStrings((*(*p).tok.ident).s, TM__FlWBYIOz13qHfz9ae813gBA_87);
LA19_: ;
if (!T18_) goto LA20_;
parMessage__parser_48((&(*p)), ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__FlWBYIOz13qHfz9ae813gBA_89);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA16_;
LA20_: ;
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_90);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA16_: ;
}
goto LA7_;
LA14_: ;
LA7_: ;
}
LA5_: ;
(*p).firstTok = NIM_FALSE;
switch ((*p).tok.tokType) {
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)103):
{
getTok__parser_46(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*p).tok.indent <= ((NI)0))) goto LA26_;
}
goto LA24_;
LA26_: ;
{
parMessage__parser_148((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_91);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA24_: ;
(*p).firstTok = NIM_TRUE;
}
break;
case ((tyEnum_TokType__FBGVnQ0tiQKJV9co2BPPhQQ)1):
{
goto LA1;
}
break;
default:
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T31_;
T31_ = NIM_NIL;
T31_ = complexOrSimpleStmt__parser_630(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T31_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA34_;
parMessage__parser_144((&(*p)), TM__FlWBYIOz13qHfz9ae813gBA_92, (&(*p).tok));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA34_: ;
goto LA1;
}
break;
}
}
} LA1: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, parseString__parser_2553)(NimStringV2 s, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, NimStringV2 filename, NI line, tyProc__ARwI3dj1dFJlCkFrlsuq2A errorHandler) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TLLStream__f9cpUXDA3VY8pIlUfIovHaw* stream;
tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA parser;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
stream = NIM_NIL;
nimZeroMem((void*)(&parser), sizeof(tyObject_Parser__v5vNexcoxHVAc0S6NqA1zA));
parser = TM__FlWBYIOz13qHfz9ae813gBA_93;
stream = llStreamOpen__llstream_31(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*stream).lineOffset = line;
eqcopy___parser_2612((&parser.lex.errorHandler), errorHandler, NIM_TRUE);
openParser__parser_132((&parser), filename, stream, cache, config);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = parseAll__parser_38((&parser));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
closeParser__parser_40((&parser));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___parser_2563((&parser));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___llstream_68(&stream);
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}