/* Generated by Nim Compiler v1.4.0 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdio.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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw;
typedef struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag;
typedef struct RootObj RootObj;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_lexerdotnim_lexer___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_lexerdotnim_lexer___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ;
typedef struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA;
typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;

/* section: NIM_merge_TYPES */
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag {
  RootObj Sup;
NI bufpos;
NCSTRING buf;
NimStringDesc* bufStorage;
NI bufLen;
tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* stream;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__pIuD7iLYdwrBMntVRm61ZA;
struct tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw {
  tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag Sup;
NI32 fileIdx;
NI indentAhead;
NI currLineIndent;
NIM_BOOL strongSpaces;
NIM_BOOL allowTabs;
tyProc__pIuD7iLYdwrBMntVRm61ZA errorHandler;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_lexerdotnim_lexer___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ;
typedef NU8 tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog;
struct tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA {
tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ tokType;
NI indent;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
NI64 iNumber;
NF fNumber;
tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog base;
NI8 strongSpaceA;
NI8 strongSpaceB;
NimStringDesc* literal;
NI line;
NI col;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
typedef NU8 tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* s, void* buf, NI bufLen, void* ClE_0);
void* ClE_0;
} tyProc__9cZV5JMJLsdOPMv55VbpOVg;
struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g {
  RootObj Sup;
tyEnum_TLLStreamKind__jVcKY16LbOamXE9bxXUD6pQ kind;
FILE* f;
NimStringDesc* s;
NI rd;
NI wr;
NI lineOffset;
tyProc__9cZV5JMJLsdOPMv55VbpOVg repl;
};
typedef tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* tyArray__o8KQyTFgNQGvsJZYtdEsgA[8192];
struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw {
tyArray__o8KQyTFgNQGvsJZYtdEsgA buckets;
NI wordCounter;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idAnon;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idDelegator;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* emptyIdent;
};
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU8 tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg[9];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg modifiedyNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg cmdlineNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg foreignPackageNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg notes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg warningAsErrors;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* jsonBuildFile;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NIM_BOOL lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef N_CLOSURE_PTR(void, TM__4JpEWnGrmRM8CRqL3P2O1Q_6) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ;
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
  Exception Sup;
};
struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA {
  tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
};
struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ {
  tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA Sup;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
typedef NimStringDesc* tyArray__sTZE9cvJ5s1a9bgahK51jmAw[116];
typedef NU8 tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ;
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
NimStringDesc* customArgs;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__i2Ogi3tmyKy4HiKMh51bUg)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
N_LIB_PRIVATE N_NIMCALL(void, openBaseLexer__V9avLgM3wlB5dKp8bWFOIqg)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, NI bufLen);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__3HRSVgYDcnQTolSZGx1zjA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, fillToken__hOE5pLJGKF2PYhldDgGvPQ_2)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* L);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, skip__9aV9cE1HeiD7SKKtdj1FAFoQ_2)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NI pos, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__NPagzbOMpGo9aqJmfnDrITg)(NI32 fileInfoIdx, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__mCaRH8Nx3jETXIC9as7yiZg)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__Q6JNH4uRwLyZrj0dJakHew)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__8pl2soDPHrJrFwZvSheaQQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__D0ufm9c9azweHuDkFTPoIzqQ)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__pFv9ajpk2zhJHQ7x61CSE2A)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__pFv9ajpk2zhJHQ7x61CSE2A_3)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__DMOBM16bNpzMjWJLmqX64g)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NI start, NIM_BOOL isDoc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__9aV9cE1HeiD7SKKtdj1FAFoQ_3)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__EGsrb8R3hrhCHPuIqcgh1w)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L);
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__jPDJlJukeiI0s9cOWXczqWg)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NCSTRING identifier, NI length, NI h);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, scanComment__9aV9cE1HeiD7SKKtdj1FAFoQ_4)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
static N_INLINE(void, endOperator__T14Oe40gZXl9aqVTcFop5rglexer)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NI pos, NI hash);
N_LIB_PRIVATE N_NIMCALL(void, getOperator__9aV9cE1HeiD7SKKtdj1FAFoQ_5)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getString__cKrlM9cbL321Totk4ADeBvQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode);
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__9aV9cE1HeiD7SKKtdj1FAFoQ_6)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI* xi, NI position);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw)(NimStringDesc** s, NI i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__9a0o4lqMp9af3xB2kJQdgHnA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NIM_CHAR first, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second);
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__u36MigIF5GCG7eO1Pzskuw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI* xi);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__9coBOmdXN09be4rJvXK6fQGQ)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__9aV9cE1HeiD7SKKtdj1FAFoQ_7)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getNumber__HIIb2qGWrX6bdDncTsehZw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* result);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__kGyfoytmFWEXzCRW182RNw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NimStringDesc* msg, NI startpos, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind);
N_LIB_PRIVATE N_NIMCALL(void, matchChars__bHFyY0fIHyqL7zLydgRq9cA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseBiggestUInt)(NimStringDesc* s, NU64* number, NI start);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseBiggestInt)(NimStringDesc* s, NI64* number, NI start);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
N_LIB_PRIVATE N_NIMCALL(void, closeBaseLexer__X9aea9bJavePT9cGIdd7JRH7Q_3)(tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* L);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__p9cg9bTiLklv9a0RqQs8obp9aA)(tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___PB6jYA2RGAC8IiD19cWHRSA)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
static N_INLINE(NIM_CHAR, X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem)(NimStringDesc* s, NI i);
N_LIB_PRIVATE N_NIMCALL(void, initToken__hOE5pLJGKF2PYhldDgGvPQ)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* L);
static N_INLINE(NIM_BOOL, contains__RPVlURtov7G07Wgl1Pwc9cAsystem)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__550NPbPmWDuMCBxeVYaWWg)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok);
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__PO49anyWCbe63GYNOs9cVuvg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s, tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ flags);

/* section: NIM_merge_DATA */
extern TNimType NTI__jTxk7Uc2dfr9aTDL2dZhO9ag_;
N_LIB_PRIVATE TNimType NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_;
extern TNimType NTI__sVg18TP9cLifHyygRe9cro9aA_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE TNimType NTI__pIuD7iLYdwrBMntVRm61ZA_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
extern TNimType NTI__lnkYNZP9asc88UfiEGjLrbA_;
extern TNimType NTI__a8lycfSA25OQltN3OMeBsA_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_5, "/home/runner/work/nightlies/nightlies/nim/compiler/lexer.nim", 60);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_4 = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NI) 241),
((NI) 16)}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_7, "tabs are not allowed, use spaces instead", 40);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_8, "\012", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_9, "end of multiline comment expected", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_10, "invalid token: trailing underscore", 34);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_11, "\'$2\' should be: \'$1\'", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_12 = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NI) 895),
((NI) 16)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_13 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xec, 0x00, 0xf4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_14, "closing \"\"\" expected, but end of file reached", 45);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_15, "closing \" expected", 18);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_16, "\\p not allowed in character literal", 35);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_17, "expected a hex digit, but found: ", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_18, "; maybe prepend with 0", 22);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_19, "\\u not allowed in character literal", 35);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_20, "Unicode codepoint cannot be empty", 33);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_21, "Unicode codepoint must be lower than 0x10FFFF, but was: ", 56);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_22 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
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(TM__4JpEWnGrmRM8CRqL3P2O1Q_23, "invalid character constant", 26);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_24, "_", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_25, "invalid token: ", 15);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_26, " (\\", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_27, "invalid character literal", 25);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_28, "missing closing \' for character literal", 39);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_29 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xff, 0x03,
0x7e, 0x80, 0x00, 0x81, 0x7e, 0x82, 0x20, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_30 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x50, 0x02, 0x20, 0x00, 0x50, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_31, "$1 will soon be invalid for oct literals; Use \'0o\' for octals. "
"\'c\', \'C\' prefix", 78);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_32, "only single underscores may occur in a token and token may not "
"end with an underscore: e.g. \'1__1\' and \'1_\' are invalid", 119);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_33 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 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}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_34, "$1 is an invalid int literal; For octal literals use the \'0o\' p"
"refix.", 69);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_35 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_36 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 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}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_37, "getNumber", 9);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_38 = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NI) 401),
((NI) 19)}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_39, "invalid number: \'$1\'", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_41 = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NI) 523),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_42 = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_5),
((NI) 540),
((NI) 25)}
;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_43, "number out of range: \'$1\'", 25);
extern TNimType NTI__yoNlBGx0D2tRizIdhQuENw_;
extern TNimType NTI__r8GBEWywN07B3Rat3azS4Q_;
extern TNimType NTI__9cxMi1BPLc3UKt9br86bGfGQ_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_45, "number out of range: ", 21);
extern TNimType NTI__Ie1m0dv1ZHg72IgPRr1cDw_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_46, "invalid integer: ", 17);
extern TNimType NTI__Rp9adJYTsbbIUzQ8fWxwgdA_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_48, "invalid token: no whitespace between number and identifier", 58);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_49, "tkInvalid", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_50, "[EOF]", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_51, "tkSymbol", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_52, "addr", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_53, "and", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_54, "as", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_55, "asm", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_56, "bind", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_57, "block", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_58, "break", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_59, "case", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_60, "cast", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_61, "concept", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_62, "const", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_63, "continue", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_64, "converter", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_65, "defer", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_66, "discard", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_67, "distinct", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_68, "div", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_69, "do", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_70, "elif", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_71, "else", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_72, "end", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_73, "enum", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_74, "except", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_75, "export", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_76, "finally", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_77, "for", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_78, "from", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_79, "func", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_80, "if", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_81, "import", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_82, "in", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_83, "include", 7);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_84, "interface", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_85, "is", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_86, "isnot", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_87, "iterator", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_88, "let", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_89, "macro", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_90, "method", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_91, "mixin", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_92, "mod", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_93, "nil", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_94, "not", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_95, "notin", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_96, "object", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_97, "of", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_98, "or", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_99, "out", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_100, "proc", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_101, "ptr", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_102, "raise", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_103, "ref", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_104, "return", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_105, "shl", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_106, "shr", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_107, "static", 6);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_108, "template", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_109, "try", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_110, "tuple", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_111, "type", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_112, "using", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_113, "var", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_114, "when", 4);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_115, "while", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_116, "xor", 3);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_117, "yield", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_118, "tkIntLit", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_119, "tkInt8Lit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_120, "tkInt16Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_121, "tkInt32Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_122, "tkInt64Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_123, "tkUIntLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_124, "tkUInt8Lit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_125, "tkUInt16Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_126, "tkUInt32Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_127, "tkUInt64Lit", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_128, "tkFloatLit", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_129, "tkFloat32Lit", 12);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_130, "tkFloat64Lit", 12);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_131, "tkFloat128Lit", 13);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_132, "tkStrLit", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_133, "tkRStrLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_134, "tkTripleStrLit", 14);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_135, "tkGStrLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_136, "tkGTripleStrLit", 15);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_137, "tkCharLit", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_138, "(", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_139, ")", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_140, "[", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_141, "]", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_142, "{", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_143, "}", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_144, "[.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_145, ".]", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_146, "{.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_147, ".}", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_148, "(.", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_149, ".)", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_150, ",", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_151, ";", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_152, ":", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_153, "::", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_154, "=", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_155, ".", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_156, "..", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_157, "[:", 2);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_158, "tkOpr", 5);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_159, "tkComment", 9);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_160, "`", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_161, "tkSpaces", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_162, "tkInfixOpr", 10);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_163, "tkPrefixOpr", 11);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_164, "tkPostfixOpr", 12);
N_LIB_PRIVATE NIM_CONST tyArray__sTZE9cvJ5s1a9bgahK51jmAw TokTypeToStr__7y4sYGQdJmj2c4r0emPULw = {((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_49),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_50),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_51),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_52),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_53),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_54),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_55),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_56),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_57),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_58),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_59),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_60),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_61),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_62),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_63),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_64),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_65),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_66),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_67),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_68),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_69),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_70),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_71),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_72),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_73),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_74),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_75),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_76),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_77),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_78),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_79),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_80),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_81),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_82),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_83),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_84),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_85),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_86),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_87),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_88),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_89),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_90),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_91),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_92),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_93),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_94),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_95),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_96),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_97),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_98),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_99),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_100),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_101),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_102),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_103),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_104),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_105),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_106),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_107),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_108),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_109),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_110),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_111),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_112),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_113),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_114),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_115),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_116),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_117),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_118),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_119),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_120),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_121),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_122),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_123),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_124),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_125),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_126),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_127),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_128),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_129),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_130),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_131),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_132),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_133),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_134),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_135),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_136),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_137),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_138),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_139),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_140),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_141),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_142),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_143),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_144),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_145),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_146),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_147),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_148),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_149),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_150),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_151),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_152),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_153),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_154),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_155),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_156),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_157),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_158),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_159),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_160),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_161),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_162),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_163),
((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_164)}
;
N_LIB_PRIVATE TNimType NTI__sNMaWRTImjqfh1DU9cmdQkA_;
N_LIB_PRIVATE TNimType NTI__5VVBIL7Ozj1cc9akK23jAGQ_;
extern TNimType NTI__B0xRsLi0eK4raPu9bd2tkcA_;
extern TNimType NTI__Aav8dQoMlCFnZRxA0IhTHQ_;
extern TNimType NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
N_LIB_PRIVATE TNimType NTI__thnLAz9aJwaXPrSfSppUBog_;
extern TNimType NTI__chXunH2dwinSkhpA6JnsXw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_172, "keyword ", 8);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_173, "\011", 1);
STRING_LITERAL(TM__4JpEWnGrmRM8CRqL3P2O1Q_174, " ", 1);

