/* Generated by Nim Compiler v0.13.0 */
/*   (c) 2015 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Generaltokenizer321008 Generaltokenizer321008;
typedef struct TNimObject TNimObject;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* TY321063[7];
typedef N_NIMCALL_PTR(void, TY3489) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, TY3494) (void* p);
struct  TNimType  {
NI size;
NU8 kind;
NU8 flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY3489 marker;
TY3494 deepcopy;
};
struct  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Generaltokenizer321008  {
  TNimObject Sup;
NU8 kind;
NI start;
NI length;
NCSTRING buf;
NI pos;
NU8 state;
};
typedef NimStringDesc* TY321073[70];
typedef NU8 TY202404[32];
typedef NimStringDesc* TY323431[48];
typedef NimStringDesc* TY323442[77];
typedef NimStringDesc* TY323420[37];
typedef NimStringDesc* TY323453[53];
typedef NimStringDesc* TY321069[33];
N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_NIMCALL(void, initgeneraltokenizer_321222)(Generaltokenizer321008* g, NCSTRING buf);
N_NIMCALL(void, nimnexttoken_321639)(Generaltokenizer321008* g);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(NU8, nimgetkeyword_321262)(NimStringDesc* id);
N_NIMCALL(NI, nimnumberpostfix_321405)(Generaltokenizer321008* g, NI position);
N_NIMCALL(NI, nimnumber_321519)(Generaltokenizer321008* g, NI position);
N_NIMCALL(void, cppnexttoken_323424)(Generaltokenizer321008* g);
N_NIMCALL(void, clikenexttoken_322703)(Generaltokenizer321008* g, NimStringDesc** keywords, NI keywordsLen0, NU8 flags);
N_NIMCALL(NI, iskeyword_322659)(NimStringDesc** x, NI xLen0, NimStringDesc* y);
N_NIMCALL(NI, cmp_5680)(NimStringDesc* x, NimStringDesc* y);
N_NIMCALL(NI, generalnumber_322416)(Generaltokenizer321008* g, NI position);
N_NIMCALL(NI, generalstrlit_322534)(Generaltokenizer321008* g, NI position);
N_NIMCALL(void, csharpnexttoken_323435)(Generaltokenizer321008* g);
N_NIMCALL(void, cnexttoken_323414)(Generaltokenizer321008* g);
N_NIMCALL(void, javanexttoken_323446)(Generaltokenizer321008* g);
STRING_LITERAL(TMP2357, "none", 4);
STRING_LITERAL(TMP2358, "Nim", 3);
STRING_LITERAL(TMP2359, "Nimrod", 6);
STRING_LITERAL(TMP2360, "C++", 3);
STRING_LITERAL(TMP2361, "C#", 2);
STRING_LITERAL(TMP2362, "C", 1);
STRING_LITERAL(TMP2363, "Java", 4);
NIM_CONST TY321063 sourcelanguagetostr_321060 = {((NimStringDesc*) &TMP2357),
((NimStringDesc*) &TMP2358),
((NimStringDesc*) &TMP2359),
((NimStringDesc*) &TMP2360),
((NimStringDesc*) &TMP2361),
((NimStringDesc*) &TMP2362),
((NimStringDesc*) &TMP2363)}
;
STRING_LITERAL(TMP2375, "", 0);
STRING_LITERAL(TMP2376, "addr", 4);
STRING_LITERAL(TMP2377, "and", 3);
STRING_LITERAL(TMP2378, "as", 2);
STRING_LITERAL(TMP2379, "asm", 3);
STRING_LITERAL(TMP2380, "atomic", 6);
STRING_LITERAL(TMP2381, "bind", 4);
STRING_LITERAL(TMP2382, "block", 5);
STRING_LITERAL(TMP2383, "break", 5);
STRING_LITERAL(TMP2384, "case", 4);
STRING_LITERAL(TMP2385, "cast", 4);
STRING_LITERAL(TMP2386, "concept", 7);
STRING_LITERAL(TMP2387, "const", 5);
STRING_LITERAL(TMP2388, "continue", 8);
STRING_LITERAL(TMP2389, "converter", 9);
STRING_LITERAL(TMP2390, "defer", 5);
STRING_LITERAL(TMP2391, "discard", 7);
STRING_LITERAL(TMP2392, "distinct", 8);
STRING_LITERAL(TMP2393, "div", 3);
STRING_LITERAL(TMP2394, "do", 2);
STRING_LITERAL(TMP2395, "elif", 4);
STRING_LITERAL(TMP2396, "else", 4);
STRING_LITERAL(TMP2397, "end", 3);
STRING_LITERAL(TMP2398, "enum", 4);
STRING_LITERAL(TMP2399, "except", 6);
STRING_LITERAL(TMP2400, "export", 6);
STRING_LITERAL(TMP2401, "finally", 7);
STRING_LITERAL(TMP2402, "for", 3);
STRING_LITERAL(TMP2403, "from", 4);
STRING_LITERAL(TMP2404, "func", 4);
STRING_LITERAL(TMP2405, "generic", 7);
STRING_LITERAL(TMP2406, "if", 2);
STRING_LITERAL(TMP2407, "import", 6);
STRING_LITERAL(TMP2408, "in", 2);
STRING_LITERAL(TMP2409, "include", 7);
STRING_LITERAL(TMP2410, "interface", 9);
STRING_LITERAL(TMP2411, "is", 2);
STRING_LITERAL(TMP2412, "isnot", 5);
STRING_LITERAL(TMP2413, "iterator", 8);
STRING_LITERAL(TMP2414, "let", 3);
STRING_LITERAL(TMP2415, "macro", 5);
STRING_LITERAL(TMP2416, "method", 6);
STRING_LITERAL(TMP2417, "mixin", 5);
STRING_LITERAL(TMP2418, "mod", 3);
STRING_LITERAL(TMP2419, "nil", 3);
STRING_LITERAL(TMP2420, "not", 3);
STRING_LITERAL(TMP2421, "notin", 5);
STRING_LITERAL(TMP2422, "object", 6);
STRING_LITERAL(TMP2423, "of", 2);
STRING_LITERAL(TMP2424, "or", 2);
STRING_LITERAL(TMP2425, "out", 3);
STRING_LITERAL(TMP2426, "proc", 4);
STRING_LITERAL(TMP2427, "ptr", 3);
STRING_LITERAL(TMP2428, "raise", 5);
STRING_LITERAL(TMP2429, "ref", 3);
STRING_LITERAL(TMP2430, "return", 6);
STRING_LITERAL(TMP2431, "shl", 3);
STRING_LITERAL(TMP2432, "shr", 3);
STRING_LITERAL(TMP2433, "static", 6);
STRING_LITERAL(TMP2434, "template", 8);
STRING_LITERAL(TMP2435, "try", 3);
STRING_LITERAL(TMP2436, "tuple", 5);
STRING_LITERAL(TMP2437, "type", 4);
STRING_LITERAL(TMP2438, "using", 5);
STRING_LITERAL(TMP2439, "var", 3);
STRING_LITERAL(TMP2440, "when", 4);
STRING_LITERAL(TMP2441, "while", 5);
STRING_LITERAL(TMP2442, "with", 4);
STRING_LITERAL(TMP2443, "without", 7);
STRING_LITERAL(TMP2444, "xor", 3);
STRING_LITERAL(TMP2445, "yield", 5);
NIM_CONST TY321073 nimkeywords_321072 = {((NimStringDesc*) &TMP2376),
((NimStringDesc*) &TMP2377),
((NimStringDesc*) &TMP2378),
((NimStringDesc*) &TMP2379),
((NimStringDesc*) &TMP2380),
((NimStringDesc*) &TMP2381),
((NimStringDesc*) &TMP2382),
((NimStringDesc*) &TMP2383),
((NimStringDesc*) &TMP2384),
((NimStringDesc*) &TMP2385),
((NimStringDesc*) &TMP2386),
((NimStringDesc*) &TMP2387),
((NimStringDesc*) &TMP2388),
((NimStringDesc*) &TMP2389),
((NimStringDesc*) &TMP2390),
((NimStringDesc*) &TMP2391),
((NimStringDesc*) &TMP2392),
((NimStringDesc*) &TMP2393),
((NimStringDesc*) &TMP2394),
((NimStringDesc*) &TMP2395),
((NimStringDesc*) &TMP2396),
((NimStringDesc*) &TMP2397),
((NimStringDesc*) &TMP2398),
((NimStringDesc*) &TMP2399),
((NimStringDesc*) &TMP2400),
((NimStringDesc*) &TMP2401),
((NimStringDesc*) &TMP2402),
((NimStringDesc*) &TMP2403),
((NimStringDesc*) &TMP2404),
((NimStringDesc*) &TMP2405),
((NimStringDesc*) &TMP2406),
((NimStringDesc*) &TMP2407),
((NimStringDesc*) &TMP2408),
((NimStringDesc*) &TMP2409),
((NimStringDesc*) &TMP2410),
((NimStringDesc*) &TMP2411),
((NimStringDesc*) &TMP2412),
((NimStringDesc*) &TMP2413),
((NimStringDesc*) &TMP2414),
((NimStringDesc*) &TMP2415),
((NimStringDesc*) &TMP2416),
((NimStringDesc*) &TMP2417),
((NimStringDesc*) &TMP2418),
((NimStringDesc*) &TMP2419),
((NimStringDesc*) &TMP2420),
((NimStringDesc*) &TMP2421),
((NimStringDesc*) &TMP2422),
((NimStringDesc*) &TMP2423),
((NimStringDesc*) &TMP2424),
((NimStringDesc*) &TMP2425),
((NimStringDesc*) &TMP2426),
((NimStringDesc*) &TMP2427),
((NimStringDesc*) &TMP2428),
((NimStringDesc*) &TMP2429),
((NimStringDesc*) &TMP2430),
((NimStringDesc*) &TMP2431),
((NimStringDesc*) &TMP2432),
((NimStringDesc*) &TMP2433),
((NimStringDesc*) &TMP2434),
((NimStringDesc*) &TMP2435),
((NimStringDesc*) &TMP2436),
((NimStringDesc*) &TMP2437),
((NimStringDesc*) &TMP2438),
((NimStringDesc*) &TMP2439),
((NimStringDesc*) &TMP2440),
((NimStringDesc*) &TMP2441),
((NimStringDesc*) &TMP2442),
((NimStringDesc*) &TMP2443),
((NimStringDesc*) &TMP2444),
((NimStringDesc*) &TMP2445)}
;
static NIM_CONST TY202404 TMP2446 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xEC, 0x00, 0xF4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
;
STRING_LITERAL(TMP2448, "auto", 4);
STRING_LITERAL(TMP2449, "catch", 5);
STRING_LITERAL(TMP2450, "char", 4);
STRING_LITERAL(TMP2451, "class", 5);
STRING_LITERAL(TMP2452, "default", 7);
STRING_LITERAL(TMP2453, "delete", 6);
STRING_LITERAL(TMP2454, "double", 6);
STRING_LITERAL(TMP2455, "extern", 6);
STRING_LITERAL(TMP2456, "float", 5);
STRING_LITERAL(TMP2457, "friend", 6);
STRING_LITERAL(TMP2458, "goto", 4);
STRING_LITERAL(TMP2459, "inline", 6);
STRING_LITERAL(TMP2460, "int", 3);
STRING_LITERAL(TMP2461, "long", 4);
STRING_LITERAL(TMP2462, "new", 3);
STRING_LITERAL(TMP2463, "operator", 8);
STRING_LITERAL(TMP2464, "private", 7);
STRING_LITERAL(TMP2465, "protected", 9);
STRING_LITERAL(TMP2466, "public", 6);
STRING_LITERAL(TMP2467, "register", 8);
STRING_LITERAL(TMP2468, "short", 5);
STRING_LITERAL(TMP2469, "signed", 6);
STRING_LITERAL(TMP2470, "sizeof", 6);
STRING_LITERAL(TMP2471, "struct", 6);
STRING_LITERAL(TMP2472, "switch", 6);
STRING_LITERAL(TMP2473, "this", 4);
STRING_LITERAL(TMP2474, "throw", 5);
STRING_LITERAL(TMP2475, "typedef", 7);
STRING_LITERAL(TMP2476, "union", 5);
STRING_LITERAL(TMP2477, "unsigned", 8);
STRING_LITERAL(TMP2478, "virtual", 7);
STRING_LITERAL(TMP2479, "void", 4);
STRING_LITERAL(TMP2480, "volatile", 8);
NIM_CONST TY323431 TMP2447 = {((NimStringDesc*) &TMP2379),
((NimStringDesc*) &TMP2448),
((NimStringDesc*) &TMP2383),
((NimStringDesc*) &TMP2384),
((NimStringDesc*) &TMP2449),
((NimStringDesc*) &TMP2450),
((NimStringDesc*) &TMP2451),
((NimStringDesc*) &TMP2387),
((NimStringDesc*) &TMP2388),
((NimStringDesc*) &TMP2452),
((NimStringDesc*) &TMP2453),
((NimStringDesc*) &TMP2394),
((NimStringDesc*) &TMP2454),
((NimStringDesc*) &TMP2396),
((NimStringDesc*) &TMP2398),
((NimStringDesc*) &TMP2455),
((NimStringDesc*) &TMP2456),
((NimStringDesc*) &TMP2402),
((NimStringDesc*) &TMP2457),
((NimStringDesc*) &TMP2458),
((NimStringDesc*) &TMP2406),
((NimStringDesc*) &TMP2459),
((NimStringDesc*) &TMP2460),
((NimStringDesc*) &TMP2461),
((NimStringDesc*) &TMP2462),
((NimStringDesc*) &TMP2463),
((NimStringDesc*) &TMP2464),
((NimStringDesc*) &TMP2465),
((NimStringDesc*) &TMP2466),
((NimStringDesc*) &TMP2467),
((NimStringDesc*) &TMP2430),
((NimStringDesc*) &TMP2468),
((NimStringDesc*) &TMP2469),
((NimStringDesc*) &TMP2470),
((NimStringDesc*) &TMP2433),
((NimStringDesc*) &TMP2471),
((NimStringDesc*) &TMP2472),
((NimStringDesc*) &TMP2434),
((NimStringDesc*) &TMP2473),
((NimStringDesc*) &TMP2474),
((NimStringDesc*) &TMP2435),
((NimStringDesc*) &TMP2475),
((NimStringDesc*) &TMP2476),
((NimStringDesc*) &TMP2477),
((NimStringDesc*) &TMP2478),
((NimStringDesc*) &TMP2479),
((NimStringDesc*) &TMP2480),
((NimStringDesc*) &TMP2441)}
;
STRING_LITERAL(TMP2482, "abstract", 8);
STRING_LITERAL(TMP2483, "base", 4);
STRING_LITERAL(TMP2484, "bool", 4);
STRING_LITERAL(TMP2485, "byte", 4);
STRING_LITERAL(TMP2486, "checked", 7);
STRING_LITERAL(TMP2487, "decimal", 7);
STRING_LITERAL(TMP2488, "delegate", 8);
STRING_LITERAL(TMP2489, "event", 5);
STRING_LITERAL(TMP2490, "explicit", 8);
STRING_LITERAL(TMP2491, "false", 5);
STRING_LITERAL(TMP2492, "fixed", 5);
STRING_LITERAL(TMP2493, "foreach", 7);
STRING_LITERAL(TMP2494, "implicit", 8);
STRING_LITERAL(TMP2495, "internal", 8);
STRING_LITERAL(TMP2496, "lock", 4);
STRING_LITERAL(TMP2497, "namespace", 9);
STRING_LITERAL(TMP2498, "null", 4);
STRING_LITERAL(TMP2499, "override", 8);
STRING_LITERAL(TMP2500, "params", 6);
STRING_LITERAL(TMP2501, "readonly", 8);
STRING_LITERAL(TMP2502, "sbyte", 5);
STRING_LITERAL(TMP2503, "sealed", 6);
STRING_LITERAL(TMP2504, "stackalloc", 10);
STRING_LITERAL(TMP2505, "string", 6);
STRING_LITERAL(TMP2506, "true", 4);
STRING_LITERAL(TMP2507, "typeof", 6);
STRING_LITERAL(TMP2508, "uint", 4);
STRING_LITERAL(TMP2509, "ulong", 5);
STRING_LITERAL(TMP2510, "unchecked", 9);
STRING_LITERAL(TMP2511, "unsafe", 6);
STRING_LITERAL(TMP2512, "ushort", 6);
NIM_CONST TY323442 TMP2481 = {((NimStringDesc*) &TMP2482),
((NimStringDesc*) &TMP2378),
((NimStringDesc*) &TMP2483),
((NimStringDesc*) &TMP2484),
((NimStringDesc*) &TMP2383),
((NimStringDesc*) &TMP2485),
((NimStringDesc*) &TMP2384),
((NimStringDesc*) &TMP2449),
((NimStringDesc*) &TMP2450),
((NimStringDesc*) &TMP2486),
((NimStringDesc*) &TMP2451),
((NimStringDesc*) &TMP2387),
((NimStringDesc*) &TMP2388),
((NimStringDesc*) &TMP2487),
((NimStringDesc*) &TMP2452),
((NimStringDesc*) &TMP2488),
((NimStringDesc*) &TMP2394),
((NimStringDesc*) &TMP2454),
((NimStringDesc*) &TMP2396),
((NimStringDesc*) &TMP2398),
((NimStringDesc*) &TMP2489),
((NimStringDesc*) &TMP2490),
((NimStringDesc*) &TMP2455),
((NimStringDesc*) &TMP2491),
((NimStringDesc*) &TMP2401),
((NimStringDesc*) &TMP2492),
((NimStringDesc*) &TMP2456),
((NimStringDesc*) &TMP2402),
((NimStringDesc*) &TMP2493),
((NimStringDesc*) &TMP2458),
((NimStringDesc*) &TMP2406),
((NimStringDesc*) &TMP2494),
((NimStringDesc*) &TMP2408),
((NimStringDesc*) &TMP2460),
((NimStringDesc*) &TMP2410),
((NimStringDesc*) &TMP2495),
((NimStringDesc*) &TMP2411),
((NimStringDesc*) &TMP2496),
((NimStringDesc*) &TMP2461),
((NimStringDesc*) &TMP2497),
((NimStringDesc*) &TMP2462),
((NimStringDesc*) &TMP2498),
((NimStringDesc*) &TMP2422),
((NimStringDesc*) &TMP2463),
((NimStringDesc*) &TMP2425),
((NimStringDesc*) &TMP2499),
((NimStringDesc*) &TMP2500),
((NimStringDesc*) &TMP2464),
((NimStringDesc*) &TMP2465),
((NimStringDesc*) &TMP2466),
((NimStringDesc*) &TMP2501),
((NimStringDesc*) &TMP2429),
((NimStringDesc*) &TMP2430),
((NimStringDesc*) &TMP2502),
((NimStringDesc*) &TMP2503),
((NimStringDesc*) &TMP2468),
((NimStringDesc*) &TMP2470),
((NimStringDesc*) &TMP2504),
((NimStringDesc*) &TMP2433),
((NimStringDesc*) &TMP2505),
((NimStringDesc*) &TMP2471),
((NimStringDesc*) &TMP2472),
((NimStringDesc*) &TMP2473),
((NimStringDesc*) &TMP2474),
((NimStringDesc*) &TMP2506),
((NimStringDesc*) &TMP2435),
((NimStringDesc*) &TMP2507),
((NimStringDesc*) &TMP2508),
((NimStringDesc*) &TMP2509),
((NimStringDesc*) &TMP2510),
((NimStringDesc*) &TMP2511),
((NimStringDesc*) &TMP2512),
((NimStringDesc*) &TMP2438),
((NimStringDesc*) &TMP2478),
((NimStringDesc*) &TMP2479),
((NimStringDesc*) &TMP2480),
((NimStringDesc*) &TMP2441)}
;
STRING_LITERAL(TMP2514, "_Bool", 5);
STRING_LITERAL(TMP2515, "_Complex", 8);
STRING_LITERAL(TMP2516, "_Imaginary", 10);
STRING_LITERAL(TMP2517, "restrict", 8);
NIM_CONST TY323420 TMP2513 = {((NimStringDesc*) &TMP2514),
((NimStringDesc*) &TMP2515),
((NimStringDesc*) &TMP2516),
((NimStringDesc*) &TMP2448),
((NimStringDesc*) &TMP2383),
((NimStringDesc*) &TMP2384),
((NimStringDesc*) &TMP2450),
((NimStringDesc*) &TMP2387),
((NimStringDesc*) &TMP2388),
((NimStringDesc*) &TMP2452),
((NimStringDesc*) &TMP2394),
((NimStringDesc*) &TMP2454),
((NimStringDesc*) &TMP2396),
((NimStringDesc*) &TMP2398),
((NimStringDesc*) &TMP2455),
((NimStringDesc*) &TMP2456),
((NimStringDesc*) &TMP2402),
((NimStringDesc*) &TMP2458),
((NimStringDesc*) &TMP2406),
((NimStringDesc*) &TMP2459),
((NimStringDesc*) &TMP2460),
((NimStringDesc*) &TMP2461),
((NimStringDesc*) &TMP2467),
((NimStringDesc*) &TMP2517),
((NimStringDesc*) &TMP2430),
((NimStringDesc*) &TMP2468),
((NimStringDesc*) &TMP2469),
((NimStringDesc*) &TMP2470),
((NimStringDesc*) &TMP2433),
((NimStringDesc*) &TMP2471),
((NimStringDesc*) &TMP2472),
((NimStringDesc*) &TMP2475),
((NimStringDesc*) &TMP2476),
((NimStringDesc*) &TMP2477),
((NimStringDesc*) &TMP2479),
((NimStringDesc*) &TMP2480),
((NimStringDesc*) &TMP2441)}
;
STRING_LITERAL(TMP2519, "assert", 6);
STRING_LITERAL(TMP2520, "boolean", 7);
STRING_LITERAL(TMP2521, "extends", 7);
STRING_LITERAL(TMP2522, "final", 5);
STRING_LITERAL(TMP2523, "implements", 10);
STRING_LITERAL(TMP2524, "instanceof", 10);
STRING_LITERAL(TMP2525, "native", 6);
STRING_LITERAL(TMP2526, "package", 7);
STRING_LITERAL(TMP2527, "strictfp", 8);
STRING_LITERAL(TMP2528, "super", 5);
STRING_LITERAL(TMP2529, "synchronized", 12);
STRING_LITERAL(TMP2530, "throws", 6);
STRING_LITERAL(TMP2531, "transient", 9);
NIM_CONST TY323453 TMP2518 = {((NimStringDesc*) &TMP2482),
((NimStringDesc*) &TMP2519),
((NimStringDesc*) &TMP2520),
((NimStringDesc*) &TMP2383),
((NimStringDesc*) &TMP2485),
((NimStringDesc*) &TMP2384),
((NimStringDesc*) &TMP2449),
((NimStringDesc*) &TMP2450),
((NimStringDesc*) &TMP2451),
((NimStringDesc*) &TMP2387),
((NimStringDesc*) &TMP2388),
((NimStringDesc*) &TMP2452),
((NimStringDesc*) &TMP2394),
((NimStringDesc*) &TMP2454),
((NimStringDesc*) &TMP2396),
((NimStringDesc*) &TMP2398),
((NimStringDesc*) &TMP2521),
((NimStringDesc*) &TMP2491),
((NimStringDesc*) &TMP2522),
((NimStringDesc*) &TMP2401),
((NimStringDesc*) &TMP2456),
((NimStringDesc*) &TMP2402),
((NimStringDesc*) &TMP2458),
((NimStringDesc*) &TMP2406),
((NimStringDesc*) &TMP2523),
((NimStringDesc*) &TMP2407),
((NimStringDesc*) &TMP2524),
((NimStringDesc*) &TMP2460),
((NimStringDesc*) &TMP2410),
((NimStringDesc*) &TMP2461),
((NimStringDesc*) &TMP2525),
((NimStringDesc*) &TMP2462),
((NimStringDesc*) &TMP2498),
((NimStringDesc*) &TMP2526),
((NimStringDesc*) &TMP2464),
((NimStringDesc*) &TMP2465),
((NimStringDesc*) &TMP2466),
((NimStringDesc*) &TMP2430),
((NimStringDesc*) &TMP2468),
((NimStringDesc*) &TMP2433),
((NimStringDesc*) &TMP2527),
((NimStringDesc*) &TMP2528),
((NimStringDesc*) &TMP2472),
((NimStringDesc*) &TMP2529),
((NimStringDesc*) &TMP2473),
((NimStringDesc*) &TMP2474),
((NimStringDesc*) &TMP2530),
((NimStringDesc*) &TMP2531),
((NimStringDesc*) &TMP2506),
((NimStringDesc*) &TMP2435),
((NimStringDesc*) &TMP2479),
((NimStringDesc*) &TMP2480),
((NimStringDesc*) &TMP2441)}
;
STRING_LITERAL(TMP2534, "Eof", 3);
STRING_LITERAL(TMP2535, "None", 4);
STRING_LITERAL(TMP2536, "Whitespace", 10);
STRING_LITERAL(TMP2537, "DecNumber", 9);
STRING_LITERAL(TMP2538, "BinNumber", 9);
STRING_LITERAL(TMP2539, "HexNumber", 9);
STRING_LITERAL(TMP2540, "OctNumber", 9);
STRING_LITERAL(TMP2541, "FloatNumber", 11);
STRING_LITERAL(TMP2542, "Identifier", 10);
STRING_LITERAL(TMP2543, "Keyword", 7);
STRING_LITERAL(TMP2544, "StringLit", 9);
STRING_LITERAL(TMP2545, "LongStringLit", 13);
STRING_LITERAL(TMP2546, "CharLit", 7);
STRING_LITERAL(TMP2547, "EscapeSequence", 14);
STRING_LITERAL(TMP2548, "Operator", 8);
STRING_LITERAL(TMP2549, "Punctuation", 11);
STRING_LITERAL(TMP2550, "Comment", 7);
STRING_LITERAL(TMP2551, "LongComment", 11);
STRING_LITERAL(TMP2552, "RegularExpression", 17);
STRING_LITERAL(TMP2553, "TagStart", 8);
STRING_LITERAL(TMP2554, "TagEnd", 6);
STRING_LITERAL(TMP2555, "Key", 3);
STRING_LITERAL(TMP2556, "Value", 5);
STRING_LITERAL(TMP2557, "RawData", 7);
STRING_LITERAL(TMP2558, "Assembler", 9);
STRING_LITERAL(TMP2559, "Preprocessor", 12);
STRING_LITERAL(TMP2560, "Directive", 9);
STRING_LITERAL(TMP2561, "Command", 7);
STRING_LITERAL(TMP2562, "Rule", 4);
STRING_LITERAL(TMP2563, "Hyperlink", 9);
STRING_LITERAL(TMP2564, "Label", 5);
STRING_LITERAL(TMP2565, "Reference", 9);
STRING_LITERAL(TMP2566, "Other", 5);
NIM_CONST TY321069 tokenclasstostr_321066 = {((NimStringDesc*) &TMP2534),
((NimStringDesc*) &TMP2535),
((NimStringDesc*) &TMP2536),
((NimStringDesc*) &TMP2537),
((NimStringDesc*) &TMP2538),
((NimStringDesc*) &TMP2539),
((NimStringDesc*) &TMP2540),
((NimStringDesc*) &TMP2541),
((NimStringDesc*) &TMP2542),
((NimStringDesc*) &TMP2543),
((NimStringDesc*) &TMP2544),
((NimStringDesc*) &TMP2545),
((NimStringDesc*) &TMP2546),
((NimStringDesc*) &TMP2547),
((NimStringDesc*) &TMP2548),
((NimStringDesc*) &TMP2549),
((NimStringDesc*) &TMP2550),
((NimStringDesc*) &TMP2551),
((NimStringDesc*) &TMP2552),
((NimStringDesc*) &TMP2553),
((NimStringDesc*) &TMP2554),
((NimStringDesc*) &TMP2555),
((NimStringDesc*) &TMP2556),
((NimStringDesc*) &TMP2557),
((NimStringDesc*) &TMP2558),
((NimStringDesc*) &TMP2559),
((NimStringDesc*) &TMP2560),
((NimStringDesc*) &TMP2561),
((NimStringDesc*) &TMP2562),
((NimStringDesc*) &TMP2563),
((NimStringDesc*) &TMP2564),
((NimStringDesc*) &TMP2565),
((NimStringDesc*) &TMP2566)}
;
extern TNimType NTI3608; /* RootObj */
TNimType NTI321008; /* GeneralTokenizer */
TNimType NTI321006; /* TokenClass */
extern TNimType NTI104; /* int */
extern TNimType NTI140; /* cstring */

