/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 64 #include "nimbase.h" #include #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__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content; typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg; typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA; typedef struct Exception Exception; typedef struct RootObj RootObj; typedef struct TNimTypeV2 TNimTypeV2; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content tySequence__uB9b75OUPRENsBAu4AnoePA_Content; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ { NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p; }; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; typedef N_STDCALL_PTR(NI16*, tyProc__9bXHKfH08cKXphxNi5GYejg) (void); struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct RootObj { TNimTypeV2* m_type; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { NI len; tySequence__uB9b75OUPRENsBAu4AnoePA_Content* p; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringV2 message; tySequence__uB9b75OUPRENsBAu4AnoePA trace; Exception* up; }; struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA { Exception Sup; }; struct tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; #ifndef tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP #define tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content { NI cap; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];}; #endif N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_3520)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src); N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, nosparseCmdLine)(NimStringV2 c); N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign); N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen); static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_69)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x, NimStringV2 value); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___stdZwidestrs_356)(NI16* s); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); 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(NimStringV2, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line); static const struct { NI cap; NIM_CHAR data[0+1]; } TM__MZPGKsURfItHSi3RvnOT8Q_2 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__MZPGKsURfItHSi3RvnOT8Q_3 = {0, (NimStrPayload*)&TM__MZPGKsURfItHSi3RvnOT8Q_2}; extern TNimTypeV2 NTIv2__W7zFbor8bJ1meM16OWPdYg_; static const struct { NI cap; NIM_CHAR data[43+1]; } TM__MZPGKsURfItHSi3RvnOT8Q_4 = { 43 | NIM_STRLIT_FLAG, "index out of bounds, the container is empty" }; static const NimStringV2 TM__MZPGKsURfItHSi3RvnOT8Q_5 = {43, (NimStrPayload*)&TM__MZPGKsURfItHSi3RvnOT8Q_4}; static const struct { NI cap; NIM_CHAR data[6+1]; } TM__MZPGKsURfItHSi3RvnOT8Q_6 = { 6 | NIM_STRLIT_FLAG, "index " }; static const NimStringV2 TM__MZPGKsURfItHSi3RvnOT8Q_7 = {6, (NimStrPayload*)&TM__MZPGKsURfItHSi3RvnOT8Q_6}; static const struct { NI cap; NIM_CHAR data[13+1]; } TM__MZPGKsURfItHSi3RvnOT8Q_8 = { 13 | NIM_STRLIT_FLAG, " not in 0 .. " }; static const NimStringV2 TM__MZPGKsURfItHSi3RvnOT8Q_9 = {13, (NimStrPayload*)&TM__MZPGKsURfItHSi3RvnOT8Q_8}; N_LIB_PRIVATE tySequence__sM4lkSb7zS6F7OVMvW9cffQ ownArgv__stdZcmdline_68; N_LIB_PRIVATE NIM_BOOL ownParsedArgv__stdZcmdline_69; extern NIM_BOOL nimInErrorMode__system_3980; extern tyProc__9bXHKfH08cKXphxNi5GYejg Dl_1442840860_; static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) { prepareAdd(s, ((NI)1)); (*(*s).p).data[(*s).len] = c; (*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0; (*s).len += ((NI)1); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, nosparseCmdLine)(NimStringV2 c) { tySequence__sM4lkSb7zS6F7OVMvW9cffQ result; NimStringV2 a; NI i; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; a.len = 0; a.p = NIM_NIL; result.len = 0; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2)); i = ((NI)0); a = TM__MZPGKsURfItHSi3RvnOT8Q_3; { while (1) { NimStringV2 colontmpD_; NIM_BOOL inQuote; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; setLengthStrV2((&a), ((NI)0)); { while (1) { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = (i < c.len); if (!(T6_)) goto LA7_; T6_ = (((NU8)(c.p->data[i])) == ((NU8)(32)) || ((NU8)(c.p->data[i])) == ((NU8)(9)) || ((NU8)(c.p->data[i])) == ((NU8)(10)) || ((NU8)(c.p->data[i])) == ((NU8)(13))); LA7_: ; if (!T6_) goto LA5 ; i += ((NI)1); } LA5: ; } { if (!(c.len <= i)) goto LA10_; goto LA2; } LA10_: ; inQuote = NIM_FALSE; { while (1) { if (!(i < c.len)) goto LA13 ; switch (((NU8)(c.p->data[i]))) { case 92: { NI j; j = i; { while (1) { NIM_BOOL T17_; T17_ = (NIM_BOOL)0; T17_ = (j < c.len); if (!(T17_)) goto LA18_; T17_ = ((NU8)(c.p->data[j]) == (NU8)(92)); LA18_: ; if (!T17_) goto LA16 ; j += ((NI)1); } LA16: ; } { NIM_BOOL T21_; T21_ = (NIM_BOOL)0; T21_ = (j < c.len); if (!(T21_)) goto LA22_; T21_ = ((NU8)(c.p->data[j]) == (NU8)(34)); LA22_: ; if (!T21_) goto LA23_; { NI k; NI colontmp_; NI res; k = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((NI)(j - i) / ((NI)2)); res = ((NI)1); { while (1) { if (!(res <= colontmp_)) goto LA27 ; k = res; nimAddCharV1((&a), 92); res += ((NI)1); } LA27: ; } } { if (!((NI)((NI)(j - i) % ((NI)2)) == ((NI)0))) goto LA30_; i = j; } goto LA28_; LA30_: ; { nimAddCharV1((&a), 34); i = (NI)(j + ((NI)1)); } LA28_: ; } goto LA19_; LA23_: ; { nimAddCharV1((&a), c.p->data[i]); i += ((NI)1); } LA19_: ; } break; case 34: { i += ((NI)1); { if (!!(inQuote)) goto LA37_; inQuote = NIM_TRUE; } goto LA35_; LA37_: ; { NIM_BOOL T40_; T40_ = (NIM_BOOL)0; T40_ = (i < c.len); if (!(T40_)) goto LA41_; T40_ = ((NU8)(c.p->data[i]) == (NU8)(34)); LA41_: ; if (!T40_) goto LA42_; nimAddCharV1((&a), c.p->data[i]); i += ((NI)1); } goto LA35_; LA42_: ; { inQuote = NIM_FALSE; goto LA12; } LA35_: ; } break; case 32: case 9: { { if (!!(inQuote)) goto LA48_; goto LA12; } LA48_: ; nimAddCharV1((&a), c.p->data[i]); i += ((NI)1); } break; default: { nimAddCharV1((&a), c.p->data[i]); i += ((NI)1); } break; } } LA13: ; } LA12: ; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD_), a); add__stdZenumutils_69((&result), colontmpD_); } } LA2: ; { LA1_:; } { eqdestroy___stdZassertions_13((&a)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, nosparamCount)(void) { NI result; NI T7_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; { NimStringV2 colontmpD_; NI16* T5_; tySequence__sM4lkSb7zS6F7OVMvW9cffQ T6_; if (!!(ownParsedArgv__stdZcmdline_69)) goto LA3_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; T5_ = (NI16*)0; T5_ = Dl_1442840860_(); colontmpD_ = dollar___stdZwidestrs_356(T5_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T6_.len = 0; T6_.p = NIM_NIL; T6_ = nosparseCmdLine(colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___system_3520((&ownArgv__stdZcmdline_68), T6_); ownParsedArgv__stdZcmdline_69 = NIM_TRUE; eqdestroy___stdZassertions_13((&colontmpD_)); } LA3_: ; T7_ = ownArgv__stdZcmdline_68.len; result = (NI)(T7_ - ((NI)1)); }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(NimStringV2, nosparamStr)(NI i) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; { NimStringV2 colontmpD_; NI16* T5_; tySequence__sM4lkSb7zS6F7OVMvW9cffQ T6_; if (!!(ownParsedArgv__stdZcmdline_69)) goto LA3_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; T5_ = (NI16*)0; T5_ = Dl_1442840860_(); colontmpD_ = dollar___stdZwidestrs_356(T5_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T6_.len = 0; T6_.p = NIM_NIL; T6_ = nosparseCmdLine(colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___system_3520((&ownArgv__stdZcmdline_68), T6_); ownParsedArgv__stdZcmdline_69 = NIM_TRUE; eqdestroy___stdZassertions_13((&colontmpD_)); } LA3_: ; { NIM_BOOL T9_; NI T10_; T9_ = (NIM_BOOL)0; T10_ = ownArgv__stdZcmdline_68.len; T9_ = (i < T10_); if (!(T9_)) goto LA11_; T9_ = (((NI)0) <= i); LA11_: ; if (!T9_) goto LA12_; eqcopy___stdZassertions_16((&result), ownArgv__stdZcmdline_68.p->data[i]); } goto LA7_; LA12_: ; { NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg* T16_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; T16_ = NIM_NIL; T16_ = (tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg*) nimNewObj(sizeof(tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg), NIM_ALIGNOF(tyObject_IndexDefect__W7zFbor8bJ1meM16OWPdYg)); (*T16_).Sup.Sup.Sup.m_type = (&NTIv2__W7zFbor8bJ1meM16OWPdYg_); (*T16_).Sup.Sup.name = "IndexDefect"; { NI T19_; NimStringV2 blitTmp; T19_ = ownArgv__stdZcmdline_68.len; if (!((NI)(T19_ - ((NI)1)) < ((NI)0))) goto LA20_; colontmpD__2 = TM__MZPGKsURfItHSi3RvnOT8Q_5; blitTmp = colontmpD__2; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; (*T16_).Sup.Sup.message = blitTmp; } goto LA17_; LA20_: ; { NimStringV2 colontmpD__4; NimStringV2 colontmpD__5; NimStringV2 T23_; NI T24_; NimStringV2 blitTmp_2; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; T23_.len = 0; T23_.p = NIM_NIL; colontmpD__4 = dollar___systemZdollars_3(i); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; T24_ = ownArgv__stdZcmdline_68.len; colontmpD__5 = dollar___systemZdollars_3((NI)(T24_ - ((NI)1))); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; T23_ = rawNewString(colontmpD__4.len + colontmpD__5.len + 19); appendString((&T23_), TM__MZPGKsURfItHSi3RvnOT8Q_7); appendString((&T23_), colontmpD__4); appendString((&T23_), TM__MZPGKsURfItHSi3RvnOT8Q_9); appendString((&T23_), colontmpD__5); colontmpD__3 = T23_; eqdestroy___stdZassertions_13((&colontmpD__5)); eqdestroy___stdZassertions_13((&colontmpD__4)); blitTmp_2 = colontmpD__3; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; (*T16_).Sup.Sup.message = blitTmp_2; } LA17_: ; (*T16_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T16_, "IndexDefect", "paramStr", "cmdline.nim", 249); goto LA15_; { LA15_:; } { eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA7_: ; }BeforeRet_: ; return result; }