/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o /afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/nimcache/stdlib_parseopt.o /afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/nimcache/stdlib_parseopt.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Optparser_fe5bDDfRbVwQIuUOouExnA Optparser_fe5bDDfRbVwQIuUOouExnA; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32]; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; typedef NU8 Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA; struct Optparser_fe5bDDfRbVwQIuUOouExnA { TNimObject Sup; NimStringDesc* cmd; NI pos; NIM_BOOL inshortstate; Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA kind; NimStringDesc* key; NimStringDesc* val; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; N_NIMCALL(NI, parseword_JAw9bP8tjPXKSullchoBwUA)(NimStringDesc* s0, NI i0, NimStringDesc** w0, TY_nmiMWKVIe46vacnhAFrQvw_Set delim0); N_NOINLINE(void, raiseIndexError)(void); static N_INLINE(NI, addInt)(NI a0, NI b0); N_NOINLINE(void, raiseOverflow)(void); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); static N_INLINE(void, nimFrame)(TFrame* s0); N_NOINLINE(void, stackoverflow_II46IjNZztN9bmbxUD8dt8g)(void); static N_INLINE(void, popFrame)(void); N_NIMCALL(NimStringDesc*, quote_yY2O2tPIqumYuvhyVZH8Zg)(NimStringDesc* s0); N_NIMCALL(NI, nsuFindCharSet)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0, NI start0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0); static N_INLINE(NI, chckRange)(NI i0, NI a0, NI b0); N_NOINLINE(void, raiseRangeError)(NI64 val0); static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(void, initoptparser_xt25Cv9cQqaNt3Mscl7nHFA)(NimStringDesc* cmdline0, Optparser_fe5bDDfRbVwQIuUOouExnA* Result); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); N_NIMCALL(NI, paramcount_T74rCHY8RMV0X07YnKmggw)(void); N_NIMCALL(NimStringDesc*, paramstr_eYicl3uwirn1ppNz7OCowg)(NI i0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(void, handleshortoption_7aIl9cJUX5tPqtQBG33k9aMg)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0); N_NIMCALL(void, nponext)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); N_NIMCALL(NimStringDesc*, npocmdLineRest)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0); N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s0, NIM_BOOL leading0, NIM_BOOL trailing0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0); static N_INLINE(NI, subInt)(NI a0, NI b0); extern TFrame* frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw; extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_fe5bDDfRbVwQIuUOouExnA; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ; TNimType NTI_XkdXq9atxjiuhkFFh0XYrSA; static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_GYgvYKeHVTEls0AcywABHQ_6 = { 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_GYgvYKeHVTEls0AcywABHQ_7 = { 0x01, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_GYgvYKeHVTEls0AcywABHQ_10, "", 0); STRING_LITERAL(T_GYgvYKeHVTEls0AcywABHQ_12, "", 0); static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_GYgvYKeHVTEls0AcywABHQ_17 = { 0x01, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_GYgvYKeHVTEls0AcywABHQ_25 = { 0x00, 0x3E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static N_INLINE(NI, addInt)(NI a0, NI b0) { NI result0; { result0 = (NI)0; result0 = (NI)((NU64)(a0) + (NU64)(b0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) <= (NI)(result0 ^ a0)); if (LOC3) goto LA4; LOC3 = (((NI) 0) <= (NI)(result0 ^ b0)); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; raiseOverflow(); }BeforeRet: ; return result0; } static N_INLINE(void, nimFrame)(TFrame* s0) { NI LOC1; LOC1 = (NI)0; { if (!(frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA4; LOC1 = ((NI) 0); } goto LA2; LA4: ; { LOC1 = ((NI) ((NI16)((*frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1)))); } LA2: ; (*s0).calldepth = ((NI16) (LOC1)); (*s0).prev = frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw; frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw = s0; { if (!((*s0).calldepth == ((NI16) 2000))) goto LA9; stackoverflow_II46IjNZztN9bmbxUD8dt8g(); } LA9: ; } static N_INLINE(void, popFrame)(void) { frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw = (*frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw).prev; } N_NIMCALL(NI, parseword_JAw9bP8tjPXKSullchoBwUA)(NimStringDesc* s0, NI i0, NimStringDesc** w0, TY_nmiMWKVIe46vacnhAFrQvw_Set delim0) { NI result0; nimfr("parseWord", "parseopt.nim") result0 = (NI)0; nimln(47, "parseopt.nim"); result0 = i0; nimln(48, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_2; if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); if (!((NU8)(s0->data[result0]) == (NU8)(34))) goto LA3; nimln(49, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_2 = addInt(result0, ((NI) 1)); result0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_2); { nimln(50, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_3; if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); if (!!((((NU8)(s0->data[result0])) == ((NU8)(0)) || ((NU8)(s0->data[result0])) == ((NU8)(34))))) goto LA6; nimln(51, "parseopt.nim"); if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); (*w0) = addChar((*w0), s0->data[result0]); nimln(52, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_3 = addInt(result0, ((NI) 1)); result0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_3); } LA6: ; } nimln(53, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_4; if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); if (!((NU8)(s0->data[result0]) == (NU8)(34))) goto LA9; T_GYgvYKeHVTEls0AcywABHQ_4 = addInt(result0, ((NI) 1)); result0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_4); } LA9: ; } goto LA1; LA3: ; { { nimln(55, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_5; if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); if (!!(((delim0[(NU)(((NU8)(s0->data[result0])))>>3] &(1U<<((NU)(((NU8)(s0->data[result0])))&7U)))!=0))) goto LA13; nimln(56, "parseopt.nim"); if ((NU)(result0) > (NU)(s0->Sup.len)) raiseIndexError(); (*w0) = addChar((*w0), s0->data[result0]); nimln(57, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_5 = addInt(result0, ((NI) 1)); result0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_5); } LA13: ; } } LA1: ; popFrame(); return result0; } static N_INLINE(NI, chckRange)(NI i0, NI a0, NI b0) { NI result0; { result0 = (NI)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (a0 <= i0); if (!(LOC3)) goto LA4; LOC3 = (i0 <= b0); LA4: ; if (!LOC3) goto LA5; result0 = i0; goto BeforeRet; } goto LA1; LA5: ; { raiseRangeError(((NI64) (i0))); } LA1: ; }BeforeRet: ; return result0; } static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) { (*dest0).data[((*dest0).Sup.len)- 0] = c0; (*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0; (*dest0).Sup.len += ((NI) 1); } static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } N_NIMCALL(NimStringDesc*, quote_yY2O2tPIqumYuvhyVZH8Zg)(NimStringDesc* s0) { NimStringDesc* result0; nimfr("quote", "parseopt.nim") result0 = (NimStringDesc*)0; nimln(61, "parseopt.nim"); { NIM_BOOL LOC3; NI LOC4; LOC3 = (NIM_BOOL)0; LOC4 = (NI)0; LOC4 = nsuFindCharSet(s0, T_GYgvYKeHVTEls0AcywABHQ_6, ((NI) 0)); LOC3 = (((NI) 0) <= LOC4); if (!(LOC3)) goto LA5; nimln(347, "system.nim"); nimln(61, "parseopt.nim"); if ((NU)(((NI) 0)) > (NU)(s0->Sup.len)) raiseIndexError(); LOC3 = !(((NU8)(s0->data[((NI) 0)]) == (NU8)(34))); LA5: ; if (!LOC3) goto LA6; nimln(62, "parseopt.nim"); { NI i0; if ((NU)(((NI) 0)) > (NU)(s0->Sup.len)) raiseIndexError(); if (!((NU8)(s0->data[((NI) 0)]) == (NU8)(45))) goto LA10; nimln(63, "parseopt.nim"); result0 = rawNewString(((NI)chckRange((s0 ? s0->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807))))); nimln(64, "parseopt.nim"); i0 = parseword_JAw9bP8tjPXKSullchoBwUA(s0, ((NI) 0), (&result0), T_GYgvYKeHVTEls0AcywABHQ_7); nimln(65, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_8; if ((NU)(i0) > (NU)(s0->Sup.len)) raiseIndexError(); if (!(((NU8)(s0->data[i0])) == ((NU8)(58)) || ((NU8)(s0->data[i0])) == ((NU8)(61)))) goto LA14; nimln(66, "parseopt.nim"); if ((NU)(i0) > (NU)(s0->Sup.len)) raiseIndexError(); result0 = addChar(result0, s0->data[i0]); nimln(67, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_8 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_8); } LA14: ; nimln(68, "parseopt.nim"); result0 = addChar(result0, 34); { nimln(69, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_9; if (!(i0 < (s0 ? s0->Sup.len : 0))) goto LA17; nimln(70, "parseopt.nim"); if ((NU)(i0) > (NU)(s0->Sup.len)) raiseIndexError(); result0 = addChar(result0, s0->data[i0]); nimln(71, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_9 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_9); } LA17: ; } nimln(72, "parseopt.nim"); result0 = addChar(result0, 34); } goto LA8; LA10: ; { NimStringDesc* LOC19; nimln(74, "parseopt.nim"); LOC19 = (NimStringDesc*)0; LOC19 = rawNewString(s0->Sup.len + 2); appendChar(LOC19, 34); appendString(LOC19, s0); appendChar(LOC19, 34); result0 = LOC19; } LA8: ; } goto LA1; LA6: ; { nimln(76, "parseopt.nim"); result0 = copyString(s0); } LA1: ; popFrame(); return result0; } N_NIMCALL(void, initoptparser_xt25Cv9cQqaNt3Mscl7nHFA)(NimStringDesc* cmdline0, Optparser_fe5bDDfRbVwQIuUOouExnA* Result) { nimfr("initOptParser", "parseopt.nim") nimln(84, "parseopt.nim"); (*Result).pos = ((NI) 0); nimln(85, "parseopt.nim"); (*Result).inshortstate = NIM_FALSE; nimln(86, "parseopt.nim"); { nimln(347, "system.nim"); nimln(86, "parseopt.nim"); if (!!(((cmdline0) && (cmdline0)->Sup.len == 0))) goto LA3; nimln(87, "parseopt.nim"); unsureAsgnRef((void**) (&(*Result).cmd), copyString(cmdline0)); } goto LA1; LA3: ; { nimln(89, "parseopt.nim"); unsureAsgnRef((void**) (&(*Result).cmd), copyString(((NimStringDesc*) &T_GYgvYKeHVTEls0AcywABHQ_10))); { NI i_9bigZk1c9cxlHhjhl9al4Y7GQ; NI HEX3Atmp_GXMe30iBS9buuMusyj1h8ZQ; NI res_tbl6twNG2HNhqMi9bpESIyA; i_9bigZk1c9cxlHhjhl9al4Y7GQ = (NI)0; HEX3Atmp_GXMe30iBS9buuMusyj1h8ZQ = (NI)0; nimln(90, "parseopt.nim"); HEX3Atmp_GXMe30iBS9buuMusyj1h8ZQ = paramcount_T74rCHY8RMV0X07YnKmggw(); nimln(1908, "system.nim"); res_tbl6twNG2HNhqMi9bpESIyA = ((NI) 1); { nimln(1909, "system.nim"); while (1) { NimStringDesc* LOC9; NimStringDesc* LOC10; NI T_GYgvYKeHVTEls0AcywABHQ_11; nimln(1908, "system.nim"); if (!(res_tbl6twNG2HNhqMi9bpESIyA <= HEX3Atmp_GXMe30iBS9buuMusyj1h8ZQ)) goto LA8; nimln(1910, "system.nim"); i_9bigZk1c9cxlHhjhl9al4Y7GQ = res_tbl6twNG2HNhqMi9bpESIyA; nimln(91, "parseopt.nim"); LOC9 = (NimStringDesc*)0; LOC9 = paramstr_eYicl3uwirn1ppNz7OCowg(i_9bigZk1c9cxlHhjhl9al4Y7GQ); LOC10 = (NimStringDesc*)0; LOC10 = quote_yY2O2tPIqumYuvhyVZH8Zg(LOC9); (*Result).cmd = resizeString((*Result).cmd, LOC10->Sup.len + 0); appendString((*Result).cmd, LOC10); nimln(92, "parseopt.nim"); (*Result).cmd = addChar((*Result).cmd, 32); nimln(1908, "system.nim"); T_GYgvYKeHVTEls0AcywABHQ_11 = addInt(res_tbl6twNG2HNhqMi9bpESIyA, ((NI) 1)); res_tbl6twNG2HNhqMi9bpESIyA = (NI)(T_GYgvYKeHVTEls0AcywABHQ_11); } LA8: ; } } } LA1: ; nimln(93, "parseopt.nim"); (*Result).kind = ((Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA) 0); nimln(94, "parseopt.nim"); unsureAsgnRef((void**) (&(*Result).key), copyString(((NimStringDesc*) &T_GYgvYKeHVTEls0AcywABHQ_12))); nimln(95, "parseopt.nim"); unsureAsgnRef((void**) (&(*Result).val), copyString(((NimStringDesc*) &T_GYgvYKeHVTEls0AcywABHQ_12))); popFrame(); } N_NIMCALL(void, handleshortoption_7aIl9cJUX5tPqtQBG33k9aMg)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0) { NI i0; NI T_GYgvYKeHVTEls0AcywABHQ_13; nimfr("handleShortOption", "parseopt.nim") nimln(98, "parseopt.nim"); i0 = (*p0).pos; nimln(99, "parseopt.nim"); (*p0).kind = ((Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA) 3); nimln(100, "parseopt.nim"); if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); (*p0).key = addChar((*p0).key, (*p0).cmd->data[i0]); nimln(101, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_13 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_13); nimln(102, "parseopt.nim"); (*p0).inshortstate = NIM_TRUE; { nimln(103, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_14; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(9)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(32)))) goto LA2; nimln(104, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_14 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_14); nimln(105, "parseopt.nim"); (*p0).inshortstate = NIM_FALSE; } LA2: ; } nimln(106, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_15; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(58)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(61)))) goto LA5; nimln(107, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_15 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_15); nimln(108, "parseopt.nim"); (*p0).inshortstate = NIM_FALSE; { nimln(109, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_16; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(9)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(32)))) goto LA8; T_GYgvYKeHVTEls0AcywABHQ_16 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_16); } LA8: ; } nimln(110, "parseopt.nim"); i0 = parseword_JAw9bP8tjPXKSullchoBwUA((*p0).cmd, i0, (&(*p0).val), T_GYgvYKeHVTEls0AcywABHQ_17); } LA5: ; nimln(111, "parseopt.nim"); { if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!((NU8)((*p0).cmd->data[i0]) == (NU8)(0))) goto LA11; (*p0).inshortstate = NIM_FALSE; } LA11: ; nimln(112, "parseopt.nim"); (*p0).pos = i0; popFrame(); } N_NIMCALL(void, nponext)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0) { NI i0; nimfr("next", "parseopt.nim") { nimln(117, "parseopt.nim"); i0 = (*p0).pos; { nimln(118, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_18; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(9)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(32)))) goto LA2; T_GYgvYKeHVTEls0AcywABHQ_18 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_18); } LA2: ; } nimln(119, "parseopt.nim"); (*p0).pos = i0; nimln(120, "parseopt.nim"); (*p0).key = setLengthStr((*p0).key, ((NI) 0)); nimln(121, "parseopt.nim"); (*p0).val = setLengthStr((*p0).val, ((NI) 0)); nimln(122, "parseopt.nim"); { if (!(*p0).inshortstate) goto LA5; nimln(123, "parseopt.nim"); handleshortoption_7aIl9cJUX5tPqtQBG33k9aMg(p0); nimln(124, "parseopt.nim"); goto BeforeRet; } LA5: ; nimln(125, "parseopt.nim"); if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); switch (((NU8)((*p0).cmd->data[i0]))) { case 0: { nimln(127, "parseopt.nim"); (*p0).kind = ((Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA) 0); } break; case 45: { NI T_GYgvYKeHVTEls0AcywABHQ_19; nimln(129, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_19 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_19); nimln(130, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_20; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!((NU8)((*p0).cmd->data[i0]) == (NU8)(45))) goto LA11; nimln(131, "parseopt.nim"); (*p0).kind = ((Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA) 2); nimln(132, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_20 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_20); nimln(133, "parseopt.nim"); i0 = parseword_JAw9bP8tjPXKSullchoBwUA((*p0).cmd, i0, (&(*p0).key), T_GYgvYKeHVTEls0AcywABHQ_7); { nimln(134, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_21; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(9)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(32)))) goto LA14; T_GYgvYKeHVTEls0AcywABHQ_21 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_21); } LA14: ; } nimln(135, "parseopt.nim"); { NI T_GYgvYKeHVTEls0AcywABHQ_22; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(58)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(61)))) goto LA17; nimln(136, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_22 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_22); { nimln(137, "parseopt.nim"); while (1) { NI T_GYgvYKeHVTEls0AcywABHQ_23; if ((NU)(i0) > (NU)((*p0).cmd->Sup.len)) raiseIndexError(); if (!(((NU8)((*p0).cmd->data[i0])) == ((NU8)(9)) || ((NU8)((*p0).cmd->data[i0])) == ((NU8)(32)))) goto LA20; T_GYgvYKeHVTEls0AcywABHQ_23 = addInt(i0, ((NI) 1)); i0 = (NI)(T_GYgvYKeHVTEls0AcywABHQ_23); } LA20: ; } nimln(138, "parseopt.nim"); (*p0).pos = parseword_JAw9bP8tjPXKSullchoBwUA((*p0).cmd, i0, (&(*p0).val), T_GYgvYKeHVTEls0AcywABHQ_17); } goto LA15; LA17: ; { nimln(140, "parseopt.nim"); (*p0).pos = i0; } LA15: ; } goto LA9; LA11: ; { nimln(142, "parseopt.nim"); (*p0).pos = i0; nimln(143, "parseopt.nim"); handleshortoption_7aIl9cJUX5tPqtQBG33k9aMg(p0); } LA9: ; } break; default: { nimln(145, "parseopt.nim"); (*p0).kind = ((Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA) 1); nimln(146, "parseopt.nim"); (*p0).pos = parseword_JAw9bP8tjPXKSullchoBwUA((*p0).cmd, i0, (&(*p0).key), T_GYgvYKeHVTEls0AcywABHQ_17); } break; } }BeforeRet: ; popFrame(); } static N_INLINE(NI, subInt)(NI a0, NI b0) { NI result0; { result0 = (NI)0; result0 = (NI)((NU64)(a0) - (NU64)(b0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) <= (NI)(result0 ^ a0)); if (LOC3) goto LA4; LOC3 = (((NI) 0) <= (NI)(result0 ^ (NI)((NU64) ~(b0)))); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; raiseOverflow(); }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, npocmdLineRest)(Optparser_fe5bDDfRbVwQIuUOouExnA* p0) { NimStringDesc* result0; NI T_GYgvYKeHVTEls0AcywABHQ_24; NimStringDesc* LOC1; nimfr("cmdLineRest", "parseopt.nim") result0 = (NimStringDesc*)0; nimln(150, "parseopt.nim"); T_GYgvYKeHVTEls0AcywABHQ_24 = subInt(((*p0).cmd ? (*p0).cmd->Sup.len : 0), ((NI) 1)); LOC1 = (NimStringDesc*)0; LOC1 = copyStrLast((*p0).cmd, (*p0).pos, (NI)(T_GYgvYKeHVTEls0AcywABHQ_24)); result0 = nsuStrip(LOC1, NIM_TRUE, NIM_TRUE, T_GYgvYKeHVTEls0AcywABHQ_25); popFrame(); return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_parseoptInit000)(void) { nimfr("parseopt", "parseopt.nim") popFrame(); } NIM_EXTERNC N_NOINLINE(void, stdlib_parseoptDatInit000)(void) { static TNimNode* T_GYgvYKeHVTEls0AcywABHQ_26[6]; static TNimNode* T_GYgvYKeHVTEls0AcywABHQ_27[4]; NI T_GYgvYKeHVTEls0AcywABHQ_29; static char* NIM_CONST T_GYgvYKeHVTEls0AcywABHQ_28[4] = { "cmdEnd", "cmdArgument", "cmdLongOption", "cmdShortOption"}; static TNimNode T_GYgvYKeHVTEls0AcywABHQ_0[12]; NTI_fe5bDDfRbVwQIuUOouExnA.size = sizeof(Optparser_fe5bDDfRbVwQIuUOouExnA); NTI_fe5bDDfRbVwQIuUOouExnA.kind = 17; NTI_fe5bDDfRbVwQIuUOouExnA.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); T_GYgvYKeHVTEls0AcywABHQ_26[0] = &T_GYgvYKeHVTEls0AcywABHQ_0[1]; T_GYgvYKeHVTEls0AcywABHQ_0[1].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[1].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, cmd); T_GYgvYKeHVTEls0AcywABHQ_0[1].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_GYgvYKeHVTEls0AcywABHQ_0[1].name = "cmd"; T_GYgvYKeHVTEls0AcywABHQ_26[1] = &T_GYgvYKeHVTEls0AcywABHQ_0[2]; T_GYgvYKeHVTEls0AcywABHQ_0[2].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[2].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, pos); T_GYgvYKeHVTEls0AcywABHQ_0[2].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_GYgvYKeHVTEls0AcywABHQ_0[2].name = "pos"; T_GYgvYKeHVTEls0AcywABHQ_26[2] = &T_GYgvYKeHVTEls0AcywABHQ_0[3]; T_GYgvYKeHVTEls0AcywABHQ_0[3].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[3].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, inshortstate); T_GYgvYKeHVTEls0AcywABHQ_0[3].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_GYgvYKeHVTEls0AcywABHQ_0[3].name = "inShortState"; T_GYgvYKeHVTEls0AcywABHQ_26[3] = &T_GYgvYKeHVTEls0AcywABHQ_0[4]; NTI_XkdXq9atxjiuhkFFh0XYrSA.size = sizeof(Cmdlinekind_XkdXq9atxjiuhkFFh0XYrSA); NTI_XkdXq9atxjiuhkFFh0XYrSA.kind = 14; NTI_XkdXq9atxjiuhkFFh0XYrSA.base = 0; NTI_XkdXq9atxjiuhkFFh0XYrSA.flags = 3; for (T_GYgvYKeHVTEls0AcywABHQ_29 = 0; T_GYgvYKeHVTEls0AcywABHQ_29 < 4; T_GYgvYKeHVTEls0AcywABHQ_29++) { T_GYgvYKeHVTEls0AcywABHQ_0[T_GYgvYKeHVTEls0AcywABHQ_29+5].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[T_GYgvYKeHVTEls0AcywABHQ_29+5].offset = T_GYgvYKeHVTEls0AcywABHQ_29; T_GYgvYKeHVTEls0AcywABHQ_0[T_GYgvYKeHVTEls0AcywABHQ_29+5].name = T_GYgvYKeHVTEls0AcywABHQ_28[T_GYgvYKeHVTEls0AcywABHQ_29]; T_GYgvYKeHVTEls0AcywABHQ_27[T_GYgvYKeHVTEls0AcywABHQ_29] = &T_GYgvYKeHVTEls0AcywABHQ_0[T_GYgvYKeHVTEls0AcywABHQ_29+5]; } T_GYgvYKeHVTEls0AcywABHQ_0[9].len = 4; T_GYgvYKeHVTEls0AcywABHQ_0[9].kind = 2; T_GYgvYKeHVTEls0AcywABHQ_0[9].sons = &T_GYgvYKeHVTEls0AcywABHQ_27[0]; NTI_XkdXq9atxjiuhkFFh0XYrSA.node = &T_GYgvYKeHVTEls0AcywABHQ_0[9]; T_GYgvYKeHVTEls0AcywABHQ_0[4].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[4].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, kind); T_GYgvYKeHVTEls0AcywABHQ_0[4].typ = (&NTI_XkdXq9atxjiuhkFFh0XYrSA); T_GYgvYKeHVTEls0AcywABHQ_0[4].name = "kind"; T_GYgvYKeHVTEls0AcywABHQ_26[4] = &T_GYgvYKeHVTEls0AcywABHQ_0[10]; T_GYgvYKeHVTEls0AcywABHQ_0[10].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[10].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, key); T_GYgvYKeHVTEls0AcywABHQ_0[10].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_GYgvYKeHVTEls0AcywABHQ_0[10].name = "key"; T_GYgvYKeHVTEls0AcywABHQ_26[5] = &T_GYgvYKeHVTEls0AcywABHQ_0[11]; T_GYgvYKeHVTEls0AcywABHQ_0[11].kind = 1; T_GYgvYKeHVTEls0AcywABHQ_0[11].offset = offsetof(Optparser_fe5bDDfRbVwQIuUOouExnA, val); T_GYgvYKeHVTEls0AcywABHQ_0[11].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_GYgvYKeHVTEls0AcywABHQ_0[11].name = "val"; T_GYgvYKeHVTEls0AcywABHQ_0[0].len = 6; T_GYgvYKeHVTEls0AcywABHQ_0[0].kind = 2; T_GYgvYKeHVTEls0AcywABHQ_0[0].sons = &T_GYgvYKeHVTEls0AcywABHQ_26[0]; NTI_fe5bDDfRbVwQIuUOouExnA.node = &T_GYgvYKeHVTEls0AcywABHQ_0[0]; }