N_NIMCALL(NU8, getsourcelanguage_321075)(NimStringDesc* name) {
	NU8 result;
{	result = 0;
	{
		NU8 i_321214;
		NI res_321219;
		i_321214 = 0;
		res_321219 = ((NI) 1);
		{
			while (1) {
				if (!(res_321219 <= ((NI) 6))) goto LA3;
				i_321214 = ((NU8) (res_321219));
				{
					NI LOC6;
					LOC6 = 0;
					LOC6 = nsuCmpIgnoreStyle(name, sourcelanguagetostr_321060[(i_321214)- 0]);
					if (!(LOC6 == ((NI) 0))) goto LA7;
					result = i_321214;
					goto BeforeRet;
				}
				LA7: ;
				res_321219 += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((NU8) 0);
	}BeforeRet: ;
	return result;
}

N_NIMCALL(void, initgeneraltokenizer_321222)(Generaltokenizer321008* g, NCSTRING buf) {
	NI pos;
	(*g).buf = buf;
	(*g).kind = ((NU8) 0);
	(*g).start = ((NI) 0);
	(*g).length = ((NI) 0);
	(*g).state = ((NU8) 0);
	pos = ((NI) 0);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	(*g).pos = pos;
}

N_NIMCALL(void, initgeneraltokenizer_321253)(Generaltokenizer321008* g, NimStringDesc* buf) {
	initgeneraltokenizer_321222(g, buf->data);
}

N_NIMCALL(NU8, nimgetkeyword_321262)(NimStringDesc* id) {
	NU8 result;
{	result = 0;
	{
		NimStringDesc* k_321296;
		NI i_321404;
		k_321296 = 0;
		i_321404 = ((NI) 0);
		{
			if (!(((NI) (i_321404)) <= ((NI) 69))) goto LA4;
			{
				while (1) {
					k_321296 = copyString(nimkeywords_321072[(i_321404)- 0]);
					{
						NI LOC10;
						LOC10 = 0;
						LOC10 = nsuCmpIgnoreStyle(id, k_321296);
						if (!(LOC10 == ((NI) 0))) goto LA11;
						result = ((NU8) 9);
						goto BeforeRet;
					}
					LA11: ;
					{
						if (!(((NI) 69) <= ((NI) (i_321404)))) goto LA15;
						goto LA6;
					}
					LA15: ;
					i_321404 += ((NI) 1);
				}
			} LA6: ;
		}
		LA4: ;
	}
	result = ((NU8) 8);
	}BeforeRet: ;
	return result;
}

N_NIMCALL(NI, nimnumberpostfix_321405)(Generaltokenizer321008* g, NI position) {
	NI result;
	NI pos;
	result = 0;
	pos = position;
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(39))) goto LA3;
		pos += ((NI) 1);
		switch (((NU8)((*g).buf[pos]))) {
		case 102:
		case 70:
		{
			(*g).kind = ((NU8) 7);
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
				pos += ((NI) 1);
			}
			LA8: ;
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA12;
				pos += ((NI) 1);
			}
			LA12: ;
		}
		break;
		case 105:
		case 73:
		{
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA17;
				pos += ((NI) 1);
			}
			LA17: ;
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA21;
				pos += ((NI) 1);
			}
			LA21: ;
		}
		break;
		default:
		{
		}
		break;
		}
	}
	LA3: ;
	result = pos;
	return result;
}