/* section: NIM_merge_VARS */
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;

/* section: NIM_merge_PROCS */
N_LIB_PRIVATE N_NIMCALL(void, initToken__hOE5pLJGKF2PYhldDgGvPQ)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* L) {
	(*L).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0);
	(*L).iNumber = IL64(0);
	(*L).indent = ((NI) 0);
	(*L).strongSpaceA = ((NI8) 0);
	unsureAsgnRef((void**) (&(*L).literal), ((NimStringDesc*) NIM_NIL));
	(*L).fNumber = 0.0;
	(*L).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 0);
	unsureAsgnRef((void**) (&(*L).ident), NIM_NIL);
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__i2Ogi3tmyKy4HiKMh51bUg)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex, NI32 fileIdx, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
	tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T1_;
	T1_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
	T1_ = &lex->Sup;
	openBaseLexer__V9avLgM3wlB5dKp8bWFOIqg(T1_, inputstream, ((NI) 8192));
	(*lex).fileIdx = fileIdx;
	(*lex).indentAhead = ((NI) -1);
	(*lex).currLineIndent = ((NI) 0);
	(*lex).Sup.lineNumber += (*inputstream).lineOffset;
	unsureAsgnRef((void**) (&(*lex).cache), cache);
	unsureAsgnRef((void**) (&(*lex).config), config);
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__iF0HRQJbanfrtJmOXxkqaQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex, NimStringDesc* filename, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* inputstream, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
	NI32 T1_;
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__3HRSVgYDcnQTolSZGx1zjA(config, filename);
	openLexer__i2Ogi3tmyKy4HiKMh51bUg(lex, T1_, inputstream, cache, config);
}
N_LIB_PRIVATE N_NIMCALL(void, fillToken__hOE5pLJGKF2PYhldDgGvPQ_2)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* L) {
	(*L).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0);
	(*L).iNumber = IL64(0);
	(*L).indent = ((NI) 0);
	(*L).strongSpaceA = ((NI8) 0);
	unsureAsgnRef((void**) (&(*L).literal), setLengthStr((*L).literal, ((NI) 0)));
	(*L).fNumber = 0.0;
	(*L).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 0);
	unsureAsgnRef((void**) (&(*L).ident), NIM_NIL);
}
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__mCaRH8Nx3jETXIC9as7yiZg)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg) {
	{
		if (!((*L).errorHandler.ClP_0 == 0)) goto LA3_;
		liMessage__Q6JNH4uRwLyZrj0dJakHew((*L).config, info, msg, arg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__4JpEWnGrmRM8CRqL3P2O1Q_4, NIM_FALSE);
	}
	goto LA1_;
	LA3_: ;
	{
		(*L).errorHandler.ClE_0? (*L).errorHandler.ClP_0((*L).config, info, msg, arg, (*L).errorHandler.ClE_0):((TM__4JpEWnGrmRM8CRqL3P2O1Q_6)((*L).errorHandler.ClP_0))((*L).config, info, msg, arg);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NI pos, NimStringDesc* arg) {
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
	NI32 T1_;
	NI T2_;
	T1_ = (NI32)0;
	T1_ = (*L).fileIdx;
	T2_ = (NI)0;
	T2_ = (*L).Sup.lineNumber;
	info = newLineInfo__NPagzbOMpGo9aqJmfnDrITg(T1_, T2_, (NI)(pos - (*L).Sup.lineStart));
	dispMessage__mCaRH8Nx3jETXIC9as7yiZg((&(*L)), info, msg, arg);
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__8pl2soDPHrJrFwZvSheaQQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI pos) {
	NI result;
	result = (NI)0;
	switch (((NU8)((*L).Sup.buf[pos]))) {
	case 13:
	{
		NI colX60gensym79_;
		tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T6_;
		colX60gensym79_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			if (!(((NI) 80) < colX60gensym79_)) goto LA4_;
			lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 55), pos, ((NimStringDesc*) NIM_NIL));
		}
		LA4_: ;
		T6_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
		T6_ = &L->Sup;
		result = handleCR__pFv9ajpk2zhJHQ7x61CSE2A(T6_, pos);
	}
	break;
	case 10:
	{
		NI colX60gensym81_;
		tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T12_;
		colX60gensym81_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			if (!(((NI) 80) < colX60gensym81_)) goto LA10_;
			lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 55), pos, ((NimStringDesc*) NIM_NIL));
		}
		LA10_: ;
		T12_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
		T12_ = &L->Sup;
		result = handleLF__pFv9ajpk2zhJHQ7x61CSE2A_3(T12_, pos);
	}
	break;
	default:
	{
		result = pos;
	}
	break;
	}
	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__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__DMOBM16bNpzMjWJLmqX64g)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NI start, NIM_BOOL isDoc) {
	NI pos;
	NI toStrip;
	NI nesting;
	pos = start;
	toStrip = ((NI) 0);
	{
		if (!isDoc) goto LA3_;
		toStrip = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), pos);
		{
			while (1) {
				if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA6;
				pos += ((NI) 1);
			} LA6: ;
		}
		{
			if (!(((NU8)((*L).Sup.buf[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(10)))) goto LA9_;
			pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
			toStrip = ((NI) 0);
			{
				while (1) {
					if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA12;
					pos += ((NI) 1);
					toStrip += ((NI) 1);
				} LA12: ;
			}
		}
		LA9_: ;
	}
	LA3_: ;
	nesting = ((NI) 0);
	{
		while (1) {
			switch (((NU8)((*L).Sup.buf[pos]))) {
			case 35:
			{
				{
					if (!isDoc) goto LA18_;
					{
						NIM_BOOL T22_;
						T22_ = (NIM_BOOL)0;
						T22_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
						if (!(T22_)) goto LA23_;
						T22_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 2))]) == (NU8)(91));
						LA23_: ;
						if (!T22_) goto LA24_;
						nesting += ((NI) 1);
					}
					LA24_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 35));
				}
				goto LA16_;
				LA18_: ;
				{
					if (!((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(91))) goto LA27_;
					nesting += ((NI) 1);
				}
				goto LA16_;
				LA27_: ;
				LA16_: ;
				pos += ((NI) 1);
			}
			break;
			case 93:
			{
				{
					if (!isDoc) goto LA32_;
					{
						NIM_BOOL T36_;
						T36_ = (NIM_BOOL)0;
						T36_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
						if (!(T36_)) goto LA37_;
						T36_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 2))]) == (NU8)(35));
						LA37_: ;
						if (!T36_) goto LA38_;
						{
							if (!(nesting == ((NI) 0))) goto LA42_;
							pos += ((NI) 3);
							goto LA13;
						}
						LA42_: ;
						nesting -= ((NI) 1);
					}
					LA38_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 93));
				}
				goto LA30_;
				LA32_: ;
				{
					if (!((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35))) goto LA45_;
					{
						if (!(nesting == ((NI) 0))) goto LA49_;
						pos += ((NI) 2);
						goto LA13;
					}
					LA49_: ;
					nesting -= ((NI) 1);
				}
				goto LA30_;
				LA45_: ;
				LA30_: ;
				pos += ((NI) 1);
			}
			break;
			case 13:
			case 10:
			{
				pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
				{
					NI c;
					if (!isDoc) goto LA54_;
					unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_8));
					(*tok).iNumber += ((NI) 1);
					c = toStrip;
					{
						while (1) {
							NIM_BOOL T58_;
							T58_ = (NIM_BOOL)0;
							T58_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(32));
							if (!(T58_)) goto LA59_;
							T58_ = (((NI) 0) < c);
							LA59_: ;
							if (!T58_) goto LA57;
							pos += ((NI) 1);
							c -= ((NI) 1);
						} LA57: ;
					}
				}
				LA54_: ;
			}
			break;
			case 0:
			{
				lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), pos, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_9));
				goto LA13;
			}
			break;
			default:
			{
				{
					NIM_BOOL T64_;
					T64_ = (NIM_BOOL)0;
					T64_ = isDoc;
					if (T64_) goto LA65_;
					T64_ = NIM_FALSE;
					LA65_: ;
					if (!T64_) goto LA66_;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[pos]));
				}
				LA66_: ;
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA13: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, skip__9aV9cE1HeiD7SKKtdj1FAFoQ_2)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NI pos;
	pos = (*L).Sup.bufpos;
	(*tok).strongSpaceA = ((NI8) 0);
	{
		while (1) {
			switch (((NU8)((*L).Sup.buf[pos]))) {
			case 32:
			{
				pos += ((NI) 1);
				(*tok).strongSpaceA += ((NI) 1);
			}
			break;
			case 9:
			{
				{
					if (!!((*L).allowTabs)) goto LA7_;
					lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), pos, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_7));
				}
				LA7_: ;
				pos += ((NI) 1);
			}
			break;
			case 13:
			case 10:
			{
				NI indent;
				pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
				indent = ((NI) 0);
				{
					while (1) {
						{
							if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA14_;
							pos += ((NI) 1);
							indent += ((NI) 1);
						}
						goto LA12_;
						LA14_: ;
						{
							NIM_BOOL T17_;
							T17_ = (NIM_BOOL)0;
							T17_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(35));
							if (!(T17_)) goto LA18_;
							T17_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(91));
							LA18_: ;
							if (!T17_) goto LA19_;
							skipMultiLineComment__DMOBM16bNpzMjWJLmqX64g(L, tok, (NI)(pos + ((NI) 2)), NIM_FALSE);
							pos = (*L).Sup.bufpos;
						}
						goto LA12_;
						LA19_: ;
						{
							goto LA10;
						}
						LA12_: ;
					}
				} LA10: ;
				(*tok).strongSpaceA = ((NI8) 0);
				{
					NIM_BOOL T24_;
					NIM_BOOL T26_;
					T24_ = (NIM_BOOL)0;
					T24_ = ((NU8)(32) < (NU8)((*L).Sup.buf[pos]));
					if (!(T24_)) goto LA25_;
					T26_ = (NIM_BOOL)0;
					T26_ = !(((NU8)((*L).Sup.buf[pos]) == (NU8)(35)));
					if (T26_) goto LA27_;
					T26_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
					LA27_: ;
					T24_ = T26_;
					LA25_: ;
					if (!T24_) goto LA28_;
					(*tok).indent = indent;
					(*L).currLineIndent = indent;
					goto LA1;
				}
				LA28_: ;
			}
			break;
			case 35:
			{
				{
					if (!((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35))) goto LA33_;
					goto LA1;
				}
				LA33_: ;
				{
					if (!((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(91))) goto LA37_;
					skipMultiLineComment__DMOBM16bNpzMjWJLmqX64g(L, tok, (NI)(pos + ((NI) 2)), NIM_FALSE);
					pos = (*L).Sup.bufpos;
				}
				goto LA35_;
				LA37_: ;
				{
					{
						while (1) {
							if (!!((((NU8)((*L).Sup.buf[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(0))))) goto LA41;
							pos += ((NI) 1);
						} LA41: ;
					}
				}
				LA35_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*L).Sup.bufpos = pos;
}
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val) {
	NI result;
	NU h_2;
	NU val_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	val_2 = ((NU) (val));
	res = (NU)((NU64)(h_2) + (NU64)(val_2));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
	result = ((NI) (res));
	return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L) {
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
	NI32 T1_;
	NI T2_;
	NI T3_;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
	T1_ = (NI32)0;
	T1_ = (*L).fileIdx;
	T2_ = (NI)0;
	T2_ = (*L).Sup.lineNumber;
	T3_ = (NI)0;
	T3_ = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), (*L).Sup.bufpos);
	result = newLineInfo__NPagzbOMpGo9aqJmfnDrITg(T1_, T2_, T3_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__EGsrb8R3hrhCHPuIqcgh1w)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg) {
	tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw T1_;
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T2_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw));
	T1_.Sup.Sup.m_type = (&NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_);
	nimCopyMem((void*)(&T1_), (NIM_CONST void*)L, sizeof(T1_));
	T2_ = getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw(L);
	dispMessage__mCaRH8Nx3jETXIC9as7yiZg((&T1_), T2_, msg, arg);
}
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h) {
	NI result;
	NU h_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
	result = ((NI) (res));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__9aV9cE1HeiD7SKKtdj1FAFoQ_3)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NI h;
	NI pos;
	NIM_BOOL suspicious;
	tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* T11_;
	NCSTRING T12_;
	h = ((NI) 0);
	pos = (*L).Sup.bufpos;
	suspicious = NIM_FALSE;
	{
		while (1) {
			NIM_CHAR c;
			c = (*L).Sup.buf[pos];
			switch (((NU8)(c))) {
			case 97 ... 122:
			case 48 ... 57:
			case 128 ... 255:
			{
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
				pos += ((NI) 1);
			}
			break;
			case 65 ... 90:
			{
				c = ((NIM_CHAR) (((NI) ((NI)(((NU8)(c)) + ((NI) 32))))));
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
				pos += ((NI) 1);
				suspicious = NIM_TRUE;
			}
			break;
			case 95:
			{
				{
					if (!!((((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) <= ((NU8)(255))))) goto LA8_;
					lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_10));
					goto LA1;
				}
				LA8_: ;
				pos += ((NI) 1);
				suspicious = NIM_TRUE;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	h = emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes(h);
	T11_ = (tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw*)0;
	T11_ = (*L).cache;
	T12_ = (NCSTRING)0;
	T12_ = ((NCSTRING) ((&(*L).Sup.buf[(*L).Sup.bufpos])));
	unsureAsgnRef((void**) (&(*tok).ident), getIdent__jPDJlJukeiI0s9cOWXczqWg(T11_, T12_, (NI)(pos - (*L).Sup.bufpos), h));
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*(*tok).ident).Sup.id < ((NI) 1));
		if (T15_) goto LA16_;
		T15_ = (((NI) 66) < (*(*tok).ident).Sup.id);
		LA16_: ;
		if (!T15_) goto LA17_;
		(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
	}
	goto LA13_;
	LA17_: ;
	{
		(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) ((NI)((*(*tok).ident).Sup.id + ((NI) 2))));
		{
			NIM_BOOL T22_;
			NimStringDesc* mX60gensym104_;
			tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
			tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgX60gensym104_;
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T32_;
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T33_;
			T22_ = (NIM_BOOL)0;
			T22_ = suspicious;
			if (!(T22_)) goto LA23_;
			T22_ = !(((49152 & (*(*L).config).globalOptions) == 0));
			LA23_: ;
			if (!T22_) goto LA24_;
			nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
			T26_[0] = nsuNormalize((*(*tok).ident).s);
			T26_[1] = copyString((*(*tok).ident).s);
			mX60gensym104_ = nsuFormatOpenArray(((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_11), T26_, 2);
			{
				if (!(((*(*L).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 15))&63U)))!=0)) goto LA29_;
				msgX60gensym104_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10);
			}
			goto LA27_;
			LA29_: ;
			{
				msgX60gensym104_ = ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 69);
			}
			LA27_: ;
			T32_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T32_ = (*L).config;
			T33_ = getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw((&(*L)));
			liMessage__Q6JNH4uRwLyZrj0dJakHew(T32_, T33_, msgX60gensym104_, mX60gensym104_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__4JpEWnGrmRM8CRqL3P2O1Q_12, NIM_FALSE);
		}
		LA24_: ;
	}
	LA13_: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, scanComment__9aV9cE1HeiD7SKKtdj1FAFoQ_4)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NI pos;
	NI toStrip;
{	pos = (*L).Sup.bufpos;
	(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110);
	(*tok).iNumber = IL64(0);
	{
		if (!((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 2))]) == (NU8)(91))) goto LA3_;
		skipMultiLineComment__DMOBM16bNpzMjWJLmqX64g(L, tok, (NI)(pos + ((NI) 3)), NIM_TRUE);
		goto BeforeRet_;
	}
	LA3_: ;
	pos += ((NI) 2);
	toStrip = ((NI) 0);
	{
		while (1) {
			if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA6;
			pos += ((NI) 1);
			toStrip += ((NI) 1);
		} LA6: ;
	}
	{
		while (1) {
			NI lastBackslash;
			NI indent;
			lastBackslash = ((NI) -1);
			{
				while (1) {
					if (!!((((NU8)((*L).Sup.buf[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(0))))) goto LA10;
					{
						if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(92))) goto LA13_;
						lastBackslash = (NI)(pos + ((NI) 1));
					}
					LA13_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[pos]));
					pos += ((NI) 1);
				} LA10: ;
			}
			pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
			indent = ((NI) 0);
			{
				while (1) {
					if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA16;
					pos += ((NI) 1);
					indent += ((NI) 1);
				} LA16: ;
			}
			{
				NIM_BOOL T19_;
				NI c;
				T19_ = (NIM_BOOL)0;
				T19_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(35));
				if (!(T19_)) goto LA20_;
				T19_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
				LA20_: ;
				if (!T19_) goto LA21_;
				unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_8));
				pos += ((NI) 2);
				c = toStrip;
				{
					while (1) {
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(32));
						if (!(T25_)) goto LA26_;
						T25_ = (((NI) 0) < c);
						LA26_: ;
						if (!T25_) goto LA24;
						pos += ((NI) 1);
						c -= ((NI) 1);
					} LA24: ;
				}
				(*tok).iNumber += ((NI) 1);
			}
			goto LA17_;
			LA21_: ;
			{
				{
					if (!((NU8)(32) < (NU8)((*L).Sup.buf[pos]))) goto LA30_;
					(*L).indentAhead = indent;
				}
				LA30_: ;
				goto LA7;
			}
			LA17_: ;
		}
	} LA7: ;
	(*L).Sup.bufpos = pos;
	}BeforeRet_: ;
}
static N_INLINE(void, endOperator__T14Oe40gZXl9aqVTcFop5rglexer)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NI pos, NI hash) {
	NI h;
	tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* T1_;
	NCSTRING T2_;
	h = emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes(hash);
	T1_ = (tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw*)0;
	T1_ = (*L).cache;
	T2_ = (NCSTRING)0;
	T2_ = ((NCSTRING) ((&(*L).Sup.buf[(*L).Sup.bufpos])));
	unsureAsgnRef((void**) (&(*tok).ident), getIdent__jPDJlJukeiI0s9cOWXczqWg(T1_, T2_, (NI)(pos - (*L).Sup.bufpos), h));
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*(*tok).ident).Sup.id < ((NI) 67));
		if (T5_) goto LA6_;
		T5_ = (((NI) 71) < (*(*tok).ident).Sup.id);
		LA6_: ;
		if (!T5_) goto LA7_;
		(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109);
	}
	goto LA3_;
	LA7_: ;
	{
		(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) ((NI)((NI)((*(*tok).ident).Sup.id - ((NI) 67)) + ((NI) 103))));
	}
	LA3_: ;
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, getOperator__9aV9cE1HeiD7SKKtdj1FAFoQ_5)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NI pos;
	NI h;
	pos = (*L).Sup.bufpos;
	h = ((NI) 0);
	{
		while (1) {
			NIM_CHAR c;
			c = (*L).Sup.buf[pos];
			{
				if (!!(((TM__4JpEWnGrmRM8CRqL3P2O1Q_13[(NU)(((NU8)(c)))>>3] &(1U<<((NU)(((NU8)(c)))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(h, ((NU8)(c)));
			pos += ((NI) 1);
		}
	} LA1: ;
	endOperator__T14Oe40gZXl9aqVTcFop5rglexer(L, tok, pos, h);
	(*tok).strongSpaceB = ((NI8) 0);
	{
		while (1) {
			if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(32))) goto LA8;
			pos += ((NI) 1);
			(*tok).strongSpaceB += ((NI) 1);
		} LA8: ;
	}
	{
		if (!(((NU8)((*L).Sup.buf[pos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(10)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(0)))) goto LA11_;
		(*tok).strongSpaceB = ((NI8) -1);
	}
	LA11_: ;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI* xi, NI position) {
	switch (((NU8)((*L).Sup.buf[(*L).Sup.bufpos]))) {
	case 48 ... 57:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) - ((NI) 48)));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 97 ... 102:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) - ((NI) 97)) + ((NI) 10)));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 65 ... 70:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) - ((NI) 65)) + ((NI) 10)));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 34:
	case 39:
	{
		{
			tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw T9_;
			NimStringDesc* T10_;
			if (!(((NI) (position)) <= ((NI) 1))) goto LA7_;
			nimZeroMem((void*)(&T9_), sizeof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw));
			T9_.Sup.Sup.m_type = (&NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_);
			nimCopyMem((void*)(&T9_), (NIM_CONST void*)(&(*L)), sizeof(T9_));
			T10_ = (NimStringDesc*)0;
			T10_ = rawNewString(56);
appendString(T10_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_17));
appendChar(T10_, (*L).Sup.buf[(*L).Sup.bufpos]);
appendString(T10_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_18));
			lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&T9_), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T10_);
		}
		LA7_: ;
		{
			if (!(((NI) (position)) == ((NI) 0))) goto LA13_;
			(*L).Sup.bufpos += ((NI) 1);
		}
		LA13_: ;
	}
	break;
	default:
	{
		tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw T16_;
		NimStringDesc* T17_;
		nimZeroMem((void*)(&T16_), sizeof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw));
		T16_.Sup.Sup.m_type = (&NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_);
		nimCopyMem((void*)(&T16_), (NIM_CONST void*)(&(*L)), sizeof(T16_));
		T17_ = (NimStringDesc*)0;
		T17_ = rawNewString(56);
