#include "../include/wxml.h" namespace WXML { namespace RPX { // 0x0051FE20 int id_nextPos[0x850u]; uint8_t id_accept[] = {0x0,0x1,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x54,0xf6,0x50,0x0,0x5c,0xf6,0x50,0x0,0x3,0xf6,0x50,0x0,0xa,0xf6,0x50,0x0,0x15,0xf6,0x50,0x0,0x28,0xf6,0x50,0x0,0x65,0xf6,0x50,0x0,0x6f,0xf6,0x50,0x0,0x7e,0xf6,0x50,0x0,0x8a,0xf6,0x50,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; Table id; // 0x0051E520 int str_nextPos[0x18F0u]; uint8_t str_accept[] = {0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x54,0xf6,0x50,0x0,0x5c,0xf6,0x50,0x0,0x3,0xf6,0x50,0x0,0xa,0xf6,0x50,0x0,0x15,0xf6,0x50,0x0,0x28,0xf6,0x50,0x0,0x65,0xf6,0x50,0x0,0x6f,0xf6,0x50,0x0,0x7e,0xf6,0x50,0x0,0x8a,0xf6,0x50,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; Table str; // 0x0051D040 int num_nextPos[0x14C8u]; uint8_t num_accept[] = {0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x48,0x65,0x61,0x64,0x55,0x52,0x4c,0x24,0x20,0x24,0x49,0x64,0x24,0x20,0x30,0x5f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x5f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x54,0xf6,0x50,0x0,0x5c,0xf6,0x50,0x0,0x3,0xf6,0x50,0x0,0xa,0xf6,0x50,0x0,0x15,0xf6,0x50,0x0,0x28,0xf6,0x50,0x0,0x65,0xf6,0x50,0x0,0x6f,0xf6,0x50,0x0,0x7e,0xf6,0x50,0x0,0x8a,0xf6,0x50,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; Table num; /** * */ int accept(int *a1, uint8_t a2[266], int &a3, char const *a4) { int v4 = 0; int v7 = 0; int i; for (i = a3; i > 0; i--) { v7 = v4; v4 = a1[266 * v4 + *a4]; // 266 * 4 = 0x428 if (v4 == -1) { break; } a4++; } if (a2[v7]) { a3 = i; return 0; } return -1; } int acceptID(char const *a1, int &a2) { if (!id.inited) { id.nextPos = id_nextPos; id.canAccept = id_accept; // 0x0051FE20 memset(id.nextPos, 255, 0x850u); int v2 = 0; id.nextPos[(0x51FF9C - 0x0051FE20) / 4] = 1; id.nextPos[(0x5203C4 - 0x0051FE20) / 4] = 1; do { id.nextPos[(0x51FFA4 - 0x0051FE20) / 4 + v2] = 1; id.nextPos[(0x51FF24 - 0x0051FE20) / 4 + v2] = 1; id.nextPos[(0x5203CC - 0x0051FE20) / 4 + v2] = 1; id.nextPos[(0x52034C - 0x0051FE20) / 4 + v2++] = 1; } while(v2 != 26); id.nextPos[(0x520308 - 0x0051FE20) / 4] = 1; id.nextPos[(0x52030C - 0x0051FE20) / 4] = 1; id.nextPos[(0x520310 - 0x0051FE20) / 4] = 1; id.nextPos[(0x520314 - 0x0051FE20) / 4] = 1; id.nextPos[(0x520318 - 0x0051FE20) / 4] = 1; id.nextPos[(0x52031C - 0x0051FE20) / 4] = 1; id.nextPos[(0x520320 - 0x0051FE20) / 4] = 1; id.nextPos[(0x520324 - 0x0051FE20) / 4] = 1; id.nextPos[(0x520328 - 0x0051FE20) / 4] = 1; id.nextPos[(0x52032C - 0x0051FE20) / 4] = 1; id.inited = true; } return accept(id.nextPos, id.canAccept, a2, a1); } int acceptStr(char const *a1, int & a2) { if (!str.inited) { str.nextPos = str_nextPos; str.canAccept = str_accept; // 0x0051E520 memset(str.nextPos, 255, 0x18F0u); for (int i = 0; i != 256; ++i ) { str.nextPos[(0x51E948 - 0x0051E520) / 4 + i] = 1; str.nextPos[(0x51ED70 - 0x0051E520) / 4 + i] = 2; str.nextPos[(0x51F198 - 0x0051E520) / 4 + i] = 1; str.nextPos[(0x51F5C0 - 0x0051E520) / 4 + i] = 2; } str.nextPos[(0x51E5A8 - 0x0051E520) / 4] = 1; str.nextPos[(0x51E5BC - 0x0051E520) / 4] = 2; str.nextPos[(0x51EAB8 - 0x0051E520) / 4] = 3; str.nextPos[(0x51EEE0 - 0x0051E520) / 4] = 4; str.nextPos[(0x51E9D0 - 0x0051E520) / 4] = 5; str.nextPos[(0x51EE0C - 0x0051E520) / 4] = 5; str.inited = true; } return accept(str.nextPos, str.canAccept, a2, a1); } int acceptNum(char const *a1, int & a2) { if (!num.inited) { num.nextPos = num_nextPos; num.canAccept = num_accept; // 0x0051D040 memset(num.nextPos, 255, 0x18F0u); int v2 = 0; num.nextPos[(0x51D0EC - 0x0051D040) / 4] = 1; num.nextPos[(0x51D0F4 - 0x0051D040) / 4] = 1; num.nextPos[(0x51D0F8 - 0x0051D040) / 4] = 3; num.nextPos[(0x51D520 - 0x0051D040) / 4] = 3; num.nextPos[(0x51D948 - 0x0051D040) / 4] = 4; do { num.nextPos[(0x51D100 - 0x0051D040) / 4 + v2] = 2; num.nextPos[(0x51D528 - 0x0051D040) / 4 + v2] = 2; num.nextPos[(0x51D950 - 0x0051D040) / 4 + v2] = 2; num.nextPos[(0x51DD78 - 0x0051D040) / 4 + v2] = 4; num.nextPos[(0x51E1A0 - 0x0051D040) / 4 + v2++] = 4; } while ( v2 != 10 ); num.inited = true; } return accept(num.nextPos, num.canAccept, a2, a1); } int acceptSymbol(char const *a1, int &a2, int &a3) { const char *v3 = a1; int v4 = a2; int v5 = a2 - 1; a2 = v5; switch (a1[1]) { case '(': a3 = 3; break; case ')': a3 = 4; break; case '+': a3 = 1; break; case ',': a3 = 6; break; case '-': a3 = 2; case '.': a3 = 5; break; default: a2 = v4; if (a1[0] == ' ' || a1[0] == '\t') { while (a2 > 0 && (*v3 == ' ' || *v3 == '\t')) { v3++; a2--; } a3 = 7; } else { a2 = v5; a3 = 0; } break; } return 0; } } }