N_NIMCALL(NI, nimnumber_321519)(Generaltokenizer321008* g, NI position) {
	NI result;
	NI pos;
	result = 0;
	pos = position;
	(*g).kind = ((NU8) 3);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5;
		(*g).kind = ((NU8) 7);
		pos += ((NI) 1);
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA8;
				pos += ((NI) 1);
			} LA8: ;
		}
	}
	LA5: ;
	{
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11;
		(*g).kind = ((NU8) 7);
		pos += ((NI) 1);
		{
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15;
			pos += ((NI) 1);
		}
		LA15: ;
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA18;
				pos += ((NI) 1);
			} LA18: ;
		}
	}
	LA11: ;
	result = nimnumberpostfix_321405(g, pos);
	return result;
}

N_NIMCALL(void, nimnexttoken_321639)(Generaltokenizer321008* g) {
	NI pos;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((NU8) 10))) goto LA3;
		(*g).kind = ((NU8) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					(*g).kind = ((NU8) 13);
					pos += ((NI) 1);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						pos += ((NI) 1);
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA11;
							pos += ((NI) 1);
						}
						LA11: ;
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA15;
							pos += ((NI) 1);
						}
						LA15: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								pos += ((NI) 1);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((NU8) 1);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((NU8) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					pos += ((NI) 1);
					(*g).state = ((NU8) 1);
					goto LA5;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1;
	LA3: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((NU8) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					pos += ((NI) 1);
				} LA28: ;
			}
		}
		break;
		case 35:
		{
			NIM_BOOL isdoc;
			(*g).kind = ((NU8) 16);
			pos += ((NI) 1);
			isdoc = NIM_FALSE;
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(35))) goto LA32;
				pos += ((NI) 1);
				isdoc = NIM_TRUE;
			}
			LA32: ;
			{
				NI nesting;
				if (!((NU8)((*g).buf[pos]) == (NU8)(91))) goto LA36;
				(*g).kind = ((NU8) 17);
				nesting = ((NI) 0);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA38;
						}
						break;
						case 35:
						{
							{
								if (!isdoc) goto LA44;
								{
									NIM_BOOL LOC48;
									LOC48 = 0;
									LOC48 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
									if (!(LOC48)) goto LA49;
									LOC48 = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(91));
									LA49: ;
									if (!LOC48) goto LA50;
									nesting += ((NI) 1);
								}
								LA50: ;
							}
							goto LA42;
							LA44: ;
							{
								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(91))) goto LA53;
								nesting += ((NI) 1);
							}
							goto LA42;
							LA53: ;
							LA42: ;
							pos += ((NI) 1);
						}
						break;
						case 93:
						{
							{
								if (!isdoc) goto LA58;
								{
									NIM_BOOL LOC62;
									LOC62 = 0;
									LOC62 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
									if (!(LOC62)) goto LA63;
									LOC62 = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(35));
									LA63: ;
									if (!LOC62) goto LA64;
									{
										if (!(nesting == ((NI) 0))) goto LA68;
										pos += ((NI) 3);
										goto LA38;
									}
									LA68: ;
									nesting -= ((NI) 1);
								}
								LA64: ;
							}
							goto LA56;
							LA58: ;
							{
								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35))) goto LA71;
								{
									if (!(nesting == ((NI) 0))) goto LA75;
									pos += ((NI) 2);
									goto LA38;
								}
								LA75: ;
								nesting -= ((NI) 1);
							}
							goto LA56;
							LA71: ;
							LA56: ;
							pos += ((NI) 1);
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA38: ;
			}
			goto LA34;
			LA36: ;
			{
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA80;
						pos += ((NI) 1);
					} LA80: ;
				}
			}
			LA34: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = copyString(((NimStringDesc*) &TMP2375));
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA83;
					id = addChar(id, (*g).buf[pos]);
					pos += ((NI) 1);
				} LA83: ;
			}
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA86;
				{
					NIM_BOOL LOC90;
					LOC90 = 0;
					LOC90 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
					if (!(LOC90)) goto LA91;
					LOC90 = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34));
					LA91: ;
					if (!LOC90) goto LA92;
					pos += ((NI) 3);
					(*g).kind = ((NU8) 11);
					{
						while (1) {
							switch (((NU8)((*g).buf[pos]))) {
							case 0:
							{
								goto LA94;
							}
							break;
							case 34:
							{
								pos += ((NI) 1);
								{
									NIM_BOOL LOC100;
									NIM_BOOL LOC101;
									LOC100 = 0;
									LOC101 = 0;
									LOC101 = ((NU8)((*g).buf[pos]) == (NU8)(34));
									if (!(LOC101)) goto LA102;
									LOC101 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
									LA102: ;
									LOC100 = LOC101;
									if (!(LOC100)) goto LA103;
									LOC100 = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
									LA103: ;
									if (!LOC100) goto LA104;
									pos += ((NI) 2);
									goto LA94;
								}
								LA104: ;
							}
							break;
							default:
							{
								pos += ((NI) 1);
							}
							break;
							}
						}
					} LA94: ;
				}
				goto LA88;
				LA92: ;
				{
					(*g).kind = ((NU8) 23);
					pos += ((NI) 1);
					{
						while (1) {
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA109;
							{
								NIM_BOOL LOC112;
								LOC112 = 0;
								LOC112 = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(LOC112)) goto LA113;
								LOC112 = !(((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34)));
								LA113: ;
								if (!LOC112) goto LA114;
								goto LA108;
							}
							LA114: ;
							pos += ((NI) 1);
						} LA109: ;
					} LA108: ;
					{
						if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA118;
						pos += ((NI) 1);
					}
					LA118: ;
				}
				LA88: ;
			}
			goto LA84;
			LA86: ;
			{
				(*g).kind = nimgetkeyword_321262(id);
			}
			LA84: ;
		}
		break;
		case 48:
		{
			pos += ((NI) 1);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA124;
						pos += ((NI) 1);
					} LA124: ;
				}
				pos = nimnumberpostfix_321405(g, pos);
			}
			break;
			case 120:
			case 88:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA127;
						pos += ((NI) 1);
					} LA127: ;
				}
				pos = nimnumberpostfix_321405(g, pos);
			}
			break;
			case 111:
			case 79:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA130;
						pos += ((NI) 1);
					} LA130: ;
				}
				pos = nimnumberpostfix_321405(g, pos);
			}
			break;
			default:
			{
				pos = nimnumber_321519(g, pos);
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = nimnumber_321519(g, pos);
		}
		break;
		case 39:
		{
			pos += ((NI) 1);
			(*g).kind = ((NU8) 12);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					case 13:
					case 10:
					{
						goto LA134;
					}
					break;
					case 39:
					{
						pos += ((NI) 1);
						goto LA134;
					}
					break;
					case 92:
					{
						pos += ((NI) 2);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
				}
			} LA134: ;
		}
		break;
		case 34:
		{
			pos += ((NI) 1);
			{
				NIM_BOOL LOC143;
				LOC143 = 0;
				LOC143 = ((NU8)((*g).buf[pos]) == (NU8)(34));
				if (!(LOC143)) goto LA144;
				LOC143 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
				LA144: ;
				if (!LOC143) goto LA145;
				pos += ((NI) 2);
				(*g).kind = ((NU8) 11);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA147;
						}
						break;
						case 34:
						{
							pos += ((NI) 1);
							{
								NIM_BOOL LOC153;
								NIM_BOOL LOC154;
								LOC153 = 0;
								LOC154 = 0;
								LOC154 = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(LOC154)) goto LA155;
								LOC154 = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
								LA155: ;
								LOC153 = LOC154;
								if (!(LOC153)) goto LA156;
								LOC153 = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
								LA156: ;
								if (!LOC153) goto LA157;
								pos += ((NI) 2);
								goto LA147;
							}
							LA157: ;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA147: ;
			}
			goto LA141;
			LA145: ;
			{
				(*g).kind = ((NU8) 10);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						case 13:
						case 10:
						{
							goto LA161;
						}
						break;
						case 34:
						{
							pos += ((NI) 1);
							goto LA161;
						}
						break;
						case 92:
						{
							(*g).state = (*g).kind;
							goto LA161;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA161: ;
			}
			LA141: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 96:
		case 58:
		case 44:
		case 59:
		{
			pos += ((NI) 1);
			(*g).kind = ((NU8) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((NU8) 0);
		}
		break;
		default:
		{
			{
				if (!((TMP2446[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA172;
				(*g).kind = ((NU8) 14);
				{
					while (1) {
						if (!((TMP2446[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA175;
						pos += ((NI) 1);
					} LA175: ;
				}
			}
			goto LA170;
			LA172: ;
			{
				pos += ((NI) 1);
				(*g).kind = ((NU8) 1);
			}
			LA170: ;
		}
		break;
		}
	}
	LA1: ;
	(*g).length = (NI)(pos - (*g).pos);
	{
		NIM_BOOL LOC179;
		LOC179 = 0;
		LOC179 = !(((*g).kind == ((NU8) 0)));
		if (!(LOC179)) goto LA180;
		LOC179 = ((*g).length <= ((NI) 0));
		LA180: ;
		if (!LOC179) goto LA181;
	}
	LA181: ;
	(*g).pos = pos;
}

N_NIMCALL(NI, iskeyword_322659)(NimStringDesc** x, NI xLen0, NimStringDesc* y) {
	NI result;
	NI a;
	NI b;
{	result = 0;
	a = ((NI) 0);
	b = (NI)(xLen0 - ((NI) 1));
	{
		while (1) {
			NI mid;
			NI c;
			if (!(a <= b)) goto LA2;
			mid = (NI)((NI)(a + b) / ((NI) 2));
			c = cmp_5680(x[mid], y);
			{
				if (!(c < ((NI) 0))) goto LA5;
				a = (NI)(mid + ((NI) 1));
			}
			goto LA3;
			LA5: ;
			{
				if (!(((NI) 0) < c)) goto LA8;
				b = (NI)(mid - ((NI) 1));
			}
			goto LA3;
			LA8: ;
			{
				result = mid;
				goto BeforeRet;
			}
			LA3: ;
		} LA2: ;
	}
	result = ((NI) -1);
	}BeforeRet: ;
	return result;
}

N_NIMCALL(NI, generalnumber_322416)(Generaltokenizer321008* g, NI position) {
	NI result;
	NI pos;
	result = 0;
	pos = position;
	(*g).kind = ((NU8) 3);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5;
		(*g).kind = ((NU8) 7);
		pos += ((NI) 1);
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
				pos += ((NI) 1);
			} LA8: ;
		}
	}
	LA5: ;
	{
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11;
		(*g).kind = ((NU8) 7);
		pos += ((NI) 1);
		{
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15;
			pos += ((NI) 1);
		}
		LA15: ;
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA18;
				pos += ((NI) 1);
			} LA18: ;
		}
	}
	LA11: ;
	result = pos;
	return result;
}

N_NIMCALL(NI, generalstrlit_322534)(Generaltokenizer321008* g, NI position) {
	NI result;
	NI pos;
	NIM_CHAR c;
	result = 0;
	pos = position;
	(*g).kind = ((NU8) 10);
	c = (*g).buf[pos];
	pos += ((NI) 1);
	{
		while (1) {
			switch (((NU8)((*g).buf[pos]))) {
			case 0:
			{
				goto LA1;
			}
			break;
			case 92:
			{
				pos += ((NI) 1);
				switch (((NU8)((*g).buf[pos]))) {
				case 0:
				{
					goto LA1;
				}
				break;
				case 48 ... 57:
				{
					{
						while (1) {
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
							pos += ((NI) 1);
						} LA8: ;
					}
				}
				break;
				case 120:
				case 88:
				{
					pos += ((NI) 1);
					{
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA12;
						pos += ((NI) 1);
					}
					LA12: ;
					{
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA16;
						pos += ((NI) 1);
					}
					LA16: ;
				}
				break;
				default:
				{
					pos += ((NI) 2);
				}
				break;
				}
			}
			break;
			default:
			{
				{
					if (!((NU8)((*g).buf[pos]) == (NU8)(c))) goto LA22;
					pos += ((NI) 1);
					goto LA1;
				}
				goto LA20;
				LA22: ;
				{
					pos += ((NI) 1);
				}
				LA20: ;
			}
			break;
			}
		}
	} LA1: ;
	result = pos;
	return result;
}

N_NIMCALL(void, clikenexttoken_322703)(Generaltokenizer321008* g, NimStringDesc** keywords, NI keywordsLen0, NU8 flags) {
	NI pos;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((NU8) 10))) goto LA3;
		(*g).kind = ((NU8) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					(*g).kind = ((NU8) 13);
					pos += ((NI) 1);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						pos += ((NI) 1);
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA11;
							pos += ((NI) 1);
						}
						LA11: ;
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA15;
							pos += ((NI) 1);
						}
						LA15: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								pos += ((NI) 1);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((NU8) 1);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((NU8) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					pos += ((NI) 1);
					(*g).state = ((NU8) 1);
					goto LA5;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1;
	LA3: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((NU8) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					pos += ((NI) 1);
				} LA28: ;
			}
		}
		break;
		case 47:
		{
			pos += ((NI) 1);
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA32;
				(*g).kind = ((NU8) 16);
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA35;
						pos += ((NI) 1);
					} LA35: ;
				}
			}
			goto LA30;
			LA32: ;
			{
				NI nested;
				if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA37;
				(*g).kind = ((NU8) 17);
				nested = ((NI) 0);
				pos += ((NI) 1);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 42:
						{
							pos += ((NI) 1);
							{
								if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA44;
								pos += ((NI) 1);
								{
									if (!(nested == ((NI) 0))) goto LA48;
									goto LA39;
								}
								LA48: ;
							}
							LA44: ;
						}
						break;
						case 47:
						{
							pos += ((NI) 1);
							{
								if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA53;
								pos += ((NI) 1);
								{
									if (!((flags &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA57;
									nested += ((NI) 1);
								}
								LA57: ;
							}
							LA53: ;
						}
						break;
						case 0:
						{
							goto LA39;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA39: ;
			}
			goto LA30;
			LA37: ;
			LA30: ;
		}
		break;
		case 35:
		{
			pos += ((NI) 1);
			{
				if (!((flags &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA64;
				(*g).kind = ((NU8) 25);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(9)))) goto LA67;
						pos += ((NI) 1);
					} LA67: ;
				}
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA69;
						pos += ((NI) 1);
					} LA69: ;
				}
			}
			goto LA62;
			LA64: ;
			{
				(*g).kind = ((NU8) 14);
			}
			LA62: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = copyString(((NimStringDesc*) &TMP2375));
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA73;
					id = addChar(id, (*g).buf[pos]);
					pos += ((NI) 1);
				} LA73: ;
			}
			{
				NI LOC76;
				LOC76 = 0;
				LOC76 = iskeyword_322659(keywords, keywordsLen0, id);
				if (!(((NI) 0) <= LOC76)) goto LA77;
				(*g).kind = ((NU8) 9);
			}
			goto LA74;
			LA77: ;
			{
				(*g).kind = ((NU8) 8);
			}
			LA74: ;
		}
		break;
		case 48:
		{
			pos += ((NI) 1);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)))) goto LA83;
						pos += ((NI) 1);
					} LA83: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA86;
					pos += ((NI) 1);
				}
				LA86: ;
			}
			break;
			case 120:
			case 88:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA90;
						pos += ((NI) 1);
					} LA90: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA93;
					pos += ((NI) 1);
				}
				LA93: ;
			}
			break;
			case 48 ... 55:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)))) goto LA97;
						pos += ((NI) 1);
					} LA97: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA100;
					pos += ((NI) 1);
				}
				LA100: ;
			}
			break;
			default:
			{
				pos = generalnumber_322416(g, pos);
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA105;
					pos += ((NI) 1);
				}
				LA105: ;
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = generalnumber_322416(g, pos);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA110;
				pos += ((NI) 1);
			}
			LA110: ;
		}
		break;
		case 39:
		{
			pos = generalstrlit_322534(g, pos);
			(*g).kind = ((NU8) 12);
		}
		break;
		case 34:
		{
			pos += ((NI) 1);
			(*g).kind = ((NU8) 10);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					{
						goto LA114;
					}
					break;
					case 34:
					{
						pos += ((NI) 1);
						goto LA114;
					}
					break;
					case 92:
					{
						(*g).state = (*g).kind;
						goto LA114;
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
				}
			} LA114: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 58:
		case 44:
		case 59:
		case 46:
		{
			pos += ((NI) 1);
			(*g).kind = ((NU8) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((NU8) 0);
		}
		break;
		default:
		{
			{
				if (!((TMP2446[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA125;
				(*g).kind = ((NU8) 14);
				{
					while (1) {
						if (!((TMP2446[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA128;
						pos += ((NI) 1);
					} LA128: ;
				}
			}
			goto LA123;
			LA125: ;
			{
				pos += ((NI) 1);
				(*g).kind = ((NU8) 1);
			}
			LA123: ;
		}
		break;
		}
	}
	LA1: ;
	(*g).length = (NI)(pos - (*g).pos);
	{
		NIM_BOOL LOC132;
		LOC132 = 0;
		LOC132 = !(((*g).kind == ((NU8) 0)));
		if (!(LOC132)) goto LA133;
		LOC132 = ((*g).length <= ((NI) 0));
		LA133: ;
		if (!LOC132) goto LA134;
	}
	LA134: ;
	(*g).pos = pos;
}

N_NIMCALL(void, cppnexttoken_323424)(Generaltokenizer321008* g) {
	clikenexttoken_322703(g, TMP2447, 48, 1);
}

N_NIMCALL(void, csharpnexttoken_323435)(Generaltokenizer321008* g) {
	clikenexttoken_322703(g, TMP2481, 77, 1);
}

N_NIMCALL(void, cnexttoken_323414)(Generaltokenizer321008* g) {
	clikenexttoken_322703(g, TMP2513, 37, 1);
}

N_NIMCALL(void, javanexttoken_323446)(Generaltokenizer321008* g) {
	clikenexttoken_322703(g, TMP2518, 53, 0);
}

N_NIMCALL(void, getnexttoken_323458)(Generaltokenizer321008* g, NU8 lang) {
	switch (lang) {
	case ((NU8) 0):
	{
	}
	break;
	case ((NU8) 1):
	case ((NU8) 2):
	{
		nimnexttoken_321639(g);
	}
	break;
	case ((NU8) 3):
	{
		cppnexttoken_323424(g);
	}
	break;
	case ((NU8) 4):
	{
		csharpnexttoken_323435(g);
	}
	break;
	case ((NU8) 5):
	{
		cnexttoken_323414(g);
	}
	break;
	case ((NU8) 6):
	{
		javanexttoken_323446(g);
	}
	break;
	}
}

N_NIMCALL(void, deinitgeneraltokenizer_321258)(Generaltokenizer321008* g) {
}
NIM_EXTERNC N_NOINLINE(void, docutils_highliteInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, docutils_highliteDatInit000)(void) {
static TNimNode* TMP2371[6];
static TNimNode* TMP2372[33];
NI TMP2374;
static char* NIM_CONST TMP2373[33] = {
"gtEof", 
"gtNone", 
"gtWhitespace", 
"gtDecNumber", 
"gtBinNumber", 
"gtHexNumber", 
"gtOctNumber", 
"gtFloatNumber", 
"gtIdentifier", 
"gtKeyword", 
"gtStringLit", 
"gtLongStringLit", 
"gtCharLit", 
"gtEscapeSequence", 
"gtOperator", 
"gtPunctuation", 
"gtComment", 
"gtLongComment", 
"gtRegularExpression", 
"gtTagStart", 
"gtTagEnd", 
"gtKey", 
"gtValue", 
"gtRawData", 
"gtAssembler", 
"gtPreprocessor", 
"gtDirective", 
"gtCommand", 
"gtRule", 
"gtHyperlink", 
"gtLabel", 
"gtReference", 
"gtOther"};
static TNimNode TMP975[41];
NTI321008.size = sizeof(Generaltokenizer321008);
NTI321008.kind = 17;
NTI321008.base = (&NTI3608);
NTI321008.flags = 1;
TMP2371[0] = &TMP975[1];
NTI321006.size = sizeof(NU8);
NTI321006.kind = 14;
NTI321006.base = 0;
NTI321006.flags = 3;
for (TMP2374 = 0; TMP2374 < 33; TMP2374++) {
TMP975[TMP2374+2].kind = 1;
TMP975[TMP2374+2].offset = TMP2374;
TMP975[TMP2374+2].name = TMP2373[TMP2374];
TMP2372[TMP2374] = &TMP975[TMP2374+2];
}
TMP975[35].len = 33; TMP975[35].kind = 2; TMP975[35].sons = &TMP2372[0];
NTI321006.node = &TMP975[35];
TMP975[1].kind = 1;
TMP975[1].offset = offsetof(Generaltokenizer321008, kind);
TMP975[1].typ = (&NTI321006);
TMP975[1].name = "kind";
TMP2371[1] = &TMP975[36];
TMP975[36].kind = 1;
TMP975[36].offset = offsetof(Generaltokenizer321008, start);
TMP975[36].typ = (&NTI104);
TMP975[36].name = "start";
TMP2371[2] = &TMP975[37];
TMP975[37].kind = 1;
TMP975[37].offset = offsetof(Generaltokenizer321008, length);
TMP975[37].typ = (&NTI104);
TMP975[37].name = "length";
TMP2371[3] = &TMP975[38];
TMP975[38].kind = 1;
TMP975[38].offset = offsetof(Generaltokenizer321008, buf);
TMP975[38].typ = (&NTI140);
TMP975[38].name = "buf";
TMP2371[4] = &TMP975[39];
TMP975[39].kind = 1;
TMP975[39].offset = offsetof(Generaltokenizer321008, pos);
TMP975[39].typ = (&NTI104);
TMP975[39].name = "pos";
TMP2371[5] = &TMP975[40];
TMP975[40].kind = 1;
TMP975[40].offset = offsetof(Generaltokenizer321008, state);
TMP975[40].typ = (&NTI321006);
TMP975[40].name = "state";
TMP975[0].len = 6; TMP975[0].kind = 2; TMP975[0].sons = &TMP2371[0];
NTI321008.node = &TMP975[0];
}