appendString(T17_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_17));
appendChar(T17_, (*L).Sup.buf[(*L).Sup.bufpos]);
appendString(T17_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_18));
		lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&T16_), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T17_);
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	}
}
static N_INLINE(NimStringDesc*, X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
	NimStringDesc* result;
	NI a;
	NI L;
	result = (NimStringDesc*)0;
	a = x.a;
	L = (NI)((NI)(x.b - a) + ((NI) 1));
	result = mnewString(((NI) (L)));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < L)) goto LA3;
				i = i_2;
				result->data[i] = s->data[(NI)(i + a)];
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___BokNSDrKN1xmV1nA01G9brAsystem)(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;
}
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw)(NimStringDesc** s, NI i) {
	NU i_2;
	NI pos;
	i_2 = ((NU) (i));
	pos = ((*s) ? (*s)->Sup.len : 0);
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 127)))) goto LA3_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 1))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) (i_2))));
	}
	goto LA1_;
	LA3_: ;
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 2047)))) goto LA6_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 2))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) | ((NU) 192))))));
		(*s)->data[(NI)(pos + ((NI) 1))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU) 63)) | ((NU) 128))))));
	}
	goto LA1_;
	LA6_: ;
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 65535)))) goto LA9_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 3))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) | ((NU) 224))))));
		(*s)->data[(NI)(pos + ((NI) 1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 2))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU) 63)) | ((NU) 128))))));
	}
	goto LA1_;
	LA9_: ;
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 2097151)))) goto LA12_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 4))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) | ((NU) 240))))));
		(*s)->data[(NI)(pos + ((NI) 1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 3))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU) 63)) | ((NU) 128))))));
	}
	goto LA1_;
	LA12_: ;
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 67108863)))) goto LA15_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 5))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 24))) | ((NU) 248))))));
		(*s)->data[(NI)(pos + ((NI) 1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 3))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 4))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU) 63)) | ((NU) 128))))));
	}
	goto LA1_;
	LA15_: ;
	{
		if (!((NU64)(i_2) <= (NU64)(((NU) 2147483647)))) goto LA18_;
		unsureAsgnRef((void**) (&(*s)), setLengthStr((*s), ((NI) ((NI)(pos + ((NI) 6))))));
		(*s)->data[(NI)(pos + ((NI) 0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 30))) | ((NU) 252))))));
		(*s)->data[(NI)(pos + ((NI) 1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 24))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 18))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 3))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 12))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 4))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI) 6))) & ((NU) 63)) | ((NU) 128))))));
		(*s)->data[(NI)(pos + ((NI) 5))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU) 63)) | ((NU) 128))))));
	}
	goto LA1_;
	LA18_: ;
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__9a0o4lqMp9af3xB2kJQdgHnA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NIM_CHAR first, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(first));
	if (!(T1_)) goto LA2_;
	T1_ = ((second[(NU)(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])))&7U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__u36MigIF5GCG7eO1Pzskuw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NI* xi) {
	{
		while (1) {
			if (!(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) <= ((NU8)(57)))) goto LA2;
			(*xi) = (NI)((NI)((*xi) * ((NI) 10)) + (NI)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) - ((NI) 48)));
			(*L).Sup.bufpos += ((NI) 1);
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__9aV9cE1HeiD7SKKtdj1FAFoQ_6)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	(*L).Sup.bufpos += ((NI) 1);
	switch (((NU8)((*L).Sup.buf[(*L).Sup.bufpos]))) {
	case 110:
	case 78:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 10));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 112:
	case 80:
	{
		{
			if (!((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88))) goto LA5_;
			lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_16));
		}
		LA5_: ;
		unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, ((*(*L).config).target.tnl ? (*(*L).config).target.tnl->Sup.len : 0) + 0));
