2529 lines
82 KiB
C
2529 lines
82 KiB
C
/* Generated by Nim Compiler v1.9.0 */
|
|
#define NIM_INTBITS 64
|
|
|
|
#include "nimbase.h"
|
|
#include <string.h>
|
|
#undef LANGUAGE_C
|
|
#undef MIPSEB
|
|
#undef MIPSEL
|
|
#undef PPC
|
|
#undef R3000
|
|
#undef R4000
|
|
#undef i386
|
|
#undef linux
|
|
#undef mips
|
|
#undef near
|
|
#undef far
|
|
#undef powerpc
|
|
#undef unix
|
|
#define nimfr_(x, y)
|
|
#define nimln_(x, y)
|
|
typedef struct tySequence__QhKW39aBdj2b0D43QtN2bjA tySequence__QhKW39aBdj2b0D43QtN2bjA;
|
|
typedef struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content tySequence__QhKW39aBdj2b0D43QtN2bjA_Content;
|
|
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
|
|
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
|
|
typedef struct tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw;
|
|
typedef struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ tySequence__IPtyN4X4M7AM4OiTlP3GXQ;
|
|
typedef struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content;
|
|
typedef struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg;
|
|
typedef struct tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw;
|
|
typedef struct tySequence__oFoKqOMdasuVwZhYxHFrVw tySequence__oFoKqOMdasuVwZhYxHFrVw;
|
|
typedef struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content tySequence__oFoKqOMdasuVwZhYxHFrVw_Content;
|
|
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
|
|
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
|
|
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
|
|
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
|
|
typedef struct NimStrPayload NimStrPayload;
|
|
typedef struct NimStringV2 NimStringV2;
|
|
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
|
|
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
|
|
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
|
|
typedef struct RootObj RootObj;
|
|
typedef struct TNimTypeV2 TNimTypeV2;
|
|
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
|
|
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
|
|
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
|
|
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
|
|
typedef struct tyTuple__SCMnwYO9aLsJgaGprCp9avVA tyTuple__SCMnwYO9aLsJgaGprCp9avVA;
|
|
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
|
|
struct tySequence__QhKW39aBdj2b0D43QtN2bjA {
|
|
NI len; tySequence__QhKW39aBdj2b0D43QtN2bjA_Content* p;
|
|
};
|
|
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ {
|
|
NI len; tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content* p;
|
|
};
|
|
struct tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw {
|
|
tySequence__QhKW39aBdj2b0D43QtN2bjA code;
|
|
NI inTryStmt;
|
|
NI interestingInstructions;
|
|
tySequence__IPtyN4X4M7AM4OiTlP3GXQ blocks;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root;
|
|
};
|
|
typedef NU8 tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg;
|
|
struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg {
|
|
tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg kind;
|
|
union{
|
|
NI dest;
|
|
struct {tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
|
|
} _kind_2;
|
|
};
|
|
};
|
|
struct tySequence__oFoKqOMdasuVwZhYxHFrVw {
|
|
NI len; tySequence__oFoKqOMdasuVwZhYxHFrVw_Content* p;
|
|
};
|
|
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
|
|
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
|
|
};
|
|
struct tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw {
|
|
NIM_BOOL isTryBlock;
|
|
union{
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* label;
|
|
tySequence__oFoKqOMdasuVwZhYxHFrVw breakFixups;
|
|
} _isTryBlock_1;
|
|
struct {tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finale;
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g raiseFixups;
|
|
} _isTryBlock_2;
|
|
};
|
|
};
|
|
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
|
|
NU16 line;
|
|
NI16 col;
|
|
NI32 fileIndex;
|
|
};
|
|
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
|
|
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
|
|
struct NimStrPayload {
|
|
NI cap;
|
|
NIM_CHAR data[SEQ_DECL_SIZE];
|
|
};
|
|
struct NimStringV2 {
|
|
NI len;
|
|
NimStrPayload* p;
|
|
};
|
|
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;
|
|
};
|
|
};
|
|
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_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
|
|
NI32 module;
|
|
NI32 item;
|
|
};
|
|
struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ {
|
|
RootObj Sup;
|
|
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId;
|
|
};
|
|
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
|
|
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
|
|
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
|
|
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
|
|
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
|
|
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
|
|
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
|
|
struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA {
|
|
tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k;
|
|
tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage;
|
|
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode;
|
|
NimStringV2 r;
|
|
};
|
|
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
|
|
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
|
|
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
|
|
union{
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
|
|
} _kind_1;
|
|
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
|
|
NI bitsize;
|
|
NI alignment;
|
|
} _kind_2;
|
|
};
|
|
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
|
|
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
|
|
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
|
|
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
|
|
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
|
|
NI position;
|
|
NI offset;
|
|
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
|
|
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
|
|
};
|
|
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
|
|
typedef NU8 tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ;
|
|
typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw;
|
|
typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
|
|
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ {
|
|
NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p;
|
|
};
|
|
struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA {
|
|
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
|
|
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
|
|
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
|
|
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
|
|
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
|
|
NI64 size;
|
|
NI16 align;
|
|
NI16 paddingAtEnd;
|
|
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst;
|
|
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId;
|
|
};
|
|
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
|
|
struct tyTuple__SCMnwYO9aLsJgaGprCp9avVA {
|
|
NI Field0;
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ Field1;
|
|
};
|
|
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
|
|
typedef NU8 tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ[21];
|
|
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
|
|
NI rc;
|
|
NI rootIdx;
|
|
};
|
|
|
|
|
|
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
|
|
#define tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
|
|
struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content { NI cap; tyTuple__SCMnwYO9aLsJgaGprCp9avVA data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
#define tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content_PP
|
|
struct tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content { NI cap; tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
|
|
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
|
|
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
|
|
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
|
|
#define tySequence__oFoKqOMdasuVwZhYxHFrVw_Content_PP
|
|
struct tySequence__oFoKqOMdasuVwZhYxHFrVw_Content { NI cap; tyTuple__SCMnwYO9aLsJgaGprCp9avVA data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
|
|
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
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(NIM_BOOL*, nimErrorFlag)(void);
|
|
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_776)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* x, tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_274)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_1309)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipTrivials__dfa_1297)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_95)(tySequence__QhKW39aBdj2b0D43QtN2bjA* x, tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1398)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_932)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_89)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
|
|
N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_249)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p);
|
|
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_1334)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig);
|
|
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_1359)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
|
|
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
|
|
static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_1018)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_202)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_281)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4147)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, add__dfa_1041)(tySequence__oFoKqOMdasuVwZhYxHFrVw* x, tyTuple__SCMnwYO9aLsJgaGprCp9avVA value);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_802)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_838)(tySequence__QhKW39aBdj2b0D43QtN2bjA* s, NI newlen);
|
|
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
|
|
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_578)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_939)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_767)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__dfa_212)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_749)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, jmpBack__dfa_220)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p);
|
|
N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_277)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI oldLen);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_442)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest, tySequence__oFoKqOMdasuVwZhYxHFrVw src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_456)(tySequence__oFoKqOMdasuVwZhYxHFrVw* s, NI newlen);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3723)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3726)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest, tySequence__xxu3GgaFAGO6lOns9aHaeLQ src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_439)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_391)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* s, NI newlen);
|
|
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_1004)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_1282)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_1272)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_1240)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_1112)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_1148)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNode__ast_3934)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_581)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, setLen__dfa_594)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s, NI newlen);
|
|
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1412)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1639)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1534)(tySequence__QhKW39aBdj2b0D43QtN2bjA* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1077)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* dest);
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[99+1];
|
|
} TM__9aNn2jEg4ezQBM0yZx8s2cA_2 = { 99 | NIM_STRLIT_FLAG, "dfa.nim(101, 3) `low(int) div 2 + 1 < c.code.len - p.int and c.code.len - p.int < high(int) div 2` " };
|
|
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_3 = {99, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_2};
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__9aNn2jEg4ezQBM0yZx8s2cA_4 = {
|
|
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
|
|
0x00}
|
|
;
|
|
static NIM_CONST tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ TM__9aNn2jEg4ezQBM0yZx8s2cA_5 = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x80,
|
|
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00}
|
|
;
|
|
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__9aNn2jEg4ezQBM0yZx8s2cA_6 = {
|
|
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
|
|
0x00}
|
|
;
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[99+1];
|
|
} TM__9aNn2jEg4ezQBM0yZx8s2cA_7 = { 99 | NIM_STRLIT_FLAG, "dfa.nim(101, 3) `low(int) div 2 + 1 < p.int - c.code.len and p.int - c.code.len < high(int) div 2` " };
|
|
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_8 = {99, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_7};
|
|
static const struct {
|
|
NI cap; NIM_CHAR data[82+1];
|
|
} TM__9aNn2jEg4ezQBM0yZx8s2cA_9 = { 82 | NIM_STRLIT_FLAG, "dfa.nim(470, 15) `false` dfa construction pass requires the elimination of \'defer\'" };
|
|
static const NimStringV2 TM__9aNn2jEg4ezQBM0yZx8s2cA_10 = {82, (NimStrPayload*)&TM__9aNn2jEg4ezQBM0yZx8s2cA_9};
|
|
extern NIM_BOOL nimInErrorMode__system_3978;
|
|
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(NIM_BOOL*, nimErrorFlag)(void) {
|
|
NIM_BOOL* result;
|
|
result = (NIM_BOOL*)0;
|
|
result = (&nimInErrorMode__system_3978);
|
|
return result;
|
|
}
|
|
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_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipTrivials__dfa_1297)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
eqcopy___ast_3457(&result, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
while (1) {
|
|
switch ((*result).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
|
|
{
|
|
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
|
|
{
|
|
gen__dfa_274(c, (*result)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
{
|
|
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
goto LA1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} LA1: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_1309)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
n = NIM_NIL;
|
|
n = skipTrivials__dfa_1297(c, orig);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA4_;
|
|
{
|
|
NIM_BOOL T8_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T12_;
|
|
T8_ = (NIM_BOOL)0;
|
|
T8_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
|
|
if (!(T8_)) goto LA9_;
|
|
T8_ = ((*n)._kind_4.sym == (*c).root);
|
|
LA9_: ;
|
|
if (!T8_) goto LA10_;
|
|
colontmpD_ = NIM_NIL;
|
|
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T12_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4);
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_3457(&colontmpD_, orig);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T12_._kind_2.n = colontmpD_;
|
|
add__dfa_95((&(*c).code), T12_);
|
|
(*c).interestingInstructions += ((NI)1);
|
|
}
|
|
LA10_: ;
|
|
}
|
|
goto LA2_;
|
|
LA4_: ;
|
|
{
|
|
gen__dfa_274(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA2_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_89)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
|
|
NI result;
|
|
NI T1_;
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T2_;
|
|
result = (NI)0;
|
|
T1_ = (*c).code.len;
|
|
result = T1_;
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T2_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2);
|
|
T2_.dest = ((NI)0);
|
|
add__dfa_95((&(*c).code), T2_);
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_249)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p) {
|
|
NI T9_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
NI T4_;
|
|
NI T6_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T4_ = (*c).code.len;
|
|
T3_ = (((NI)IL64(-4611686018427387903)) < (NI)(T4_ - p));
|
|
if (!(T3_)) goto LA5_;
|
|
T6_ = (*c).code.len;
|
|
T3_ = ((NI)(T6_ - p) < ((NI)IL64(4611686018427387903)));
|
|
LA5_: ;
|
|
if (!!(T3_)) goto LA7_;
|
|
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA7_: ;
|
|
T9_ = (*c).code.len;
|
|
(*c).code.p->data[p].dest = (NI)(T9_ - p);
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_932)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI lab1X60gensym25_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
lab1X60gensym25_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)2)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
patch__dfa_249(c, lab1X60gensym25_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_1334)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
n = NIM_NIL;
|
|
n = skipTrivials__dfa_1297(c, orig);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
NIM_BOOL T4_;
|
|
T4_ = (NIM_BOOL)0;
|
|
T4_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T4_)) goto LA5_;
|
|
T4_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
|
|
LA5_: ;
|
|
if (!T4_) goto LA6_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T12_;
|
|
if (!((*n)._kind_4.sym == (*c).root)) goto LA10_;
|
|
colontmpD_ = NIM_NIL;
|
|
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T12_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T12_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3);
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_3457(&colontmpD_, orig);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T12_._kind_2.n = colontmpD_;
|
|
add__dfa_95((&(*c).code), T12_);
|
|
(*c).interestingInstructions += ((NI)1);
|
|
}
|
|
LA10_: ;
|
|
}
|
|
LA6_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
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;
|
|
}
|
|
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n) {
|
|
NI result;
|
|
NI T1_;
|
|
result = (NI)0;
|
|
T1_ = (*n).sons.len;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
|
|
NIM_BOOL result;
|
|
result = (NIM_BOOL)0;
|
|
result = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)45)))&63U)))!=0);
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_202)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
|
|
NI result;
|
|
NI T1_;
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T2_;
|
|
result = (NI)0;
|
|
T1_ = (*c).code.len;
|
|
result = T1_;
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T2_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
|
|
T2_.dest = ((NI)0);
|
|
add__dfa_95((&(*c).code), T2_);
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_1018)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI lab1;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
lab1 = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
if (!(*c).blocks.p->data[i].isTryBlock) goto LA3_;
|
|
add__dfa_281((&(*c).blocks.p->data[i]._isTryBlock_2.raiseFixups), lab1);
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ trailingFinales;
|
|
tyTuple__SCMnwYO9aLsJgaGprCp9avVA T18_;
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ blitTmp;
|
|
trailingFinales.len = 0; trailingFinales.p = NIM_NIL;
|
|
{
|
|
if (!(((NI)0) < (*c).inTryStmt)) goto LA8_;
|
|
{
|
|
NI b;
|
|
NI colontmp_;
|
|
NI T11_;
|
|
NI res;
|
|
b = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
T11_ = ((*c).blocks.len-1);
|
|
colontmp_ = T11_;
|
|
res = colontmp_;
|
|
{
|
|
while (1) {
|
|
if (!(i <= res)) goto LA13 ;
|
|
b = res;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
if (!(*c).blocks.p->data[b].isTryBlock) goto LA16_;
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_3457(&colontmpD_, (*c).blocks.p->data[b]._isTryBlock_2.finale);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
add__ast_4147((&trailingFinales), colontmpD_);
|
|
}
|
|
LA16_: ;
|
|
res -= ((NI)1);
|
|
} LA13: ;
|
|
}
|
|
}
|
|
}
|
|
LA8_: ;
|
|
T18_.Field0 = lab1;
|
|
blitTmp = trailingFinales;
|
|
T18_.Field1 = blitTmp;
|
|
add__dfa_1041((&(*c).blocks.p->data[i]._isTryBlock_1.breakFixups), T18_);
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_1359)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
t = NIM_NIL;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
eqcopy___ast_3546(&t, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T6_;
|
|
if (!!((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA4_;
|
|
T6_ = NIM_NIL;
|
|
T6_ = skipTypes__ast_4803(t, TM__9aNn2jEg4ezQBM0yZx8s2cA_4);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
eqsink___ast_3549(&t, T6_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA4_: ;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i_2 = ((NI)1);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA9 ;
|
|
i = i_2;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
NIM_BOOL T12_;
|
|
NIM_BOOL T13_;
|
|
NI T15_;
|
|
T12_ = (NIM_BOOL)0;
|
|
T13_ = (NIM_BOOL)0;
|
|
T13_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
|
|
if (!(T13_)) goto LA14_;
|
|
T15_ = (NI)0;
|
|
T15_ = len__ast_5071(t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T13_ = (i < T15_);
|
|
LA14_: ;
|
|
T12_ = T13_;
|
|
if (!(T12_)) goto LA16_;
|
|
T12_ = isOutParam__ast_6694((*t).sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
LA16_: ;
|
|
if (!T12_) goto LA17_;
|
|
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA17_: ;
|
|
i_2 += ((NI)1);
|
|
} LA9: ;
|
|
}
|
|
}
|
|
{
|
|
NI lab1X60gensym72_;
|
|
if (!NIM_FALSE) goto LA21_;
|
|
lab1X60gensym72_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
NI i_3;
|
|
NI colontmp__2;
|
|
NI T24_;
|
|
NI res;
|
|
i_3 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
T24_ = ((*c).blocks.len-1);
|
|
colontmp__2 = T24_;
|
|
res = colontmp__2;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA26 ;
|
|
i_3 = res;
|
|
{
|
|
if (!(*c).blocks.p->data[i_3].isTryBlock) goto LA29_;
|
|
genBreakOrRaiseAux__dfa_1018(c, i_3, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
goto LA23;
|
|
}
|
|
LA29_: ;
|
|
res -= ((NI)1);
|
|
} LA26: ;
|
|
}
|
|
} LA23: ;
|
|
patch__dfa_249(c, lab1X60gensym72_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA21_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3543(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1398)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
switch (m) {
|
|
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)109):
|
|
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110):
|
|
{
|
|
genAndOr__dfa_932(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)32):
|
|
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)33):
|
|
{
|
|
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 = ((NI)2);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA5 ;
|
|
i = i_2;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 += ((NI)1);
|
|
} LA5: ;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
genCall__dfa_1359(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
}
|
|
}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, 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, eqsink___dfa_161)(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg* dest, tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
switch ((*dest).kind) {
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1):
|
|
{
|
|
(*dest).dest = 0;
|
|
}
|
|
break;
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4):
|
|
{
|
|
{
|
|
NIM_BOOL T5_;
|
|
T5_ = (NIM_BOOL)0;
|
|
T5_ = nimDecRefIsLast((*dest)._kind_2.n);
|
|
if (!T5_) goto LA6_;
|
|
eqdestroy___ast_3466((*dest)._kind_2.n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimZeroMem((void*)(&(*(*dest)._kind_2.n)), sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q));
|
|
nimRawDispose((*dest)._kind_2.n, ((NI)8));
|
|
}
|
|
LA6_: ;
|
|
}
|
|
break;
|
|
}
|
|
(*dest).kind = 0;
|
|
(*dest).kind = src.kind;
|
|
switch ((*dest).kind) {
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1):
|
|
{
|
|
(*dest).dest = src.dest;
|
|
}
|
|
break;
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3):
|
|
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4):
|
|
{
|
|
(*dest)._kind_2.n = src._kind_2.n;
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_578)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest) {
|
|
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
|
|
alignedDealloc((*dest).p, NIM_ALIGNOF(NI));
|
|
}
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_802)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
|
|
NI oldInteresting;
|
|
NI oldLen;
|
|
NI T2_;
|
|
NIM_BOOL oldNimErrFin12_;
|
|
NIM_BOOL oldNimErrFin6_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
endings.len = 0; endings.p = NIM_NIL;
|
|
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
|
|
oldInteresting = (*c).interestingInstructions;
|
|
T2_ = (*c).code.len;
|
|
oldLen = T2_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
if (!(i_2 < colontmp_)) goto LA5 ;
|
|
it = NIM_NIL;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
gen__dfa_274(c, (*it)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
{
|
|
NI T9_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
NI lab1X60gensym23_;
|
|
NI T13_;
|
|
T9_ = (NI)0;
|
|
T9_ = len__ast_3325(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
if (!(T9_ == ((NI)2))) goto LA10_;
|
|
colontmpD_ = NIM_NIL;
|
|
lab1X60gensym23_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
|
|
colontmpD_ = lastSon__ast_6268(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
|
|
gen__dfa_274(c, colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
|
|
T13_ = (NI)0;
|
|
T13_ = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
|
|
add__dfa_281((&endings), T13_);
|
|
patch__dfa_249(c, lab1X60gensym23_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
|
|
{
|
|
LA12_:;
|
|
}
|
|
{
|
|
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
*nimErr_ = oldNimErrFin12_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
{
|
|
LA6_:;
|
|
}
|
|
{
|
|
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
*nimErr_ = oldNimErrFin6_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
} LA5: ;
|
|
}
|
|
}
|
|
{
|
|
if (!(oldInteresting == (*c).interestingInstructions)) goto LA20_;
|
|
setLen__dfa_838((&(*c).code), ((NI) (oldLen)));
|
|
}
|
|
goto LA18_;
|
|
LA20_: ;
|
|
{
|
|
{
|
|
NI i_3;
|
|
NI colontmp__2;
|
|
NI T24_;
|
|
NI res;
|
|
i_3 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
T24_ = (endings.len-1);
|
|
colontmp__2 = T24_;
|
|
res = colontmp__2;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA26 ;
|
|
i_3 = res;
|
|
patch__dfa_249(c, endings.p->data[i_3]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
res -= ((NI)1);
|
|
} LA26: ;
|
|
}
|
|
}
|
|
}
|
|
LA18_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
eqdestroy___dfa_578((&endings));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_939)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
|
|
NIM_BOOL isExhaustive;
|
|
NI oldInteresting;
|
|
NI oldLen;
|
|
NI T2_;
|
|
NIM_BOOL oldNimErrFin17_;
|
|
NIM_BOOL oldNimErrFin21_;
|
|
NIM_BOOL oldNimErrFin6_;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
colontmpD_ = NIM_NIL;
|
|
endings.len = 0; endings.p = NIM_NIL;
|
|
colontmpD_ = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__9aNn2jEg4ezQBM0yZx8s2cA_6);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
isExhaustive = !(((*colontmpD_).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29)));
|
|
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
oldInteresting = (*c).interestingInstructions;
|
|
T2_ = (*c).code.len;
|
|
oldLen = T2_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i_2 = ((NI)1);
|
|
{
|
|
while (1) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
if (!(i_2 < colontmp_)) goto LA5 ;
|
|
it = NIM_NIL;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
{
|
|
NIM_BOOL T9_;
|
|
NI T10_;
|
|
NIM_BOOL T12_;
|
|
NI T13_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
|
|
T9_ = (NIM_BOOL)0;
|
|
T10_ = (NI)0;
|
|
T10_ = len__ast_3325(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
T9_ = (T10_ == ((NI)1));
|
|
if (T9_) goto LA11_;
|
|
T12_ = (NIM_BOOL)0;
|
|
T13_ = (NI)0;
|
|
T13_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
T12_ = (i == (NI)(T13_ - ((NI)1)));
|
|
if (!(T12_)) goto LA14_;
|
|
T12_ = isExhaustive;
|
|
LA14_: ;
|
|
T9_ = T12_;
|
|
LA11_: ;
|
|
if (!T9_) goto LA15_;
|
|
colontmpD__2 = NIM_NIL;
|
|
colontmpD__2 = lastSon__ast_6268(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
gen__dfa_274(c, colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
|
|
{
|
|
LA17_:;
|
|
}
|
|
{
|
|
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
*nimErr_ = oldNimErrFin17_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
}
|
|
goto LA7_;
|
|
LA15_: ;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
|
|
NI lab1X60gensym31_;
|
|
NI T22_;
|
|
colontmpD__3 = NIM_NIL;
|
|
lab1X60gensym31_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
colontmpD__3 = lastSon__ast_6268(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
gen__dfa_274(c, colontmpD__3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
T22_ = (NI)0;
|
|
T22_ = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
add__dfa_281((&endings), T22_);
|
|
patch__dfa_249(c, lab1X60gensym31_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
{
|
|
LA21_:;
|
|
}
|
|
{
|
|
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
*nimErr_ = oldNimErrFin21_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
|
|
}
|
|
LA7_: ;
|
|
i_2 += ((NI)1);
|
|
{
|
|
LA6_:;
|
|
}
|
|
{
|
|
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
*nimErr_ = oldNimErrFin6_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
} LA5: ;
|
|
}
|
|
}
|
|
{
|
|
if (!(oldInteresting == (*c).interestingInstructions)) goto LA29_;
|
|
setLen__dfa_838((&(*c).code), ((NI) (oldLen)));
|
|
}
|
|
goto LA27_;
|
|
LA29_: ;
|
|
{
|
|
{
|
|
NI i_3;
|
|
NI colontmp__2;
|
|
NI T33_;
|
|
NI res;
|
|
i_3 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
T33_ = (endings.len-1);
|
|
colontmp__2 = T33_;
|
|
res = colontmp__2;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA35 ;
|
|
i_3 = res;
|
|
patch__dfa_249(c, endings.p->data[i_3]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
res -= ((NI)1);
|
|
} LA35: ;
|
|
}
|
|
}
|
|
}
|
|
LA27_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___dfa_578((&endings));
|
|
eqdestroy___ast_3543(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__dfa_212)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
|
|
NI result;
|
|
NI T1_;
|
|
result = (NI)0;
|
|
T1_ = (*c).code.len;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_749)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL T1_;
|
|
NIM_BOOL T2_;
|
|
NIM_BOOL T3_;
|
|
NIM_BOOL T7_;
|
|
result = (NIM_BOOL)0;
|
|
T1_ = (NIM_BOOL)0;
|
|
T2_ = (NIM_BOOL)0;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
|
|
if (!(T3_)) goto LA4_;
|
|
T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20));
|
|
LA4_: ;
|
|
T2_ = T3_;
|
|
if (!(T2_)) goto LA5_;
|
|
T2_ = !(((*(*n)._kind_4.sym).position == ((NI)0)));
|
|
LA5_: ;
|
|
T1_ = T2_;
|
|
if (T1_) goto LA6_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6));
|
|
if (!(T7_)) goto LA8_;
|
|
T7_ = !(((*n)._kind_1.intVal == IL64(0)));
|
|
LA8_: ;
|
|
T1_ = T7_;
|
|
LA6_: ;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, jmpBack__dfa_220)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI p) {
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T1_;
|
|
NI T10_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
nimZeroMem((void*)(&T1_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T1_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T1_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1);
|
|
{
|
|
NIM_BOOL T4_;
|
|
NI T5_;
|
|
NI T7_;
|
|
T4_ = (NIM_BOOL)0;
|
|
T5_ = (*c).code.len;
|
|
T4_ = (((NI)IL64(-4611686018427387903)) < (NI)(p - T5_));
|
|
if (!(T4_)) goto LA6_;
|
|
T7_ = (*c).code.len;
|
|
T4_ = ((NI)(p - T7_) < ((NI)IL64(4611686018427387903)));
|
|
LA6_: ;
|
|
if (!!(T4_)) goto LA8_;
|
|
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_8);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA8_: ;
|
|
T10_ = (*c).code.len;
|
|
T1_.dest = (NI)(p - T10_);
|
|
add__dfa_95((&(*c).code), T1_);
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_497)(tyTuple__SCMnwYO9aLsJgaGprCp9avVA* dest, tyTuple__SCMnwYO9aLsJgaGprCp9avVA src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*dest).Field0 = src.Field0;
|
|
if ((*dest).Field1.p != src.Field1.p) { eqdestroy___ast_3723((&(*dest).Field1));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
(*dest).Field1.len = src.Field1.len; (*dest).Field1.p = src.Field1.p;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_442)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest, tySequence__oFoKqOMdasuVwZhYxHFrVw src) {
|
|
NI T1_;
|
|
NI colontmp_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
T1_ = src.len;
|
|
setLen__dfa_456((&(*dest)), T1_);
|
|
colontmp_ = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NI T4_;
|
|
T4_ = (*dest).len;
|
|
if (!(colontmp_ < T4_)) goto LA3 ;
|
|
(*dest).p->data[colontmp_].Field0 = src.p->data[colontmp_].Field0;
|
|
eqcopy___ast_3726((&(*dest).p->data[colontmp_].Field1), src.p->data[colontmp_].Field1);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
colontmp_ += ((NI)1);
|
|
} LA3: ;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_439)(tySequence__oFoKqOMdasuVwZhYxHFrVw* dest) {
|
|
NI colontmp_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
colontmp_ = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NI T3_;
|
|
T3_ = (*dest).len;
|
|
if (!(colontmp_ < T3_)) goto LA2 ;
|
|
eqdestroy___ast_3723((&(*dest).p->data[colontmp_].Field1));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
colontmp_ += ((NI)1);
|
|
} LA2: ;
|
|
}
|
|
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
|
|
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__SCMnwYO9aLsJgaGprCp9avVA));
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_433)(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* dest, tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
switch ((*dest).isTryBlock) {
|
|
case NIM_FALSE:
|
|
{
|
|
{
|
|
NIM_BOOL T4_;
|
|
T4_ = (NIM_BOOL)0;
|
|
T4_ = nimDecRefIsLast((*dest)._isTryBlock_1.label);
|
|
if (!T4_) goto LA5_;
|
|
nimDestroyAndDispose((*dest)._isTryBlock_1.label);
|
|
}
|
|
LA5_: ;
|
|
eqdestroy___dfa_439((&(*dest)._isTryBlock_1.breakFixups));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
(*dest)._isTryBlock_1.breakFixups.len = 0; (*dest)._isTryBlock_1.breakFixups.p = NIM_NIL;
|
|
}
|
|
break;
|
|
case NIM_TRUE:
|
|
{
|
|
{
|
|
NIM_BOOL T10_;
|
|
T10_ = (NIM_BOOL)0;
|
|
T10_ = nimDecRefIsLast((*dest)._isTryBlock_2.finale);
|
|
if (!T10_) goto LA11_;
|
|
eqdestroy___ast_3466((*dest)._isTryBlock_2.finale);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimZeroMem((void*)(&(*(*dest)._isTryBlock_2.finale)), sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q));
|
|
nimRawDispose((*dest)._isTryBlock_2.finale, ((NI)8));
|
|
}
|
|
LA11_: ;
|
|
eqdestroy___dfa_578((&(*dest)._isTryBlock_2.raiseFixups));
|
|
(*dest)._isTryBlock_2.raiseFixups.len = 0; (*dest)._isTryBlock_2.raiseFixups.p = NIM_NIL;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
(*dest).isTryBlock = 0;
|
|
(*dest).isTryBlock = (*src).isTryBlock;
|
|
switch ((*dest).isTryBlock) {
|
|
case NIM_FALSE:
|
|
{
|
|
(*dest)._isTryBlock_1.label = (*src)._isTryBlock_1.label;
|
|
(*dest)._isTryBlock_1.breakFixups = (*src)._isTryBlock_1.breakFixups;
|
|
}
|
|
break;
|
|
case NIM_TRUE:
|
|
{
|
|
(*dest)._isTryBlock_2.finale = (*src)._isTryBlock_2.finale;
|
|
(*dest)._isTryBlock_2.raiseFixups = (*src)._isTryBlock_2.raiseFixups;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_277)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, NI oldLen) {
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g exits;
|
|
NI T2_;
|
|
NIM_BOOL oldNimErrFin9_;
|
|
NIM_BOOL oldNimErrFin4_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
exits.len = 0; exits.p = NIM_NIL;
|
|
T2_ = (NI)0;
|
|
T2_ = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
add__dfa_281((&exits), T2_);
|
|
{
|
|
tySequence__oFoKqOMdasuVwZhYxHFrVw colontmp_;
|
|
tyTuple__SCMnwYO9aLsJgaGprCp9avVA* f;
|
|
NI i;
|
|
NI L;
|
|
NI T5_;
|
|
colontmp_.len = 0; colontmp_.p = NIM_NIL;
|
|
f = (tyTuple__SCMnwYO9aLsJgaGprCp9avVA*)0;
|
|
eqcopy___dfa_442((&colontmp_), (*c).blocks.p->data[oldLen]._isTryBlock_1.breakFixups);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
i = ((NI)0);
|
|
T5_ = colontmp_.len;
|
|
L = T5_;
|
|
{
|
|
while (1) {
|
|
NI T15_;
|
|
if (!(i < L)) goto LA7 ;
|
|
f = (&colontmp_.p->data[i]);
|
|
patch__dfa_249(c, (*f).Field0);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
{
|
|
tySequence__xxu3GgaFAGO6lOns9aHaeLQ colontmp__2;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** finale;
|
|
NI i_2;
|
|
NI L_2;
|
|
NI T10_;
|
|
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
|
|
finale = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
|
|
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
|
|
eqcopy___ast_3726((&colontmp__2), (*f).Field1);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
|
|
i_2 = ((NI)0);
|
|
T10_ = colontmp__2.len;
|
|
L_2 = T10_;
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < L_2)) goto LA12 ;
|
|
finale = &colontmp__2.p->data[i_2];
|
|
gen__dfa_274(c, (*finale));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
|
|
i_2 += ((NI)1);
|
|
} LA12: ;
|
|
}
|
|
{
|
|
LA9_:;
|
|
}
|
|
{
|
|
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3723((&colontmp__2));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
*nimErr_ = oldNimErrFin9_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
}
|
|
T15_ = (NI)0;
|
|
T15_ = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
|
|
add__dfa_281((&exits), T15_);
|
|
i += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
{
|
|
LA4_:;
|
|
}
|
|
{
|
|
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___dfa_439((&colontmp_));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
*nimErr_ = oldNimErrFin4_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
{
|
|
NI* e;
|
|
NI i_3;
|
|
NI L_3;
|
|
NI T19_;
|
|
e = (NI*)0;
|
|
i_3 = ((NI)0);
|
|
T19_ = exits.len;
|
|
L_3 = T19_;
|
|
{
|
|
while (1) {
|
|
if (!(i_3 < L_3)) goto LA21 ;
|
|
e = (&exits.p->data[i_3]);
|
|
patch__dfa_249(c, (*e));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i_3 += ((NI)1);
|
|
} LA21: ;
|
|
}
|
|
}
|
|
setLen__dfa_391((&(*c).blocks), ((NI) (oldLen)));
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
eqdestroy___dfa_578((&exits));
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_767)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI lab1;
|
|
NI oldLenX60gensym15_;
|
|
NI T1_;
|
|
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
lab1 = genLabel__dfa_212((&(*c)));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T1_ = (*c).blocks.len;
|
|
oldLenX60gensym15_ = T1_;
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
T2_.isTryBlock = NIM_FALSE;
|
|
T2_._isTryBlock_1.label = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL);
|
|
add__dfa_776((&(*c).blocks), (&T2_));
|
|
{
|
|
NIM_BOOL T5_;
|
|
T5_ = (NIM_BOOL)0;
|
|
T5_ = isTrue__dfa_749((*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!T5_) goto LA6_;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
jmpBack__dfa_220(c, lab1);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA3_;
|
|
LA6_: ;
|
|
{
|
|
NI lab1X60gensym19_;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
lab1X60gensym19_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
jmpBack__dfa_220(c, lab1);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
patch__dfa_249(c, lab1X60gensym19_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
popBlock__dfa_277(c, oldLenX60gensym15_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_1004)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
|
|
NI oldLenX60gensym33_;
|
|
NI T1_;
|
|
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
colontmpD_ = NIM_NIL;
|
|
T1_ = (*c).blocks.len;
|
|
oldLenX60gensym33_ = T1_;
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
T2_.isTryBlock = NIM_FALSE;
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_4063(&colontmpD_, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T2_._isTryBlock_1.label = colontmpD_;
|
|
add__dfa_776((&(*c).blocks), (&T2_));
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
popBlock__dfa_277(c, oldLenX60gensym33_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_1272)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
NI T5_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = ((*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*(*c).owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16));
|
|
if (!(T3_)) goto LA4_;
|
|
T5_ = (NI)0;
|
|
T5_ = len__ast_3325((*(*c).owner).ast);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
T3_ = (((NI)7) < T5_);
|
|
LA4_: ;
|
|
if (!T3_) goto LA6_;
|
|
gen__dfa_274(c, (*(*(*c).owner).ast)._kind_6.sons.p->data[((NI)7)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA6_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_1282)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*c).interestingInstructions += ((NI)1);
|
|
{
|
|
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA3_;
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
genImplicitReturn__dfa_1272(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
genBreakOrRaiseAux__dfa_1018(c, ((NI)0), n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_1240)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*c).interestingInstructions += ((NI)1);
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
if (!(((NI)0) < (*c).inTryStmt)) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI T6_;
|
|
NI res;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
T6_ = ((*c).blocks.len-1);
|
|
colontmp_ = T6_;
|
|
res = colontmp_;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA8 ;
|
|
i = res;
|
|
{
|
|
if (!(*c).blocks.p->data[i].isTryBlock) goto LA11_;
|
|
genBreakOrRaiseAux__dfa_1018(c, i, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA11_: ;
|
|
res -= ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T14_;
|
|
NI T15_;
|
|
nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T14_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
|
|
T15_ = (*c).code.len;
|
|
T14_.dest = (NI)(((NI)IL64(9223372036854775807)) - T15_);
|
|
add__dfa_95((&(*c).code), T14_);
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_1112)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*c).interestingInstructions += ((NI)1);
|
|
{
|
|
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI T6_;
|
|
NI res;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
T6_ = ((*c).blocks.len-1);
|
|
colontmp_ = T6_;
|
|
res = colontmp_;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA8 ;
|
|
i = res;
|
|
{
|
|
NIM_BOOL T11_;
|
|
T11_ = (NIM_BOOL)0;
|
|
T11_ = !((*c).blocks.p->data[i].isTryBlock);
|
|
if (!(T11_)) goto LA12_;
|
|
T11_ = ((*c).blocks.p->data[i]._isTryBlock_1.label == (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
|
|
LA12_: ;
|
|
if (!T11_) goto LA13_;
|
|
genBreakOrRaiseAux__dfa_1018(c, i, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA13_: ;
|
|
res -= ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
{
|
|
NI i_2;
|
|
NI colontmp__2;
|
|
NI T17_;
|
|
NI res_2;
|
|
i_2 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
T17_ = ((*c).blocks.len-1);
|
|
colontmp__2 = T17_;
|
|
res_2 = colontmp__2;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res_2)) goto LA19 ;
|
|
i_2 = res_2;
|
|
{
|
|
if (!!((*c).blocks.p->data[i_2].isTryBlock)) goto LA22_;
|
|
genBreakOrRaiseAux__dfa_1018(c, i_2, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA22_: ;
|
|
res_2 -= ((NI)1);
|
|
} LA19: ;
|
|
}
|
|
}
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___dfa_581)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src) {
|
|
NI T1_;
|
|
NI colontmp_;
|
|
T1_ = src.len;
|
|
setLen__dfa_594((&(*dest)), T1_);
|
|
colontmp_ = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NI T4_;
|
|
T4_ = (*dest).len;
|
|
if (!(colontmp_ < T4_)) goto LA3 ;
|
|
(*dest).p->data[colontmp_] = src.p->data[colontmp_];
|
|
colontmp_ += ((NI)1);
|
|
} LA3: ;
|
|
}
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_1148)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fin;
|
|
NI oldLen;
|
|
NI T2_;
|
|
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T3_;
|
|
NIM_BOOL oldNimErrFin23_;
|
|
NIM_BOOL oldNimErrFin18_;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
endings.len = 0; endings.p = NIM_NIL;
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD__2 = NIM_NIL;
|
|
fin = NIM_NIL;
|
|
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
|
|
T2_ = (*c).blocks.len;
|
|
oldLen = T2_;
|
|
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
T3_.isTryBlock = NIM_TRUE;
|
|
{
|
|
NI T6_;
|
|
NI T9_;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp;
|
|
T6_ = (NI)0;
|
|
T6_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
if (!((*(*n)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA7_;
|
|
T9_ = (NI)0;
|
|
T9_ = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
eqcopy___ast_3457(&colontmpD_, (*n)._kind_6.sons.p->data[(NI)(T9_ - ((NI)1))]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
blitTmp = colontmpD_;
|
|
colontmpD_ = 0;
|
|
T3_._isTryBlock_2.finale = blitTmp;
|
|
}
|
|
goto LA4_;
|
|
LA7_: ;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp_2;
|
|
colontmpD__2 = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
blitTmp_2 = colontmpD__2;
|
|
colontmpD__2 = 0;
|
|
T3_._isTryBlock_2.finale = blitTmp_2;
|
|
}
|
|
LA4_: ;
|
|
add__dfa_776((&(*c).blocks), (&T3_));
|
|
(*c).inTryStmt += ((NI)1);
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
(*c).inTryStmt -= ((NI)1);
|
|
{
|
|
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
|
|
NI* f;
|
|
NI i;
|
|
NI L;
|
|
NI T12_;
|
|
colontmp_.len = 0; colontmp_.p = NIM_NIL;
|
|
f = (NI*)0;
|
|
eqcopy___dfa_581((&colontmp_), (*c).blocks.p->data[oldLen]._isTryBlock_2.raiseFixups);
|
|
i = ((NI)0);
|
|
T12_ = colontmp_.len;
|
|
L = T12_;
|
|
{
|
|
while (1) {
|
|
if (!(i < L)) goto LA14 ;
|
|
f = (&colontmp_.p->data[i]);
|
|
patch__dfa_249(c, (*f));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i += ((NI)1);
|
|
} LA14: ;
|
|
}
|
|
eqdestroy___dfa_578((&colontmp_));
|
|
}
|
|
setLen__dfa_391((&(*c).blocks), ((NI) (oldLen)));
|
|
{
|
|
NI i_2;
|
|
NI colontmp__2;
|
|
NI i_3;
|
|
i_2 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
colontmp__2 = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
i_3 = ((NI)1);
|
|
{
|
|
while (1) {
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
|
|
if (!(i_3 < colontmp__2)) goto LA17 ;
|
|
it = NIM_NIL;
|
|
i_2 = i_3;
|
|
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i_2]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
|
|
NI lab1X60gensym47_;
|
|
NI T24_;
|
|
if (!!(((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107)))) goto LA21_;
|
|
colontmpD__3 = NIM_NIL;
|
|
lab1X60gensym47_ = forkI__dfa_89(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
colontmpD__3 = lastSon__ast_6268(it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
gen__dfa_274(c, colontmpD__3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
T24_ = (NI)0;
|
|
T24_ = gotoI__dfa_202(c);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
add__dfa_281((&endings), T24_);
|
|
patch__dfa_249(c, lab1X60gensym47_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
|
|
{
|
|
LA23_:;
|
|
}
|
|
{
|
|
oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
|
|
*nimErr_ = oldNimErrFin23_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
|
|
}
|
|
LA21_: ;
|
|
i_3 += ((NI)1);
|
|
{
|
|
LA18_:;
|
|
}
|
|
{
|
|
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
*nimErr_ = oldNimErrFin18_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
} LA17: ;
|
|
}
|
|
}
|
|
{
|
|
NI i_4;
|
|
NI colontmp__3;
|
|
NI T30_;
|
|
NI res;
|
|
i_4 = (NI)0;
|
|
colontmp__3 = (NI)0;
|
|
T30_ = (endings.len-1);
|
|
colontmp__3 = T30_;
|
|
res = colontmp__3;
|
|
{
|
|
while (1) {
|
|
if (!(((NI)0) <= res)) goto LA32 ;
|
|
i_4 = res;
|
|
patch__dfa_249(c, endings.p->data[i_4]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
res -= ((NI)1);
|
|
} LA32: ;
|
|
}
|
|
}
|
|
fin = lastSon__ast_6268(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
if (!((*fin).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA35_;
|
|
gen__dfa_274(c, (*fin)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA35_: ;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&fin);
|
|
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_;
|
|
eqdestroy___dfa_578((&endings));
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NI result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NI)0;
|
|
{
|
|
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA3_;
|
|
result = ((NI)0);
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
result = len__ast_3325(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1412)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL oldNimErrFin13_;
|
|
NIM_BOOL oldNimErrFin21_;
|
|
NIM_BOOL oldNimErrFin2_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
|
|
a = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = safeLen__ast_3318(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA5 ;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&a, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
{
|
|
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125))) goto LA8_;
|
|
}
|
|
goto LA6_;
|
|
LA8_: ;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36))) goto LA11_;
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD_ = lastSon__ast_6268(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
|
|
gen__dfa_274(c, colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
|
|
{
|
|
NI i_3;
|
|
NI colontmp__2;
|
|
NI T15_;
|
|
NI i_4;
|
|
i_3 = (NI)0;
|
|
colontmp__2 = (NI)0;
|
|
T15_ = (NI)0;
|
|
T15_ = len__ast_3325(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
|
|
colontmp__2 = (NI)(T15_ - ((NI)2));
|
|
i_4 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_4 < colontmp__2)) goto LA17 ;
|
|
i_3 = i_4;
|
|
genDef__dfa_1334(c, (*a)._kind_6.sons.p->data[i_3]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
|
|
i_4 += ((NI)1);
|
|
} LA17: ;
|
|
}
|
|
}
|
|
{
|
|
LA13_:;
|
|
}
|
|
{
|
|
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
*nimErr_ = oldNimErrFin13_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
goto LA6_;
|
|
LA11_: ;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
|
|
colontmpD__2 = NIM_NIL;
|
|
colontmpD__3 = NIM_NIL;
|
|
colontmpD__2 = lastSon__ast_6268(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
gen__dfa_274(c, colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
{
|
|
colontmpD__3 = lastSon__ast_6268(a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
if (!!(((*colontmpD__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA24_;
|
|
genDef__dfa_1334(c, (*a)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
|
|
}
|
|
LA24_: ;
|
|
{
|
|
LA21_:;
|
|
}
|
|
{
|
|
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD__3);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
eqdestroy___ast_3454(&colontmpD__2);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
*nimErr_ = oldNimErrFin21_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
|
|
}
|
|
LA6_: ;
|
|
i_2 += ((NI)1);
|
|
} LA5: ;
|
|
}
|
|
}
|
|
{
|
|
LA2_:;
|
|
}
|
|
{
|
|
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin2_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_274)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
|
|
NIM_BOOL oldNimErrFin7_;
|
|
NIM_BOOL oldNimErrFin28_;
|
|
NIM_BOOL oldNimErrFin47_;
|
|
NIM_BOOL oldNimErrFin54_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
switch ((*n).kind) {
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
|
|
{
|
|
genUse__dfa_1309(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
|
|
{
|
|
{
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
|
|
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA5_;
|
|
s = NIM_NIL;
|
|
eqcopy___ast_4063(&s, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
|
|
{
|
|
if (!!(((*s).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0)))) goto LA10_;
|
|
genMagic__dfa_1398(c, n, (*s).magic);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
|
|
}
|
|
goto LA8_;
|
|
LA10_: ;
|
|
{
|
|
genCall__dfa_1359(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
|
|
}
|
|
LA8_: ;
|
|
{
|
|
tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg T17_;
|
|
NI T18_;
|
|
if (!(((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)16)))&63U)))!=0)) goto LA15_;
|
|
nimZeroMem((void*)(&T17_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
nimZeroMem((void*)(&T17_), sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
T17_.kind = ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0);
|
|
T18_ = (*c).code.len;
|
|
T17_.dest = (NI)(((NI)IL64(9223372036854775807)) - T18_);
|
|
add__dfa_95((&(*c).code), T17_);
|
|
}
|
|
LA15_: ;
|
|
{
|
|
LA7_:;
|
|
}
|
|
{
|
|
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_4060(&s);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin7_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
goto LA3_;
|
|
LA5_: ;
|
|
{
|
|
genCall__dfa_1359(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA3_: ;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
|
|
{
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149):
|
|
{
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
|
|
if (!((TM__9aNn2jEg4ezQBM0yZx8s2cA_5[(NU)(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind))>>3] &(1U<<((NU)(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind))&7U)))!=0)) goto LA26_;
|
|
a = NIM_NIL;
|
|
a = skipTrivials__dfa_1297(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
|
|
{
|
|
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA31_;
|
|
gen__dfa_274(c, a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
|
|
}
|
|
LA31_: ;
|
|
{
|
|
LA28_:;
|
|
}
|
|
{
|
|
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&a);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin28_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA26_: ;
|
|
genDef__dfa_1334(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
|
|
{
|
|
genUse__dfa_1309(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
|
|
{
|
|
genIf__dfa_802(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
|
|
{
|
|
gen__dfa_274(c, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
|
|
{
|
|
genCase__dfa_939(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
|
|
{
|
|
genWhile__dfa_767(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
|
|
{
|
|
genBlock__dfa_1004(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
|
|
{
|
|
genReturn__dfa_1282(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
|
|
{
|
|
genRaise__dfa_1240(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
|
|
{
|
|
genBreak__dfa_1112(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)154):
|
|
{
|
|
genTry__dfa_1148(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104):
|
|
{
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
|
|
x = NIM_NIL;
|
|
{
|
|
NI i;
|
|
NI colontmp_;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
colontmp_ = (NI)0;
|
|
colontmp_ = safeLen__ast_3318(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < colontmp_)) goto LA50 ;
|
|
i = i_2;
|
|
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
|
|
gen__dfa_274(c, x);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
|
|
i_2 += ((NI)1);
|
|
} LA50: ;
|
|
}
|
|
}
|
|
{
|
|
LA47_:;
|
|
}
|
|
{
|
|
oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&x);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin47_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)91):
|
|
{
|
|
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD_ = lastSon__ast_6268(n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
|
|
gen__dfa_274(c, colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
|
|
{
|
|
LA54_:;
|
|
}
|
|
{
|
|
oldNimErrFin54_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___ast_3454(&colontmpD_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin54_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)71):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)72):
|
|
{
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)0)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
|
|
{
|
|
gen__dfa_274(c, (*n)._kind_6.sons.p->data[((NI)1)]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
|
|
{
|
|
genVarSection__dfa_1412(c, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)105):
|
|
{
|
|
{
|
|
if (!NIM_TRUE) goto LA63_;
|
|
failedAssertImpl__stdZassertions_224(TM__9aNn2jEg4ezQBM0yZx8s2cA_10);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA63_: ;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1077)(tySequence__IPtyN4X4M7AM4OiTlP3GXQ* dest) {
|
|
NI colontmp_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
colontmp_ = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NI T3_;
|
|
T3_ = (*dest).len;
|
|
if (!(colontmp_ < T3_)) goto LA2 ;
|
|
switch ((*dest).p->data[colontmp_].isTryBlock) {
|
|
case NIM_FALSE:
|
|
{
|
|
{
|
|
NIM_BOOL T7_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = nimDecRefIsLast((*dest).p->data[colontmp_]._isTryBlock_1.label);
|
|
if (!T7_) goto LA8_;
|
|
nimDestroyAndDispose((*dest).p->data[colontmp_]._isTryBlock_1.label);
|
|
}
|
|
LA8_: ;
|
|
eqdestroy___dfa_439((&(*dest).p->data[colontmp_]._isTryBlock_1.breakFixups));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
break;
|
|
case NIM_TRUE:
|
|
{
|
|
{
|
|
NIM_BOOL T13_;
|
|
T13_ = (NIM_BOOL)0;
|
|
T13_ = nimDecRefIsLast((*dest).p->data[colontmp_]._isTryBlock_2.finale);
|
|
if (!T13_) goto LA14_;
|
|
eqdestroy___ast_3466((*dest).p->data[colontmp_]._isTryBlock_2.finale);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest).p->data[colontmp_]._isTryBlock_2.finale, ((NI)8));
|
|
}
|
|
LA14_: ;
|
|
eqdestroy___dfa_578((&(*dest).p->data[colontmp_]._isTryBlock_2.raiseFixups));
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
}
|
|
break;
|
|
}
|
|
colontmp_ += ((NI)1);
|
|
} LA2: ;
|
|
}
|
|
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
|
|
alignedDealloc((*dest).p, NIM_ALIGNOF(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1639)(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw* dest) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
eqdestroy___dfa_1534((&(*dest).code));
|
|
eqdestroy___dfa_1077((&(*dest).blocks));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest).owner);
|
|
if (!T3_) goto LA4_;
|
|
nimDestroyAndDispose((*dest).owner);
|
|
}
|
|
LA4_: ;
|
|
{
|
|
NIM_BOOL T8_;
|
|
T8_ = (NIM_BOOL)0;
|
|
T8_ = nimDecRefIsLast((*dest).root);
|
|
if (!T8_) goto LA9_;
|
|
nimDestroyAndDispose((*dest).root);
|
|
}
|
|
LA9_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tySequence__QhKW39aBdj2b0D43QtN2bjA, constructCfg__dfa_1507)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root) {
|
|
tySequence__QhKW39aBdj2b0D43QtN2bjA result;
|
|
tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw c;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
|
|
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
|
|
NI oldLenX60gensym96_;
|
|
NI T2_;
|
|
tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw T3_;
|
|
NIM_BOOL oldNimErrFin1_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result.len = 0; result.p = NIM_NIL;
|
|
nimZeroMem((void*)(&c), sizeof(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw));
|
|
colontmpD_ = NIM_NIL;
|
|
colontmpD__2 = NIM_NIL;
|
|
colontmpD__3 = NIM_NIL;
|
|
nimZeroMem((void*)(&c), sizeof(tyObject_Con__yUZ2cgEPbiHyPtQaQejcCw));
|
|
c.code.len = 0; c.code.p = (tySequence__QhKW39aBdj2b0D43QtN2bjA_Content*) newSeqPayload(0, sizeof(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg), NIM_ALIGNOF(tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg));
|
|
c.blocks.len = 0; c.blocks.p = (tySequence__IPtyN4X4M7AM4OiTlP3GXQ_Content*) newSeqPayload(0, sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw), NIM_ALIGNOF(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
colontmpD_ = 0;
|
|
eqcopy___ast_4063(&colontmpD_, s);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
c.owner = colontmpD_;
|
|
colontmpD__2 = 0;
|
|
eqcopy___ast_4063(&colontmpD__2, root);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
c.root = colontmpD__2;
|
|
T2_ = c.blocks.len;
|
|
oldLenX60gensym96_ = T2_;
|
|
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__x6U11f80NYKdOTxVKpYZbw));
|
|
T3_.isTryBlock = NIM_FALSE;
|
|
colontmpD__3 = 0;
|
|
eqcopy___ast_4063(&colontmpD__3, s);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
T3_._isTryBlock_1.label = colontmpD__3;
|
|
add__dfa_776((&c.blocks), (&T3_));
|
|
gen__dfa_274((&c), body);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
{
|
|
if (!((*root).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11))) goto LA6_;
|
|
genImplicitReturn__dfa_1272((&c));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
}
|
|
LA6_: ;
|
|
popBlock__dfa_277((&c), oldLenX60gensym96_);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
|
|
result = c.code;
|
|
c.code.len = 0; c.code.p = NIM_NIL;
|
|
{
|
|
LA1_:;
|
|
}
|
|
{
|
|
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
|
|
eqdestroy___dfa_1639((&c));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
*nimErr_ = oldNimErrFin1_;
|
|
}
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|