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

322 lines
10 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 tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg {
RootObj Sup;
NI bufpos;
NimStringV2 buf;
tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZstreams_616)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ** dest, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* src, NIM_BOOL cyclic);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src);
N_NIMCALL(NimStringV2, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, fillBuffer__pureZlexbase_17)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L);
static N_INLINE(void, moveMem__system_1723)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, readDataStr__pureZstreams_85)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b);
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);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, skipUtf8Bom__pureZlexbase_119)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L);
N_LIB_PRIVATE N_NIMCALL(NI, fillBaseLexer__pureZlexbase_73)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, close__pureZstreams_58)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
extern NIM_BOOL nimInErrorMode__system_4004;
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, moveMem__system_1723)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memmove(dest, source, ((size_t) (size)));
}
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_4004);
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_: ;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
return result;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_2301(s);
}
LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBuffer__pureZlexbase_17)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L) {
NI charsRead;
NI toCopy;
NI s;
NI oldBufLen;
tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* T6_;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
charsRead = (NI)0;
toCopy = (NI)0;
s = (NI)0;
oldBufLen = (NI)0;
toCopy = (NI)((*L).buf.len - (NI)((*L).sentinel + ((NI)1)));
{
void* T5_;
if (!(((NI)0) < toCopy)) goto LA3_;
T5_ = (void*)0;
T5_ = ((void*) ((&(*L).buf.p->data[((NI)0)])));
moveMem__system_1723(T5_, ((void*) ((&(*L).buf.p->data[(NI)((*L).sentinel + ((NI)1))]))), ((NI) (toCopy)));
}
LA3_: ;
T6_ = NIM_NIL;
T6_ = (*L).input;
T7_ = dotdot___stdZstrbasics_49(toCopy, (NI)((NI)((NI)(toCopy + (*L).sentinel) + ((NI)1)) - ((NI)1)));
charsRead = readDataStr__pureZstreams_85(T6_, (&(*L).buf), T7_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
s = (NI)(toCopy + charsRead);
{
if (!(charsRead < (NI)((*L).sentinel + ((NI)1)))) goto LA10_;
nimPrepareStrMutationV2((&(*L).buf));
(*L).buf.p->data[s] = 0;
(*L).sentinel = s;
}
goto LA8_;
LA10_: ;
{
s -= ((NI)1);
{
while (1) {
{
while (1) {
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (((NI)0) <= s);
if (!(T17_)) goto LA18_;
T17_ = !((((*L).refillChars[(NU)((((NU8)((*L).buf.p->data[s]))))>>3] &(1U<<((NU)((((NU8)((*L).buf.p->data[s]))))&7U)))!=0));
LA18_: ;
if (!T17_) goto LA16 ;
s -= ((NI)1);
} LA16: ;
}
{
if (!(((NI)0) <= s)) goto LA21_;
(*L).sentinel = s;
goto LA13;
}
goto LA19_;
LA21_: ;
{
tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* T24_;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T25_;
oldBufLen = (*L).buf.len;
setLengthStrV2((&(*L).buf), ((NI) ((NI)((*L).buf.len * ((NI)2)))));
T24_ = NIM_NIL;
T24_ = (*L).input;
T25_ = dotdot___stdZstrbasics_49(oldBufLen, (NI)((*L).buf.len - ((NI)1)));
charsRead = readDataStr__pureZstreams_85(T24_, (&(*L).buf), T25_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(charsRead < oldBufLen)) goto LA28_;
nimPrepareStrMutationV2((&(*L).buf));
(*L).buf.p->data[(NI)(oldBufLen + charsRead)] = 0;
(*L).sentinel = (NI)(oldBufLen + charsRead);
goto LA13;
}
LA28_: ;
s = (NI)((*L).buf.len - ((NI)1));
}
LA19_: ;
}
} LA13: ;
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipUtf8Bom__pureZlexbase_119)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L) {
{
NIM_BOOL T3_;
NIM_BOOL T4_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = ((NU8)((*L).buf.p->data[((NI)0)]) == (NU8)(239));
if (!(T4_)) goto LA5_;
T4_ = ((NU8)((*L).buf.p->data[((NI)1)]) == (NU8)(187));
LA5_: ;
T3_ = T4_;
if (!(T3_)) goto LA6_;
T3_ = ((NU8)((*L).buf.p->data[((NI)2)]) == (NU8)(191));
LA6_: ;
if (!T3_) goto LA7_;
(*L).bufpos += ((NI)3);
(*L).lineStart += ((NI)3);
}
LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, open__pureZlexbase_131)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NI bufLen, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars) {
NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqcopy___pureZstreams_616(&(*L).input, input, NIM_TRUE);
(*L).bufpos = ((NI)0);
(*L).offsetBase = ((NI)0);
nimCopyMem((void*)(*L).refillChars, (NIM_CONST void*)refillChars, 32);
T1_.len = 0; T1_.p = NIM_NIL;
T1_ = mnewString(((NI) (bufLen)));
eqsink___stdZassertions_19((&(*L).buf), T1_);
(*L).sentinel = (NI)(bufLen - ((NI)1));
(*L).lineStart = ((NI)0);
(*L).lineNumber = ((NI)1);
fillBuffer__pureZlexbase_17(L);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
skipUtf8Bom__pureZlexbase_119(L);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, fillBaseLexer__pureZlexbase_73)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
if (!(pos < (*L).sentinel)) goto LA3_;
result = (NI)(pos + ((NI)1));
}
goto LA1_;
LA3_: ;
{
fillBuffer__pureZlexbase_17(L);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*L).offsetBase += pos;
(*L).bufpos = ((NI)0);
result = ((NI)0);
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__pureZlexbase_84)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
(*L).lineNumber += ((NI)1);
result = fillBaseLexer__pureZlexbase_73(L, pos);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((NU8)((*L).buf.p->data[result]) == (NU8)(10))) goto LA3_;
result = fillBaseLexer__pureZlexbase_73(L, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
(*L).lineStart = result;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__pureZlexbase_96)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
(*L).lineNumber += ((NI)1);
result = fillBaseLexer__pureZlexbase_73(L, pos);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*L).lineStart = result;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__pureZlexbase_146)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos) {
NI result;
result = (NI)0;
result = ((NI)(pos - (*L).lineStart) > 0? ((NI)(pos - (*L).lineStart)) : -((NI)(pos - (*L).lineStart)));
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, close__pureZlexbase_15)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
close__pureZstreams_58((*L).input);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}