appendString((*tok).literal, (*(*L).config).target.tnl);
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 114:
	case 82:
	case 99:
	case 67:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 13));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 108:
	case 76:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 10));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 102:
	case 70:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 12));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 101:
	case 69:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 27));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 97:
	case 65:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 7));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 98:
	case 66:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 8));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 118:
	case 86:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 11));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 116:
	case 84:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 9));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 39:
	case 34:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[(*L).Sup.bufpos]));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 92));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	case 120:
	case 88:
	{
		NI xi;
		(*L).Sup.bufpos += ((NI) 1);
		xi = ((NI) 0);
		handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi), ((NI) 1));
		handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi), ((NI) 2));
		unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, ((NIM_CHAR) (((NI) (xi))))));
	}
	break;
	case 117:
	case 85:
	{
		NI xi_2;
		{
			if (!((*tok).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88))) goto LA21_;
			lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_19));
		}
		LA21_: ;
		(*L).Sup.bufpos += ((NI) 1);
		xi_2 = ((NI) 0);
		{
			NI start;
			if (!((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(123))) goto LA25_;
			(*L).Sup.bufpos += ((NI) 1);
			start = (*L).Sup.bufpos;
			{
				while (1) {
					if (!!(((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(125)))) goto LA28;
					handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi_2), ((NI) 0));
				} LA28: ;
			}
			{
				if (!(start == (*L).Sup.bufpos)) goto LA31_;
				lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_20));
			}
			LA31_: ;
			(*L).Sup.bufpos += ((NI) 1);
			{
				NimStringDesc* hex;
				NimStringDesc* T37_;
				NimStringDesc* T38_;
				tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T39_;
				NimStringDesc* T40_;
				if (!(((NI) 1114111) < xi_2)) goto LA35_;
				T37_ = (NimStringDesc*)0;
				T37_ = cstrToNimstr((*L).Sup.buf);
				T38_ = (NimStringDesc*)0;
				T38_ = T37_;
				T39_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(start, (NI)((*L).Sup.bufpos - ((NI) 2)));
				hex = X5BX5D___FPvLvuwqfYMFkcbGfPM8QQsystem(T38_, T39_);
				T40_ = (NimStringDesc*)0;
				T40_ = rawNewString((hex ? hex->Sup.len : 0) + 56);
appendString(T40_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_21));
appendString(T40_, hex);
				lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T40_);
			}
			LA35_: ;
		}
		goto LA23_;
		LA25_: ;
		{
			handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi_2), ((NI) 1));
			handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi_2), ((NI) 2));
			handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi_2), ((NI) 3));
			handleHexChar__4Bo09c1Ojszmshjs9cP09aIrw(L, (&xi_2), ((NI) 4));
		}
		LA23_: ;
		addUnicodeCodePoint__hfrmZOFcI1FsWoynXpd8hw((&(*tok).literal), xi_2);
	}
	break;
	case 48 ... 57:
	{
		NI xi_3;
		{
			NIM_BOOL T45_;
			T45_ = (NIM_BOOL)0;
			T45_ = matchTwoChars__9a0o4lqMp9af3xB2kJQdgHnA((&(*L)), 48, TM__4JpEWnGrmRM8CRqL3P2O1Q_22);
			if (!T45_) goto LA46_;
			lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 13), ((NimStringDesc*) NIM_NIL));
		}
		LA46_: ;
		xi_3 = ((NI) 0);
		handleDecChars__u36MigIF5GCG7eO1Pzskuw(L, (&xi_3));
		{
			if (!(xi_3 <= ((NI) 255))) goto LA50_;
			unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, ((NIM_CHAR) (((NI) (xi_3))))));
		}
		goto LA48_;
		LA50_: ;
		{
			lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_23));
		}
		LA48_: ;
	}
	break;
	default:
	{
		lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_23));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getString__cKrlM9cbL321Totk4ADeBvQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode) {
	NI pos;
	NI line;
	pos = (*L).Sup.bufpos;
	line = (*L).Sup.lineNumber;
	pos += ((NI) 1);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(34));
		if (!(T3_)) goto LA4_;
		T3_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 85);
		pos += ((NI) 2);
		{
			NI newpos;
			if (!(((NU8)((*L).Sup.buf[pos])) == ((NU8)(32)) || ((NU8)((*L).Sup.buf[pos])) == ((NU8)(9)))) goto LA9_;
			newpos = (NI)(pos + ((NI) 1));
			{
				while (1) {
					if (!(((NU8)((*L).Sup.buf[newpos])) == ((NU8)(32)) || ((NU8)((*L).Sup.buf[newpos])) == ((NU8)(9)))) goto LA12;
					newpos += ((NI) 1);
				} LA12: ;
			}
			{
				if (!(((NU8)((*L).Sup.buf[newpos])) == ((NU8)(13)) || ((NU8)((*L).Sup.buf[newpos])) == ((NU8)(10)))) goto LA15_;
				pos = newpos;
			}
			LA15_: ;
		}
		LA9_: ;
		pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
		{
			while (1) {
				switch (((NU8)((*L).Sup.buf[pos]))) {
				case 34:
				{
					{
						NIM_BOOL T22_;
						NIM_BOOL T23_;
						T22_ = (NIM_BOOL)0;
						T23_ = (NIM_BOOL)0;
						T23_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
						if (!(T23_)) goto LA24_;
						T23_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 2))]) == (NU8)(34));
						LA24_: ;
						T22_ = T23_;
						if (!(T22_)) goto LA25_;
						T22_ = !(((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 3))]) == (NU8)(34)));
						LA25_: ;
						if (!T22_) goto LA26_;
						(*L).Sup.bufpos = (NI)(pos + ((NI) 3));
						goto LA17;
					}
					LA26_: ;
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 34));
					pos += ((NI) 1);
				}
				break;
				case 13:
				case 10:
				{
					pos = handleCRLF__8pl2soDPHrJrFwZvSheaQQ(L, pos);
					unsureAsgnRef((void**) (&(*tok).literal), resizeString((*tok).literal, 1));
appendString((*tok).literal, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_8));
				}
				break;
				case 0:
				{
					NI line2;
					line2 = (*L).Sup.lineNumber;
					(*L).Sup.lineNumber = line;
					lexMessagePos__5rgU9cKytSURhhq9cYIjF1KA(L, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), (*L).Sup.lineStart, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_14));
					(*L).Sup.lineNumber = line2;
					(*L).Sup.bufpos = pos;
					goto LA17;
				}
				break;
				default:
				{
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[pos]));
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA17: ;
	}
	goto LA1_;
	LA5_: ;
	{
		{
			if (!!((mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0)))) goto LA34_;
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84);
		}
		goto LA32_;
		LA34_: ;
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83);
		}
		LA32_: ;
		{
			while (1) {
				NIM_CHAR c;
				c = (*L).Sup.buf[pos];
				{
					if (!((NU8)(c) == (NU8)(34))) goto LA41_;
					{
						NIM_BOOL T45_;
						T45_ = (NIM_BOOL)0;
						T45_ = !((mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0)));
						if (!(T45_)) goto LA46_;
						T45_ = ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
						LA46_: ;
						if (!T45_) goto LA47_;
						pos += ((NI) 2);
						unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 34));
					}
					goto LA43_;
					LA47_: ;
					{
						pos += ((NI) 1);
						goto LA37;
					}
					LA43_: ;
				}
				goto LA39_;
				LA41_: ;
				{
					if (!(((NU8)(c)) == ((NU8)(13)) || ((NU8)(c)) == ((NU8)(10)) || ((NU8)(c)) == ((NU8)(0)))) goto LA51_;
					lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_15));
					goto LA37;
				}
				goto LA39_;
				LA51_: ;
				{
					NIM_BOOL T54_;
					T54_ = (NIM_BOOL)0;
					T54_ = ((NU8)(c) == (NU8)(92));
					if (!(T54_)) goto LA55_;
					T54_ = (mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0));
					LA55_: ;
					if (!T54_) goto LA56_;
					(*L).Sup.bufpos = pos;
					getEscapedChar__9aV9cE1HeiD7SKKtdj1FAFoQ_6(L, tok);
					pos = (*L).Sup.bufpos;
				}
				goto LA39_;
				LA56_: ;
				{
					unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, c));
					pos += ((NI) 1);
				}
				LA39_: ;
			}
		} LA37: ;
		(*L).Sup.bufpos = pos;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__9aV9cE1HeiD7SKKtdj1FAFoQ_7)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NIM_CHAR c;
	(*L).Sup.bufpos += ((NI) 1);
	c = (*L).Sup.buf[(*L).Sup.bufpos];
	switch (((NU8)(c))) {
	case 0 ... 31:
	case 39:
	{
		lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_27));
		unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
	}
	break;
	case 92:
	{
		getEscapedChar__9aV9cE1HeiD7SKKtdj1FAFoQ_6(L, tok);
	}
	break;
	default:
	{
		unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
		(*L).Sup.bufpos += ((NI) 1);
	}
	break;
	}
	{
		if (!!(((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(39)))) goto LA6_;
		lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_28));
	}
	LA6_: ;
	(*L).Sup.bufpos += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, matchChars__bHFyY0fIHyqL7zLydgRq9cA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars) {
	NI pos;
	pos = (*L).Sup.bufpos;
	{
		while (1) {
			if (!((chars[(NU)(((NU8)((*L).Sup.buf[pos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[pos])))&7U)))!=0)) goto LA2;
			unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[pos]));
			pos += ((NI) 1);
		} LA2: ;
	}
	(*L).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__kGyfoytmFWEXzCRW182RNw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, NimStringDesc* msg, NI startpos, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msgKind) {
	NI msgPos;
	tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA t;
	NimStringDesc* T11_;
	msgPos = (*L).Sup.bufpos;
	nimZeroMem((void*)(&t), sizeof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA));
	t.literal = ((NimStringDesc*) NIM_NIL);
	(*L).Sup.bufpos = startpos;
	matchChars__bHFyY0fIHyqL7zLydgRq9cA(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_29);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(45)));
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) == ((NU8)(101)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) == ((NU8)(69)));
		LA4_: ;
		if (!T3_) goto LA5_;
		t.literal = addChar(t.literal, (*L).Sup.buf[(*L).Sup.bufpos]);
		(*L).Sup.bufpos += ((NI) 1);
		matchChars__bHFyY0fIHyqL7zLydgRq9cA(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_29);
	}
	LA5_: ;
	{
		if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_30[(NU)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])))&7U)))!=0)) goto LA9_;
		(*L).Sup.bufpos += ((NI) 1);
		t.literal = addChar(t.literal, (*L).Sup.buf[(*L).Sup.bufpos]);
		matchChars__bHFyY0fIHyqL7zLydgRq9cA(L, (&t), TM__4JpEWnGrmRM8CRqL3P2O1Q_22);
	}
	LA9_: ;
	(*L).Sup.bufpos = msgPos;
	T11_ = (NimStringDesc*)0;
	T11_ = nsuFormatSingleElem(msg, t.literal);
	lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), msgKind, T11_);
}
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = (*L).Sup.bufpos;
	result = ((NI) 0);
	{
		while (1) {
			{
				if (!((chars[(NU)(((NU8)((*L).Sup.buf[pos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[pos])))&7U)))!=0)) goto LA5_;
				unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, (*L).Sup.buf[pos]));
				pos += ((NI) 1);
				result += ((NI) 1);
			}
			goto LA3_;
			LA5_: ;
			{
				goto LA1;
			}
			LA3_: ;
			{
				if (!((NU8)((*L).Sup.buf[pos]) == (NU8)(95))) goto LA10_;
				{
					if (!!(((chars[(NU)(((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])))&7U)))!=0))) goto LA14_;
					lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_32));
					goto LA1;
				}
				LA14_: ;
				unsureAsgnRef((void**) (&(*tok).literal), addChar((*tok).literal, 95));
				pos += ((NI) 1);
			}
			LA10_: ;
		}
	} LA1: ;
	(*L).Sup.bufpos = pos;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler__rqLlY5bs9atDw2OXYqJEn5g;
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = s;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = (*excHandler__rqLlY5bs9atDw2OXYqJEn5g).prev;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currException__9bVPeDJlYTi9bQApZpfH8wjg), (*currException__9bVPeDJlYTi9bQApZpfH8wjg).up);
}
N_LIB_PRIVATE N_NIMCALL(void, getNumber__HIIb2qGWrX6bdDncTsehZw)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* result) {
	NI startpos;
	NI endpos;
	NI64 volatile xi;
	NIM_BOOL isBase10;
	NI numDigits;
	NI postPos;
	NI volatile pos;
	TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_40;
	startpos = (NI)0;
	endpos = (NI)0;
	xi = (NI64)0;
	isBase10 = NIM_TRUE;
	numDigits = ((NI) 0);
	(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69);
	unsureAsgnRef((void**) (&(*result).literal), ((NimStringDesc*) NIM_NIL));
	(*result).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 0);
	startpos = (*L).Sup.bufpos;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(48));
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) >= ((NU8)(66)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) <= ((NU8)(67)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) == ((NU8)(79)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) >= ((NU8)(98)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) <= ((NU8)(99)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) == ((NU8)(120)));
		LA4_: ;
		if (!T3_) goto LA5_;
		isBase10 = NIM_FALSE;
		unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 48));
		(*L).Sup.bufpos += ((NI) 1);
		switch (((NU8)((*L).Sup.buf[(*L).Sup.bufpos]))) {
		case 99:
		case 67:
		{
			NI T8_;
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_31), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 16));
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 99));
			(*L).Sup.bufpos += ((NI) 1);
			T8_ = (NI)0;
			T8_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_33);
			numDigits = ((NI) (T8_));
		}
		break;
		case 79:
		{
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_34), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
		}
		break;
		case 120:
		case 88:
		{
			NI T11_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 120));
			(*L).Sup.bufpos += ((NI) 1);
			T11_ = (NI)0;
			T11_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_35);
			numDigits = ((NI) (T11_));
		}
		break;
		case 111:
		{
			NI T13_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 111));
			(*L).Sup.bufpos += ((NI) 1);
			T13_ = (NI)0;
			T13_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_33);
			numDigits = ((NI) (T13_));
		}
		break;
		case 98:
		case 66:
		{
			NI T15_;
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 98));
			(*L).Sup.bufpos += ((NI) 1);
			T15_ = (NI)0;
			T15_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_36);
			numDigits = ((NI) (T15_));
		}
		break;
		default:
		{
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T17_;
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T18_;
			T17_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T17_ = (*L).config;
			T18_ = getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw((&(*L)));
			internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw(T17_, T18_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_37), TM__4JpEWnGrmRM8CRqL3P2O1Q_38);
		}
		break;
		}
		{
			if (!(numDigits == ((NI) 0))) goto LA21_;
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
		}
		LA21_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		NI T24_;
		T24_ = (NI)0;
		T24_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_22);
		(void)(T24_);
		{
			NIM_BOOL T27_;
			NI T31_;
			T27_ = (NIM_BOOL)0;
			T27_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(46));
			if (!(T27_)) goto LA28_;
			T27_ = (((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))])) <= ((NU8)(57)));
			LA28_: ;
			if (!T27_) goto LA29_;
			(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79);
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 46));
			(*L).Sup.bufpos += ((NI) 1);
			T31_ = (NI)0;
			T31_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_22);
			(void)(T31_);
		}
		LA29_: ;
		{
			NI T40_;
			if (!(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(101)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(69)))) goto LA34_;
			(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79);
			unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, 101));
			(*L).Sup.bufpos += ((NI) 1);
			{
				if (!(((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(45)))) goto LA38_;
				unsureAsgnRef((void**) (&(*result).literal), addChar((*result).literal, (*L).Sup.buf[(*L).Sup.bufpos]));
				(*L).Sup.bufpos += ((NI) 1);
			}
			LA38_: ;
			T40_ = (NI)0;
			T40_ = matchUnderscoreChars__jNAyM0HLc9bZ1SzxWHp1DJw(L, result, TM__4JpEWnGrmRM8CRqL3P2O1Q_22);
			(void)(T40_);
		}
		LA34_: ;
	}
	LA1_: ;
	endpos = (*L).Sup.bufpos;
	postPos = endpos;
	{
		if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_30[(NU)(((NU8)((*L).Sup.buf[postPos])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[postPos])))&7U)))!=0)) goto LA43_;
		{
			if (!((NU8)((*L).Sup.buf[postPos]) == (NU8)(39))) goto LA47_;
			postPos += ((NI) 1);
		}
		LA47_: ;
		switch (((NU8)((*L).Sup.buf[postPos]))) {
		case 102:
		case 70:
		{
			postPos += ((NI) 1);
			{
				NIM_BOOL T52_;
				T52_ = (NIM_BOOL)0;
				T52_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(51));
				if (!(T52_)) goto LA53_;
				T52_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(50));
				LA53_: ;
				if (!T52_) goto LA54_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80);
				postPos += ((NI) 2);
			}
			goto LA50_;
			LA54_: ;
			{
				NIM_BOOL T57_;
				T57_ = (NIM_BOOL)0;
				T57_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(54));
				if (!(T57_)) goto LA58_;
				T57_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(52));
				LA58_: ;
				if (!T57_) goto LA59_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81);
				postPos += ((NI) 2);
			}
			goto LA50_;
			LA59_: ;
			{
				NIM_BOOL T62_;
				NIM_BOOL T63_;
				T62_ = (NIM_BOOL)0;
				T63_ = (NIM_BOOL)0;
				T63_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(49));
				if (!(T63_)) goto LA64_;
				T63_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(50));
				LA64_: ;
				T62_ = T63_;
				if (!(T62_)) goto LA65_;
				T62_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 2))]) == (NU8)(56));
				LA65_: ;
				if (!T62_) goto LA66_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82);
				postPos += ((NI) 3);
			}
			goto LA50_;
			LA66_: ;
			{
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80);
			}
			LA50_: ;
		}
		break;
		case 100:
		case 68:
		{
			postPos += ((NI) 1);
			(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81);
		}
		break;
		case 105:
		case 73:
		{
			postPos += ((NI) 1);
			{
				NIM_BOOL T73_;
				T73_ = (NIM_BOOL)0;
				T73_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(54));
				if (!(T73_)) goto LA74_;
				T73_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(52));
				LA74_: ;
				if (!T73_) goto LA75_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73);
				postPos += ((NI) 2);
			}
			goto LA71_;
			LA75_: ;
			{
				NIM_BOOL T78_;
				T78_ = (NIM_BOOL)0;
				T78_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(51));
				if (!(T78_)) goto LA79_;
				T78_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(50));
				LA79_: ;
				if (!T78_) goto LA80_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72);
				postPos += ((NI) 2);
			}
			goto LA71_;
			LA80_: ;
			{
				NIM_BOOL T83_;
				T83_ = (NIM_BOOL)0;
				T83_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(49));
				if (!(T83_)) goto LA84_;
				T83_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(54));
				LA84_: ;
				if (!T83_) goto LA85_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71);
				postPos += ((NI) 2);
			}
			goto LA71_;
			LA85_: ;
			{
				if (!((NU8)((*L).Sup.buf[postPos]) == (NU8)(56))) goto LA88_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70);
				postPos += ((NI) 1);
			}
			goto LA71_;
			LA88_: ;
			{
				lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
			}
			LA71_: ;
		}
		break;
		case 117:
		case 85:
		{
			postPos += ((NI) 1);
			{
				NIM_BOOL T94_;
				T94_ = (NIM_BOOL)0;
				T94_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(54));
				if (!(T94_)) goto LA95_;
				T94_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(52));
				LA95_: ;
				if (!T94_) goto LA96_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78);
				postPos += ((NI) 2);
			}
			goto LA92_;
			LA96_: ;
			{
				NIM_BOOL T99_;
				T99_ = (NIM_BOOL)0;
				T99_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(51));
				if (!(T99_)) goto LA100_;
				T99_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(50));
				LA100_: ;
				if (!T99_) goto LA101_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77);
				postPos += ((NI) 2);
			}
			goto LA92_;
			LA101_: ;
			{
				NIM_BOOL T104_;
				T104_ = (NIM_BOOL)0;
				T104_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(49));
				if (!(T104_)) goto LA105_;
				T104_ = ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))]) == (NU8)(54));
				LA105_: ;
				if (!T104_) goto LA106_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76);
				postPos += ((NI) 2);
			}
			goto LA92_;
			LA106_: ;
			{
				if (!((NU8)((*L).Sup.buf[postPos]) == (NU8)(56))) goto LA109_;
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75);
				postPos += ((NI) 1);
			}
			goto LA92_;
			LA109_: ;
			{
				(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74);
			}
			LA92_: ;
		}
		break;
		default:
		{
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
		}
		break;
		}
	}
	LA43_: ;
	{
		NIM_BOOL T115_;
		NIM_BOOL T117_;
		T115_ = (NIM_BOOL)0;
		T115_ = (((NU8)((*L).Sup.buf[postPos])) == ((NU8)(39)) || ((NU8)((*L).Sup.buf[postPos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[postPos])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf[postPos])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf[postPos])) <= ((NU8)(70)) || ((NU8)((*L).Sup.buf[postPos])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf[postPos])) == ((NU8)(95)) || ((NU8)((*L).Sup.buf[postPos])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf[postPos])) <= ((NU8)(102)) || ((NU8)((*L).Sup.buf[postPos])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf[postPos])) == ((NU8)(120)));
		if (T115_) goto LA116_;
		T117_ = (NIM_BOOL)0;
		T117_ = ((NU8)((*L).Sup.buf[postPos]) == (NU8)(46));
		if (!(T117_)) goto LA118_;
		T117_ = (((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(NI)(postPos + ((NI) 1))])) <= ((NU8)(57)));
		LA118_: ;
		T115_ = T117_;
		LA116_: ;
		if (!T115_) goto LA119_;
		lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
	}
	LA119_: ;
	(*L).Sup.bufpos = startpos;
	pos = startpos;
	pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
	TM__4JpEWnGrmRM8CRqL3P2O1Q_40.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_40.context);
	if (TM__4JpEWnGrmRM8CRqL3P2O1Q_40.status == 0) {
	{
		NIM_BOOL T123_;
		T123_ = (NIM_BOOL)0;
		T123_ = ((NU8)((*L).Sup.buf[pos]) == (NU8)(48));
		if (!(T123_)) goto LA124_;
		T123_ = (((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(88)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(120)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(111)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(98)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(66)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(99)) || ((NU8)((*L).Sup.buf[(NI)(pos + ((NI) 1))])) == ((NU8)(67)));
		LA124_: ;
		if (!T123_) goto LA125_;
		pos += ((NI) 2);
		xi = IL64(0);
		switch (((NU8)((*L).Sup.buf[(NI)(pos - ((NI) 1))]))) {
		case 98:
		case 66:
		{
			(*result).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 1);
			{
				while (1) {
					if (!(pos < endpos)) goto LA129;
					{
						if (!!(((NU8)((*L).Sup.buf[pos]) == (NU8)(95)))) goto LA132_;
						xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 1))) | ((NI64) ((NI)(((NU8)((*L).Sup.buf[pos])) - ((NI) 48)))));
					}
					LA132_: ;
					pos += ((NI) 1);
				} LA129: ;
			}
		}
		break;
		case 111:
		case 99:
		case 67:
		{
			(*result).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 2);
			{
				while (1) {
					if (!(pos < endpos)) goto LA136;
					{
						if (!!(((NU8)((*L).Sup.buf[pos]) == (NU8)(95)))) goto LA139_;
						xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 3))) | ((NI64) ((NI)(((NU8)((*L).Sup.buf[pos])) - ((NI) 48)))));
					}
					LA139_: ;
					pos += ((NI) 1);
				} LA136: ;
			}
		}
		break;
		case 120:
		case 88:
		{
			(*result).base = ((tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog) 3);
			{
				while (1) {
					if (!(pos < endpos)) goto LA143;
					switch (((NU8)((*L).Sup.buf[pos]))) {
					case 95:
					{
						pos += ((NI) 1);
					}
					break;
					case 48 ... 57:
					{
						xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)(((NU8)((*L).Sup.buf[pos])) - ((NI) 48)))));
						pos += ((NI) 1);
					}
					break;
					case 97 ... 102:
					{
						xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)((NI)(((NU8)((*L).Sup.buf[pos])) - ((NI) 97)) + ((NI) 10)))));
						pos += ((NI) 1);
					}
					break;
					case 65 ... 70:
					{
						xi = (NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 4))) | ((NI64) ((NI)((NI)(((NU8)((*L).Sup.buf[pos])) - ((NI) 65)) + ((NI) 10)))));
						pos += ((NI) 1);
					}
					break;
					default:
					{
						goto LA142;
					}
					break;
					}
				} LA143: ;
			} LA142: ;
		}
		break;
		default:
		{
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T150_;
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T151_;
			T150_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T150_ = (*L).config;
			T151_ = getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw((&(*L)));
			internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw(T150_, T151_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_37), TM__4JpEWnGrmRM8CRqL3P2O1Q_41);
		}
		break;
		}
		switch ((*result).tokType) {
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69):
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73):
		{
			(*result).iNumber = xi;
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70):
		{
			(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 56)))) >> (NU64)(((NI) 56)));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71):
		{
			(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 48)))) >> (NU64)(((NI) 48)));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72):
		{
			(*result).iNumber = (NI64)((NI64)((NI64)((NU64)(xi) << (NU64)(((NI) 32)))) >> (NU64)(((NI) 32)));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74):
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78):
		{
			(*result).iNumber = xi;
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75):
		{
			(*result).iNumber = (NI64)(xi & IL64(255));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76):
		{
			(*result).iNumber = (NI64)(xi & IL64(65535));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77):
		{
			(*result).iNumber = (NI64)(xi & IL64(4294967295));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80):
		{
			(*result).fNumber = ((NF) ((*((NF32*) ((&xi))))));
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81):
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79):
		{
			(*result).fNumber = (*((NF*) ((&xi))));
		}
		break;
		default:
		{
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T163_;
			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T164_;
			T163_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T163_ = (*L).config;
			T164_ = getLineInfo__ZRkt29ch5I9aDZTfOB0aZcIw((&(*L)));
			internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw(T163_, T164_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_37), TM__4JpEWnGrmRM8CRqL3P2O1Q_42);
		}
		break;
		}
		{
			NIM_BOOL outOfRange;
			if (!!(((*result).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79) || (*result).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80) || (*result).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81) || (*result).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82)))) goto LA167_;
			switch ((*result).tokType) {
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75):
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76):
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77):
			{
				outOfRange = !(((*result).iNumber == xi));
			}
			break;
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70):
			{
				outOfRange = (IL64(255) < xi);
			}
			break;
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71):
			{
				outOfRange = (IL64(65535) < xi);
			}
			break;
			case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72):
			{
				outOfRange = (IL64(4294967295) < xi);
			}
			break;
			default:
			{
				outOfRange = NIM_FALSE;
			}
			break;
			}
			{
				if (!outOfRange) goto LA176_;
				lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_43), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
			}
			LA176_: ;
		}
		LA167_: ;
	}
	goto LA121_;
	LA125_: ;
	{
		NIM_BOOL outOfRange_2;
		switch ((*result).tokType) {
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82):
		{
			(*result).fNumber = nsuParseFloat((*result).literal);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78):
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74):
		{
			NU64 iNumber;
			NI volatile len;
			TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_44;
			iNumber = (NU64)0;
			len = (NI)0;
			pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_44);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_44.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_44.context);
			if (TM__4JpEWnGrmRM8CRqL3P2O1Q_44.status == 0) {
			len = npuParseBiggestUInt((*result).literal, (&iNumber), ((NI) 0));
			popSafePoint();
			}
			else {
				popSafePoint();
				if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
					tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* T183_;
					NimStringDesc* T184_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_44.status = 0;
					T183_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*)0;
					T183_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*) newObj((&NTI__r8GBEWywN07B3Rat3azS4Q_), sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ));
					(*T183_).Sup.Sup.Sup.Sup.m_type = (&NTI__9cxMi1BPLc3UKt9br86bGfGQ_);
					(*T183_).Sup.Sup.Sup.name = "OverflowDefect";
					T184_ = (NimStringDesc*)0;
					T184_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 21);
