csources_v2/c_code/1_1/@m..@slib@sstd@scmdline.nim.c
2022-12-16 10:54:01 +08:00

471 lines
14 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 32
#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__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;
}