appendString(T184_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_45));
appendString(T184_, (*result).literal);
					asgnRef((void**) (&(*T183_).Sup.Sup.Sup.message), T184_);
					asgnRef((void**) (&(*T183_).Sup.Sup.Sup.parent), NIM_NIL);
					raiseExceptionEx((Exception*)T183_, "OverflowDefect", "getNumber", "lexer.nim", 568);
					popCurrentException();
				}
			}
			if (TM__4JpEWnGrmRM8CRqL3P2O1Q_44.status != 0) reraiseException();
			{
				tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T189_;
				NimStringDesc* T190_;
				if (!!((len == ((*result).literal ? (*result).literal->Sup.len : 0)))) goto LA187_;
				T189_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)0;
				T189_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTI__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
				(*T189_).Sup.Sup.Sup.m_type = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
				(*T189_).Sup.Sup.name = "ValueError";
				T190_ = (NimStringDesc*)0;
				T190_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 17);
appendString(T190_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_46));
appendString(T190_, (*result).literal);
				asgnRef((void**) (&(*T189_).Sup.Sup.message), T190_);
				asgnRef((void**) (&(*T189_).Sup.Sup.parent), NIM_NIL);
				raiseExceptionEx((Exception*)T189_, "ValueError", "getNumber", "lexer.nim", 570);
			}
			LA187_: ;
			(*result).iNumber = ((NI64) (iNumber));
		}
		break;
		default:
		{
			NI64 iNumber_2;
			NI volatile len_2;
			TSafePoint TM__4JpEWnGrmRM8CRqL3P2O1Q_47;
			iNumber_2 = (NI64)0;
			len_2 = (NI)0;
			pushSafePoint(&TM__4JpEWnGrmRM8CRqL3P2O1Q_47);
			TM__4JpEWnGrmRM8CRqL3P2O1Q_47.status = _setjmp(TM__4JpEWnGrmRM8CRqL3P2O1Q_47.context);
			if (TM__4JpEWnGrmRM8CRqL3P2O1Q_47.status == 0) {
			len_2 = npuParseBiggestInt((*result).literal, (&iNumber_2), ((NI) 0));
			popSafePoint();
			}
			else {
				popSafePoint();
				if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
					tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* T194_;
					NimStringDesc* T195_;
					TM__4JpEWnGrmRM8CRqL3P2O1Q_47.status = 0;
					T194_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*)0;
					T194_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*) newObj((&NTI__r8GBEWywN07B3Rat3azS4Q_), sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ));
					(*T194_).Sup.Sup.Sup.Sup.m_type = (&NTI__9cxMi1BPLc3UKt9br86bGfGQ_);
					(*T194_).Sup.Sup.Sup.name = "OverflowDefect";
					T195_ = (NimStringDesc*)0;
					T195_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 21);
appendString(T195_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_45));
appendString(T195_, (*result).literal);
					asgnRef((void**) (&(*T194_).Sup.Sup.Sup.message), T195_);
					asgnRef((void**) (&(*T194_).Sup.Sup.Sup.parent), NIM_NIL);
					raiseExceptionEx((Exception*)T194_, "OverflowDefect", "getNumber", "lexer.nim", 578);
					popCurrentException();
				}
			}
			if (TM__4JpEWnGrmRM8CRqL3P2O1Q_47.status != 0) reraiseException();
			{
				tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T200_;
				NimStringDesc* T201_;
				if (!!((len_2 == ((*result).literal ? (*result).literal->Sup.len : 0)))) goto LA198_;
				T200_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)0;
				T200_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTI__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
				(*T200_).Sup.Sup.Sup.m_type = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
				(*T200_).Sup.Sup.name = "ValueError";
				T201_ = (NimStringDesc*)0;
				T201_ = rawNewString(((*result).literal ? (*result).literal->Sup.len : 0) + 17);
appendString(T201_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_46));
appendString(T201_, (*result).literal);
				asgnRef((void**) (&(*T200_).Sup.Sup.message), T201_);
				asgnRef((void**) (&(*T200_).Sup.Sup.parent), NIM_NIL);
				raiseExceptionEx((Exception*)T200_, "ValueError", "getNumber", "lexer.nim", 580);
			}
			LA198_: ;
			(*result).iNumber = iNumber_2;
		}
		break;
		}
		switch ((*result).tokType) {
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70):
		{
			outOfRange_2 = (IL64(127) < (*result).iNumber);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75):
		{
			outOfRange_2 = (IL64(255) < (*result).iNumber);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71):
		{
			outOfRange_2 = (IL64(32767) < (*result).iNumber);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76):
		{
			outOfRange_2 = (IL64(65535) < (*result).iNumber);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72):
		{
			outOfRange_2 = (IL64(2147483647) < (*result).iNumber);
		}
		break;
		case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77):
		{
			outOfRange_2 = (IL64(4294967295) < (*result).iNumber);
		}
		break;
		default:
		{
			outOfRange_2 = NIM_FALSE;
		}
		break;
		}
		{
			if (!outOfRange_2) goto LA211_;
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_43), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
		}
		LA211_: ;
	}
	LA121_: ;
	{
		if (!((*result).tokType == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69))) goto LA215_;
		{
			if (!(IL64(2147483647) < (*result).iNumber)) goto LA219_;
			(*result).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73);
		}
		LA219_: ;
	}
	LA215_: ;
	popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
			TM__4JpEWnGrmRM8CRqL3P2O1Q_40.status = 0;
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_39), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
			popCurrentException();
		}
		else 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__9cxMi1BPLc3UKt9br86bGfGQ_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__Rp9adJYTsbbIUzQ8fWxwgdA_))) {
			TM__4JpEWnGrmRM8CRqL3P2O1Q_40.status = 0;
			lexMessageLitNum__kGyfoytmFWEXzCRW182RNw(L, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_43), startpos, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10));
			popCurrentException();
		}
	}
	if (TM__4JpEWnGrmRM8CRqL3P2O1Q_40.status != 0) reraiseException();
	(*L).Sup.bufpos = postPos;
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__9aV9cE1HeiD7SKKtdj1FAFoQ)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NIM_CHAR c;
	fillToken__hOE5pLJGKF2PYhldDgGvPQ_2(tok);
	{
		if (!(((NI) 0) <= (*L).indentAhead)) goto LA3_;
		(*tok).indent = (*L).indentAhead;
		(*L).currLineIndent = (*L).indentAhead;
		(*L).indentAhead = ((NI) -1);
	}
	goto LA1_;
	LA3_: ;
	{
		(*tok).indent = ((NI) -1);
	}
	LA1_: ;
	skip__9aV9cE1HeiD7SKKtdj1FAFoQ_2(L, tok);
	c = (*L).Sup.buf[(*L).Sup.bufpos];
	(*tok).line = (*L).Sup.lineNumber;
	(*tok).col = getColNumber__D0ufm9c9azweHuDkFTPoIzqQ((&(*L).Sup), (*L).Sup.bufpos);
	{
		if (!(((NU8)(c)) >= ((NU8)(65)) && ((NU8)(c)) <= ((NU8)(81)) || ((NU8)(c)) >= ((NU8)(83)) && ((NU8)(c)) <= ((NU8)(90)) || ((NU8)(c)) >= ((NU8)(97)) && ((NU8)(c)) <= ((NU8)(113)) || ((NU8)(c)) >= ((NU8)(115)) && ((NU8)(c)) <= ((NU8)(122)) || ((NU8)(c)) >= ((NU8)(128)) && ((NU8)(c)) <= ((NU8)(255)))) goto LA8_;
		getSymbol__9aV9cE1HeiD7SKKtdj1FAFoQ_3(L, tok);
	}
	goto LA6_;
	LA8_: ;
	{
		switch (((NU8)(c))) {
		case 35:
		{
			scanComment__9aV9cE1HeiD7SKKtdj1FAFoQ_4(L, tok);
		}
		break;
		case 42:
		{
			{
				NIM_BOOL T15_;
				NI h;
				tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* T19_;
				T15_ = (NIM_BOOL)0;
				T15_ = ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(58));
				if (!(T15_)) goto LA16_;
				T15_ = !(((TM__4JpEWnGrmRM8CRqL3P2O1Q_13[(NU)(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 2))])))>>3] &(1U<<((NU)(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 2))])))&7U)))!=0));
				LA16_: ;
				if (!T15_) goto LA17_;
				h = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(((NI) 0), ((NI) 42));
				T19_ = (tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw*)0;
				T19_ = L;
				endOperator__T14Oe40gZXl9aqVTcFop5rglexer(T19_, tok, (NI)((*L).Sup.bufpos + ((NI) 1)), h);
			}
			goto LA13_;
			LA17_: ;
			{
				getOperator__9aV9cE1HeiD7SKKtdj1FAFoQ_5(L, tok);
			}
			LA13_: ;
		}
		break;
		case 44:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 114:
		case 82:
		{
			{
				if (!((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(34))) goto LA25_;
				(*L).Sup.bufpos += ((NI) 1);
				getString__cKrlM9cbL321Totk4ADeBvQ(L, tok, ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 1));
			}
			goto LA23_;
			LA25_: ;
			{
				getSymbol__9aV9cE1HeiD7SKKtdj1FAFoQ_3(L, tok);
			}
			LA23_: ;
		}
		break;
		case 40:
		{
			(*L).Sup.bufpos += ((NI) 1);
			{
				NIM_BOOL T31_;
				T31_ = (NIM_BOOL)0;
				T31_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T31_)) goto LA32_;
				T31_ = !(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(46)));
				LA32_: ;
				if (!T31_) goto LA33_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 99);
				(*L).Sup.bufpos += ((NI) 1);
			}
			goto LA29_;
			LA33_: ;
			{
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89);
			}
			LA29_: ;
		}
		break;
		case 41:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 91:
		{
			(*L).Sup.bufpos += ((NI) 1);
			{
				NIM_BOOL T40_;
				T40_ = (NIM_BOOL)0;
				T40_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T40_)) goto LA41_;
				T40_ = !(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(46)));
				LA41_: ;
				if (!T40_) goto LA42_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95);
				(*L).Sup.bufpos += ((NI) 1);
			}
			goto LA38_;
			LA42_: ;
			{
				if (!((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(58))) goto LA45_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108);
				(*L).Sup.bufpos += ((NI) 1);
			}
			goto LA38_;
			LA45_: ;
			{
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91);
			}
			LA38_: ;
		}
		break;
		case 93:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 46:
		{
			{
				if (!((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(93))) goto LA52_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 96);
				(*L).Sup.bufpos += ((NI) 2);
			}
			goto LA50_;
			LA52_: ;
			{
				if (!((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(125))) goto LA55_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98);
				(*L).Sup.bufpos += ((NI) 2);
			}
			goto LA50_;
			LA55_: ;
			{
				if (!((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(41))) goto LA58_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 100);
				(*L).Sup.bufpos += ((NI) 2);
			}
			goto LA50_;
			LA58_: ;
			{
				getOperator__9aV9cE1HeiD7SKKtdj1FAFoQ_5(L, tok);
			}
			LA50_: ;
		}
		break;
		case 123:
		{
			(*L).Sup.bufpos += ((NI) 1);
			{
				NIM_BOOL T64_;
				T64_ = (NIM_BOOL)0;
				T64_ = ((NU8)((*L).Sup.buf[(*L).Sup.bufpos]) == (NU8)(46));
				if (!(T64_)) goto LA65_;
				T64_ = !(((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos + ((NI) 1))]) == (NU8)(46)));
				LA65_: ;
				if (!T64_) goto LA66_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 97);
				(*L).Sup.bufpos += ((NI) 1);
			}
			goto LA62_;
			LA66_: ;
			{
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93);
			}
			LA62_: ;
		}
		break;
		case 125:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 59:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 96:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111);
			(*L).Sup.bufpos += ((NI) 1);
		}
		break;
		case 95:
		{
			(*L).Sup.bufpos += ((NI) 1);
			{
				if (!!((((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) == ((NU8)(95)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf[(*L).Sup.bufpos])) <= ((NU8)(255))))) goto LA75_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
				unsureAsgnRef((void**) (&(*tok).ident), getIdent__9coBOmdXN09be4rJvXK6fQGQ((*L).cache, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_24)));
			}
			goto LA73_;
			LA75_: ;
			{
				NimStringDesc* T78_;
				NimStringDesc* T79_;
				unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0);
				T78_ = (NimStringDesc*)0;
				T79_ = (NimStringDesc*)0;
				T79_ = nimIntToStr(((NU8)(c)));
				T78_ = rawNewString((T79_ ? T79_->Sup.len : 0) + 20);
appendString(T78_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_25));
appendChar(T78_, c);
appendString(T78_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_26));
appendString(T78_, T79_);
appendChar(T78_, 41);
				lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T78_);
			}
			LA73_: ;
		}
		break;
		case 34:
		{
			tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ mode;
			{
				NIM_BOOL T83_;
				T83_ = (NIM_BOOL)0;
				T83_ = (((NI) 0) < (*L).Sup.bufpos);
				if (!(T83_)) goto LA84_;
				T83_ = (((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) >= ((NU8)(97)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) <= ((NU8)(122)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) >= ((NU8)(65)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) <= ((NU8)(90)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) >= ((NU8)(48)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) <= ((NU8)(57)) || ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) >= ((NU8)(128)) && ((NU8)((*L).Sup.buf[(NI)((*L).Sup.bufpos - ((NI) 1))])) <= ((NU8)(255)));
				LA84_: ;
				if (!T83_) goto LA85_;
				mode = ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 2);
			}
			goto LA81_;
			LA85_: ;
			{
				mode = ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 0);
			}
			LA81_: ;
			getString__cKrlM9cbL321Totk4ADeBvQ(L, tok, mode);
			{
				if (!(mode == ((tyEnum_StringMode__nSovsy4OWY2URVkgcoWPUQ) 2))) goto LA90_;
				(*tok).tokType += ((NI) 2);
			}
			LA90_: ;
		}
		break;
		case 39:
		{
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88);
			getCharacter__9aV9cE1HeiD7SKKtdj1FAFoQ_7(L, tok);
			(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88);
		}
		break;
		case 48 ... 57:
		{
			NIM_CHAR c_2;
			getNumber__HIIb2qGWrX6bdDncTsehZw(L, tok);
			c_2 = (*L).Sup.buf[(*L).Sup.bufpos];
			{
				if (!(((NU8)(c_2)) >= ((NU8)(48)) && ((NU8)(c_2)) <= ((NU8)(57)) || ((NU8)(c_2)) >= ((NU8)(65)) && ((NU8)(c_2)) <= ((NU8)(90)) || ((NU8)(c_2)) == ((NU8)(95)) || ((NU8)(c_2)) >= ((NU8)(97)) && ((NU8)(c_2)) <= ((NU8)(122)) || ((NU8)(c_2)) >= ((NU8)(128)) && ((NU8)(c_2)) <= ((NU8)(255)))) goto LA96_;
				lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_48));
			}
			LA96_: ;
		}
		break;
		default:
		{
			{
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_13[(NU)(((NU8)(c)))>>3] &(1U<<((NU)(((NU8)(c)))&7U)))!=0)) goto LA101_;
				getOperator__9aV9cE1HeiD7SKKtdj1FAFoQ_5(L, tok);
			}
			goto LA99_;
			LA101_: ;
			{
				if (!((NU8)(c) == (NU8)(0))) goto LA104_;
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1);
				(*tok).indent = ((NI) 0);
			}
			goto LA99_;
			LA104_: ;
			{
				NimStringDesc* T107_;
				NimStringDesc* T108_;
				unsureAsgnRef((void**) (&(*tok).literal), nimCharToStr(c));
				(*tok).tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0);
				T107_ = (NimStringDesc*)0;
				T108_ = (NimStringDesc*)0;
				T108_ = nimIntToStr(((NU8)(c)));
				T107_ = rawNewString((T108_ ? T108_->Sup.len : 0) + 20);
appendString(T107_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_25));
appendChar(T107_, c);
appendString(T107_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_26));
appendString(T107_, T108_);
appendChar(T107_, 41);
				lexMessage__EGsrb8R3hrhCHPuIqcgh1w((&(*L)), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T107_);
				(*L).Sup.bufpos += ((NI) 1);
			}
			LA99_: ;
		}
		break;
		}
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___PB6jYA2RGAC8IiD19cWHRSA)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*tok).tokType) {
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73):
	{
		result = nimInt64ToStr((*tok).iNumber);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81):
	{
		result = nimFloatToStr((*tok).fNumber);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110):
	{
		result = copyString((*tok).literal);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89) ... ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111):
	{
		result = copyString(TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]);
	}
	break;
	default:
	{
		{
			if (!!(((*tok).ident == NIM_NIL))) goto LA8_;
			result = copyString((*(*tok).ident).s);
		}
		goto LA6_;
		LA8_: ;
		{
			result = ((NimStringDesc*) NIM_NIL);
		}
		LA6_: ;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__DwtnSrPK9cWJ9csJe89cdABpA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* lex) {
	tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag* T5_;
	{
		if (!!(((*lex).config == NIM_NIL))) goto LA3_;
		(*(*lex).config).linesCompiled += (*lex).Sup.lineNumber;
	}
	LA3_: ;
	T5_ = (tyObject_TBaseLexer__jTxk7Uc2dfr9aTDL2dZhO9ag*)0;
	T5_ = &lex->Sup;
	closeBaseLexer__X9aea9bJavePT9cGIdd7JRH7Q_3(T5_);
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__6FtmrLK9aRc3HYYRF1awEpA)(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw* L, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok, NimStringDesc* arg) {
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
	info = newLineInfo__NPagzbOMpGo9aqJmfnDrITg((*L).fileIdx, (*tok).line, (*tok).col);
	dispMessage__mCaRH8Nx3jETXIC9as7yiZg(L, info, msg, arg);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__p9cg9bTiLklv9a0RqQs8obp9aA)(tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3) <= kind);
	if (!(T1_)) goto LA2_;
	T1_ = (kind <= ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prettyTok__PB6jYA2RGAC8IiD19cWHRSA_2)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		NimStringDesc* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isKeyword__p9cg9bTiLklv9a0RqQs8obp9aA((*tok).tokType);
		if (!T3_) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString(((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0) + 8);
appendString(T6_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_172));
appendString(T6_, (*(*tok).ident).s);
		result = T6_;
	}
	goto LA1_;
	LA4_: ;
	{
		result = dollar___PB6jYA2RGAC8IiD19cWHRSA(tok);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_CHAR, X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem)(NimStringDesc* s, NI i) {
	NIM_CHAR result;
	result = (NIM_CHAR)0;
	result = s->data[(NI)((s ? s->Sup.len : 0) - i)];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__550NPbPmWDuMCBxeVYaWWg)(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NI result;
{	result = (NI)0;
	switch ((*tok).tokType) {
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109):
	{
		NIM_CHAR relevantChar;
		relevantChar = (*(*tok).ident).s->data[((NI) 0)];
		{
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NIM_CHAR T7_;
			NIM_CHAR T9_;
			T4_ = (NIM_BOOL)0;
			T5_ = (NIM_BOOL)0;
			T5_ = (((NI) 1) < ((*(*tok).ident).s ? (*(*tok).ident).s->Sup.len : 0));
			if (!(T5_)) goto LA6_;
			T7_ = (NIM_CHAR)0;
			T7_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
			T5_ = ((NU8)(T7_) == (NU8)(62));
			LA6_: ;
			T4_ = T5_;
			if (!(T4_)) goto LA8_;
			T9_ = (NIM_CHAR)0;
			T9_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 2));
			T4_ = (((NU8)(T9_)) == ((NU8)(45)) || ((NU8)(T9_)) == ((NU8)(126)) || ((NU8)(T9_)) == ((NU8)(61)));
			LA8_: ;
			if (!T4_) goto LA10_;
			result = ((NI) 1);
			goto BeforeRet_;
		}
		LA10_: ;
		switch (((NU8)(relevantChar))) {
		case 36:
		case 94:
		{
			{
				NIM_CHAR T15_;
				T15_ = (NIM_CHAR)0;
				T15_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T15_) == (NU8)(61))) goto LA16_;
				result = ((NI) 1);
			}
			goto LA13_;
			LA16_: ;
			{
				result = ((NI) 10);
			}
			LA13_: ;
		}
		break;
		case 42:
		case 37:
		case 47:
		case 92:
		{
			{
				NIM_CHAR T22_;
				T22_ = (NIM_CHAR)0;
				T22_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T22_) == (NU8)(61))) goto LA23_;
				result = ((NI) 1);
			}
			goto LA20_;
			LA23_: ;
			{
				result = ((NI) 9);
			}
			LA20_: ;
		}
		break;
		case 126:
		{
			result = ((NI) 8);
		}
		break;
		case 43:
		case 45:
		case 124:
		{
			{
				NIM_CHAR T30_;
				T30_ = (NIM_CHAR)0;
				T30_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T30_) == (NU8)(61))) goto LA31_;
				result = ((NI) 1);
			}
			goto LA28_;
			LA31_: ;
			{
				result = ((NI) 8);
			}
			LA28_: ;
		}
		break;
		case 38:
		{
			{
				NIM_CHAR T37_;
				T37_ = (NIM_CHAR)0;
				T37_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T37_) == (NU8)(61))) goto LA38_;
				result = ((NI) 1);
			}
			goto LA35_;
			LA38_: ;
			{
				result = ((NI) 7);
			}
			LA35_: ;
		}
		break;
		case 61:
		case 60:
		case 62:
		case 33:
		{
			result = ((NI) 5);
		}
		break;
		case 46:
		{
			{
				NIM_CHAR T45_;
				T45_ = (NIM_CHAR)0;
				T45_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T45_) == (NU8)(61))) goto LA46_;
				result = ((NI) 1);
			}
			goto LA43_;
			LA46_: ;
			{
				result = ((NI) 6);
			}
			LA43_: ;
		}
		break;
		case 63:
		{
			result = ((NI) 2);
		}
		break;
		default:
		{
			{
				NIM_CHAR T53_;
				T53_ = (NIM_CHAR)0;
				T53_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*(*tok).ident).s, ((NI) 1));
				if (!((NU8)(T53_) == (NU8)(61))) goto LA54_;
				result = ((NI) 1);
			}
			goto LA51_;
			LA54_: ;
			{
				result = ((NI) 2);
			}
			LA51_: ;
		}
		break;
		}
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 19):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 43):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 56):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 57):
	{
		result = ((NI) 9);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107):
	{
		result = ((NI) 6);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 46):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 36):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 37):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 5):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 29):
	{
		result = ((NI) 5);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 4):
	{
		result = ((NI) 4);
	}
	break;
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 49):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 67):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52):
	case ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54):
	{
		result = ((NI) 3);
	}
	break;
	default:
	{
		result = ((NI) -10);
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__RPVlURtov7G07Wgl1Pwc9cAsystem)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s.a <= value);
	if (!(T1_)) goto LA2_;
	T1_ = (value <= s.b);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__xjNws35CZ6ofA0bs473Heg)(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident) {
	NI result;
	tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA tok;
	result = (NI)0;
	nimZeroMem((void*)(&tok), sizeof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA));
	initToken__hOE5pLJGKF2PYhldDgGvPQ((&tok));
	tok.ident = ident;
	{
		tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T3_;
		NIM_BOOL T4_;
		T3_ = dotdot___BokNSDrKN1xmV1nA01G9brAsystem(((NI) 1), ((NI) 66));
		T4_ = (NIM_BOOL)0;
		T4_ = contains__RPVlURtov7G07Wgl1Pwc9cAsystem(T3_, (*tok.ident).Sup.id);
		if (!T4_) goto LA5_;
		tok.tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) ((NI)((*tok.ident).Sup.id + ((NI) 2))));
	}
	goto LA1_;
	LA5_: ;
	{
		tok.tokType = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109);
	}
	LA1_: ;
	result = getPrecedence__550NPbPmWDuMCBxeVYaWWg((&tok));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNimIdentifier__IzgWZFLZbxyANl3JI6qyFw)(NimStringDesc* s) {
	NIM_BOOL result;
	NI sLen;
{	result = (NIM_BOOL)0;
	sLen = (s ? s->Sup.len : 0);
	{
		NIM_BOOL T3_;
		NI i;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < sLen);
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)(s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(255)));
		LA4_: ;
		if (!T3_) goto LA5_;
		i = ((NI) 1);
		{
			while (1) {
				if (!(i < sLen)) goto LA8;
				{
					if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA11_;
					i += ((NI) 1);
				}
				LA11_: ;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = (i < sLen);
					if (!(T15_)) goto LA16_;
					T15_ = !((((NU8)(s->data[i])) >= ((NU8)(97)) && ((NU8)(s->data[i])) <= ((NU8)(122)) || ((NU8)(s->data[i])) >= ((NU8)(65)) && ((NU8)(s->data[i])) <= ((NU8)(90)) || ((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)) || ((NU8)(s->data[i])) >= ((NU8)(128)) && ((NU8)(s->data[i])) <= ((NU8)(255))));
					LA16_: ;
					if (!T15_) goto LA17_;
					goto BeforeRet_;
				}
				LA17_: ;
				i += ((NI) 1);
			} LA8: ;
		}
		result = NIM_TRUE;
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, printTok__4skBakttVk9bVO8OszeMpMg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA* tok) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	T1_ = (NimStringDesc*)0;
	T2_ = (NimStringDesc*)0;
	T2_ = nimIntToStr((*tok).line);
	T3_ = (NimStringDesc*)0;
	T3_ = nimIntToStr((*tok).col);
	T4_ = (NimStringDesc*)0;
	T4_ = dollar___PB6jYA2RGAC8IiD19cWHRSA(tok);
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T3_ ? T3_->Sup.len : 0) + (TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0] ? TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]->Sup.len : 0) + (T4_ ? T4_->Sup.len : 0) + 3);
appendString(T1_, T2_);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_152));
appendString(T1_, T3_);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_173));
appendString(T1_, TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[((*tok).tokType)- 0]);
appendString(T1_, ((NimStringDesc*) &TM__4JpEWnGrmRM8CRqL3P2O1Q_174));
appendString(T1_, T4_);
	msgWriteln__PO49anyWCbe63GYNOs9cVuvg(conf, T1_, 0);
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_lexerDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[8];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_3_2[2];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[11];
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_166_116[116];
NI TM__4JpEWnGrmRM8CRqL3P2O1Q_168;
static char* NIM_CONST TM__4JpEWnGrmRM8CRqL3P2O1Q_167[116] = {
"tkInvalid", 
"tkEof", 
"tkSymbol", 
"tkAddr", 
"tkAnd", 
"tkAs", 
"tkAsm", 
"tkBind", 
"tkBlock", 
"tkBreak", 
"tkCase", 
"tkCast", 
"tkConcept", 
"tkConst", 
"tkContinue", 
"tkConverter", 
"tkDefer", 
"tkDiscard", 
"tkDistinct", 
"tkDiv", 
"tkDo", 
"tkElif", 
"tkElse", 
"tkEnd", 
"tkEnum", 
"tkExcept", 
"tkExport", 
"tkFinally", 
"tkFor", 
"tkFrom", 
"tkFunc", 
"tkIf", 
"tkImport", 
"tkIn", 
"tkInclude", 
"tkInterface", 
"tkIs", 
"tkIsnot", 
"tkIterator", 
"tkLet", 
"tkMacro", 
"tkMethod", 
"tkMixin", 
"tkMod", 
"tkNil", 
"tkNot", 
"tkNotin", 
"tkObject", 
"tkOf", 
"tkOr", 
"tkOut", 
"tkProc", 
"tkPtr", 
"tkRaise", 
"tkRef", 
"tkReturn", 
"tkShl", 
"tkShr", 
"tkStatic", 
"tkTemplate", 
"tkTry", 
"tkTuple", 
"tkType", 
"tkUsing", 
"tkVar", 
"tkWhen", 
"tkWhile", 
"tkXor", 
"tkYield", 
"tkIntLit", 
"tkInt8Lit", 
"tkInt16Lit", 
"tkInt32Lit", 
"tkInt64Lit", 
"tkUIntLit", 
"tkUInt8Lit", 
"tkUInt16Lit", 
"tkUInt32Lit", 
"tkUInt64Lit", 
"tkFloatLit", 
"tkFloat32Lit", 
"tkFloat64Lit", 
"tkFloat128Lit", 
"tkStrLit", 
"tkRStrLit", 
"tkTripleStrLit", 
"tkGStrLit", 
"tkGTripleStrLit", 
"tkCharLit", 
"tkParLe", 
"tkParRi", 
"tkBracketLe", 
"tkBracketRi", 
"tkCurlyLe", 
"tkCurlyRi", 
"tkBracketDotLe", 
"tkBracketDotRi", 
"tkCurlyDotLe", 
"tkCurlyDotRi", 
"tkParDotLe", 
"tkParDotRi", 
"tkComma", 
"tkSemiColon", 
"tkColon", 
"tkColonColon", 
"tkEquals", 
"tkDot", 
"tkDotDot", 
"tkBracketLeColon", 
"tkOpr", 
"tkComment", 
"tkAccent", 
"tkSpaces", 
"tkInfixOpr", 
"tkPrefixOpr", 
"tkPostfixOpr"};
static TNimNode* TM__4JpEWnGrmRM8CRqL3P2O1Q_169_4[4];
NI TM__4JpEWnGrmRM8CRqL3P2O1Q_171;
static char* NIM_CONST TM__4JpEWnGrmRM8CRqL3P2O1Q_170[4] = {
"base10", 
"base2", 
"base8", 
"base16"};
static TNimNode TM__4JpEWnGrmRM8CRqL3P2O1Q_0[146];

/* section: NIM_merge_TYPE_INIT3 */
NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_.size = sizeof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw);
NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_.align = NIM_ALIGNOF(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw);
NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_.kind = 17;
NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_.base = (&NTI__jTxk7Uc2dfr9aTDL2dZhO9ag_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[1];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[1].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[1].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, fileIdx);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[1].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[1].name = "fileIdx";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[2];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[2].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[2].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, indentAhead);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[2].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[2].name = "indentAhead";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[2] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[3];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[3].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[3].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, currLineIndent);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[3].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[3].name = "currLineIndent";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[3] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[4];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[4].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[4].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, strongSpaces);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[4].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[4].name = "strongSpaces";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[4] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[5];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[5].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[5].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, allowTabs);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[5].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[5].name = "allowTabs";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[5] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[6];
NTI__pIuD7iLYdwrBMntVRm61ZA_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__pIuD7iLYdwrBMntVRm61ZA_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__pIuD7iLYdwrBMntVRm61ZA_.kind = 18;
NTI__pIuD7iLYdwrBMntVRm61ZA_.base = 0;
TM__4JpEWnGrmRM8CRqL3P2O1Q_3_2[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[8];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[8].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[8].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[8].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[8].name = "Field0";
TM__4JpEWnGrmRM8CRqL3P2O1Q_3_2[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[9];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[9].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[9].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[9].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[9].name = "Field1";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[7].len = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[7].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[7].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_3_2[0];
NTI__pIuD7iLYdwrBMntVRm61ZA_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[7];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[6].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[6].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, errorHandler);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[6].typ = (&NTI__pIuD7iLYdwrBMntVRm61ZA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[6].name = "errorHandler";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[6] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[10];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[10].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[10].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, cache);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[10].typ = (&NTI__lnkYNZP9asc88UfiEGjLrbA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[10].name = "cache";
TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[7] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[11];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[11].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[11].offset = offsetof(tyObject_Lexer__JC9bQ4bKzkuzV9bdqS4ju8yw, config);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[11].typ = (&NTI__a8lycfSA25OQltN3OMeBsA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[11].name = "config";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[0].len = 8; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[0].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[0].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_2_8[0];
NTI__JC9bQ4bKzkuzV9bdqS4ju8yw_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[0];
NTI__sNMaWRTImjqfh1DU9cmdQkA_.size = sizeof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA);
NTI__sNMaWRTImjqfh1DU9cmdQkA_.align = NIM_ALIGNOF(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA);
NTI__sNMaWRTImjqfh1DU9cmdQkA_.kind = 18;
NTI__sNMaWRTImjqfh1DU9cmdQkA_.base = 0;
NTI__sNMaWRTImjqfh1DU9cmdQkA_.flags = 2;
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[0] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[13];
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.size = sizeof(tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ);
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.align = NIM_ALIGNOF(tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ);
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.kind = 14;
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.base = 0;
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.flags = 3;
for (TM__4JpEWnGrmRM8CRqL3P2O1Q_168 = 0; TM__4JpEWnGrmRM8CRqL3P2O1Q_168 < 116; TM__4JpEWnGrmRM8CRqL3P2O1Q_168++) {
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_168+14].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_168+14].offset = TM__4JpEWnGrmRM8CRqL3P2O1Q_168;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_168+14].name = TM__4JpEWnGrmRM8CRqL3P2O1Q_167[TM__4JpEWnGrmRM8CRqL3P2O1Q_168];
TM__4JpEWnGrmRM8CRqL3P2O1Q_166_116[TM__4JpEWnGrmRM8CRqL3P2O1Q_168] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_168+14];
}
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].len = 116; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_166_116[0];
NTI__5VVBIL7Ozj1cc9akK23jAGQ_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[130];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[13].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[13].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, tokType);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[13].typ = (&NTI__5VVBIL7Ozj1cc9akK23jAGQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[13].name = "tokType";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[1] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, indent);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[131].name = "indent";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[2] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, ident);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].typ = (&NTI__B0xRsLi0eK4raPu9bd2tkcA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[132].name = "ident";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[3] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, iNumber);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[133].name = "iNumber";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[4] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, fNumber);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].typ = (&NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[134].name = "fNumber";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[5] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135];
NTI__thnLAz9aJwaXPrSfSppUBog_.size = sizeof(tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog);
NTI__thnLAz9aJwaXPrSfSppUBog_.align = NIM_ALIGNOF(tyEnum_NumericalBase__thnLAz9aJwaXPrSfSppUBog);
NTI__thnLAz9aJwaXPrSfSppUBog_.kind = 14;
NTI__thnLAz9aJwaXPrSfSppUBog_.base = 0;
NTI__thnLAz9aJwaXPrSfSppUBog_.flags = 3;
for (TM__4JpEWnGrmRM8CRqL3P2O1Q_171 = 0; TM__4JpEWnGrmRM8CRqL3P2O1Q_171 < 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_171++) {
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_171+136].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_171+136].offset = TM__4JpEWnGrmRM8CRqL3P2O1Q_171;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_171+136].name = TM__4JpEWnGrmRM8CRqL3P2O1Q_170[TM__4JpEWnGrmRM8CRqL3P2O1Q_171];
TM__4JpEWnGrmRM8CRqL3P2O1Q_169_4[TM__4JpEWnGrmRM8CRqL3P2O1Q_171] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[TM__4JpEWnGrmRM8CRqL3P2O1Q_171+136];
}
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].len = 4; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_169_4[0];
NTI__thnLAz9aJwaXPrSfSppUBog_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[140];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, base);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].typ = (&NTI__thnLAz9aJwaXPrSfSppUBog_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[135].name = "base";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[6] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, strongSpaceA);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].typ = (&NTI__chXunH2dwinSkhpA6JnsXw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[141].name = "strongSpaceA";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[7] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[142];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[142].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[142].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, strongSpaceB);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[142].typ = (&NTI__chXunH2dwinSkhpA6JnsXw_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[142].name = "strongSpaceB";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[8] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[143];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[143].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[143].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, literal);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[143].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[143].name = "literal";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[9] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[144];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[144].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[144].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, line);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[144].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[144].name = "line";
TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[10] = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[145];
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[145].kind = 1;
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[145].offset = offsetof(tyObject_Token__sNMaWRTImjqfh1DU9cmdQkA, col);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[145].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[145].name = "col";
TM__4JpEWnGrmRM8CRqL3P2O1Q_0[12].len = 11; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[12].kind = 2; TM__4JpEWnGrmRM8CRqL3P2O1Q_0[12].sons = &TM__4JpEWnGrmRM8CRqL3P2O1Q_165_11[0];
NTI__sNMaWRTImjqfh1DU9cmdQkA_.node = &TM__4JpEWnGrmRM8CRqL3P2O1Q_0[12];
}

