/* Generated by re2c 4.1 */
/* scanner.re
 * This file is part of the Phalcon Framework.
 *
 * (c) Phalcon Team <team@phalcon.io>
 *
 * For the full copyright and license information, please view the
 * LICENSE.txt file that was distributed with this source code.
 */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_phalcon.h"

#include "scanner.h"

#define PPCTYPE unsigned char
#define PPCURSOR (s->start)
#define PPLIMIT (s->end)
#define PPMARKER marker

int phql_get_token(phql_scanner_state *s, phql_scanner_token *token) {

	char *q = PPCURSOR;
	char *marker = PPCURSOR;
	int status = PHQL_SCANNER_RETCODE_IMPOSSIBLE;

	
	while (PHQL_SCANNER_RETCODE_IMPOSSIBLE == status) {

		
		{
			PPCTYPE ppch;
			unsigned int ppaccept = 0;
			ppch = *PPCURSOR;
			switch (ppch) {
				case 0x00: goto pp1;
				case '\t':
				case '\n':
				case '\r':
				case ' ': goto pp4;
				case '!': goto pp6;
				case '"': goto pp8;
				case '#': goto pp9;
				case '%': goto pp10;
				case '&': goto pp11;
				case '\'': goto pp13;
				case '(': goto pp14;
				case ')': goto pp15;
				case '*': goto pp16;
				case '+': goto pp17;
				case ',': goto pp18;
				case '-': goto pp19;
				case '.': goto pp21;
				case '/': goto pp23;
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp24;
				case ':': goto pp26;
				case '<': goto pp28;
				case '=': goto pp30;
				case '>': goto pp31;
				case '?': goto pp33;
				case '@': goto pp34;
				case 'A':
				case 'a': goto pp35;
				case 'B':
				case 'b': goto pp37;
				case 'C':
				case 'c': goto pp38;
				case 'D':
				case 'd': goto pp39;
				case 'E':
				case 'e': goto pp40;
				case 'F':
				case 'f': goto pp41;
				case 'G':
				case 'g': goto pp42;
				case 'H':
				case 'h': goto pp44;
				case 'I':
				case 'i': goto pp45;
				case 'J':
				case 'j': goto pp46;
				case 'K':
				case 'M':
				case 'P':
				case 'Q':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'k':
				case 'm':
				case 'p':
				case 'q':
				case 'y':
				case 'z': goto pp47;
				case 'L':
				case 'l': goto pp49;
				case 'N':
				case 'n': goto pp50;
				case 'O':
				case 'o': goto pp51;
				case 'R':
				case 'r': goto pp52;
				case 'S':
				case 's': goto pp53;
				case 'T':
				case 't': goto pp54;
				case 'U':
				case 'u': goto pp55;
				case 'V':
				case 'v': goto pp56;
				case 'W':
				case 'w': goto pp57;
				case '[': goto pp58;
				case '\\': goto pp59;
				case '^': goto pp60;
				case 'x': goto pp61;
				case '{': goto pp63;
				case '|': goto pp64;
				case '~': goto pp66;
				default: goto pp2;
			}
pp1:
			++PPCURSOR;
			{
			status = PHQL_SCANNER_RETCODE_EOF;
			break;
		}
pp2:
			++PPCURSOR;
pp3:
			{
			status = PHQL_SCANNER_RETCODE_ERR;
			break;
		}
pp4:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '\t':
				case '\n':
				case '\r':
				case ' ': goto pp4;
				default: goto pp5;
			}
pp5:
			{
			token->opcode = PHQL_T_IGNORE;
			return 0;
		}
pp6:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '=': goto pp67;
				default: goto pp7;
			}
pp7:
			{
			token->opcode = PHQL_T_NOT;
			return 0;
		}
pp8:
			ppaccept = 0;
			ppch = *(PPMARKER = ++PPCURSOR);
			if (ppch <= 0x00) goto pp3;
			goto pp69;
pp9:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '>': goto pp73;
				default: goto pp3;
			}
pp10:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_MOD;
			return 0;
		}
pp11:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '&': goto pp75;
				default: goto pp12;
			}
pp12:
			{
			token->opcode = PHQL_T_BITWISE_AND;
			return 0;
		}
pp13:
			ppaccept = 0;
			ppch = *(PPMARKER = ++PPCURSOR);
			if (ppch <= 0x00) goto pp3;
			goto pp77;
pp14:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_PARENTHESES_OPEN;
			return 0;
		}
pp15:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_PARENTHESES_CLOSE;
			return 0;
		}
pp16:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_MUL;
			return 0;
		}
pp17:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_ADD;
			return 0;
		}
pp18:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_COMMA;
			return 0;
		}
pp19:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '>': goto pp79;
				default: goto pp20;
			}
pp20:
			{
			token->opcode = PHQL_T_SUB;
			return 0;
		}
pp21:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp81;
				default: goto pp22;
			}
pp22:
			{
			token->opcode = PHQL_T_DOT;
			return 0;
		}
pp23:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_DIV;
			return 0;
		}
pp24:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '.': goto pp81;
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp24;
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'x': goto pp83;
				default: goto pp25;
			}
pp25:
			{
			token->opcode = PHQL_T_INTEGER;
			token->value = estrndup(q, PPCURSOR - q);
			token->len = PPCURSOR - q;
			q = PPCURSOR;
			return 0;
		}
pp26:
			ppaccept = 1;
			ppch = *(PPMARKER = ++PPCURSOR);
			switch (ppch) {
				case '-':
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp84;
				default: goto pp27;
			}
pp27:
			{
			token->opcode = PHQL_T_COLON;
			return 0;
		}
pp28:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '=': goto pp85;
				case '>': goto pp86;
				case '@': goto pp87;
				default: goto pp29;
			}
pp29:
			{
			token->opcode = PHQL_T_LESS;
			return 0;
		}
pp30:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_EQUALS;
			return 0;
		}
pp31:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '=': goto pp88;
				default: goto pp32;
			}
pp32:
			{
			token->opcode = PHQL_T_GREATER;
			return 0;
		}
pp33:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp89;
				default: goto pp3;
			}
pp34:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '>': goto pp91;
				case '@': goto pp92;
				default: goto pp3;
			}
pp35:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'G':
				case 'g': goto pp93;
				case 'L':
				case 'l': goto pp94;
				case 'N':
				case 'n': goto pp95;
				case 'S':
				case 's': goto pp96;
				default: goto pp62;
			}
pp36:
			{
			token->value = estrndup(q, PPCURSOR - q);
			token->len = PPCURSOR - q;
			if (token->len > 2 && !memcmp(token->value, "0x", 2)) {
				token->opcode = PHQL_T_HINTEGER;
			} else {
				int i, alpha = 0;
				for (i = 0; i < token->len; i++) {
					unsigned char ch = token->value[i];
					if (!((ch >= '0') && (ch <= '9'))) {
						alpha = 1;
						break;
					}
				}
				if (alpha) {
					token->opcode = PHQL_T_IDENTIFIER;
				} else {
					token->opcode = PHQL_T_INTEGER;
				}
			}
			q = PPCURSOR;
			return 0;
		}
pp37:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp98;
				case 'Y':
				case 'y': goto pp99;
				default: goto pp62;
			}
pp38:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp101;
				case 'O':
				case 'o': goto pp102;
				case 'R':
				case 'r': goto pp103;
				default: goto pp62;
			}
pp39:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp104;
				case 'I':
				case 'i': goto pp105;
				default: goto pp62;
			}
pp40:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp106;
				case 'N':
				case 'n': goto pp107;
				case 'X': goto pp108;
				case 'x': goto pp109;
				default: goto pp62;
			}
pp41:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp110;
				case 'O':
				case 'o': goto pp111;
				case 'R':
				case 'r': goto pp112;
				case 'U':
				case 'u': goto pp113;
				default: goto pp62;
			}
pp42:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp114;
				default: goto pp48;
			}
pp43:
			{
			token->opcode = PHQL_T_IDENTIFIER;
			if ((PPCURSOR - q) > 1) {
				if (q[0] == '\\') {
					token->value = estrndup(q + 1, PPCURSOR - q - 1);
					token->len = PPCURSOR - q - 1;
				} else {
					token->value = estrndup(q, PPCURSOR - q);
					token->len = PPCURSOR - q;
				}
			} else {
				token->value = estrndup(q, PPCURSOR - q);
				token->len = PPCURSOR - q;
			}
			q = PPCURSOR;
			return 0;
		}
pp44:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp115;
				default: goto pp48;
			}
pp45:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp116;
				case 'N':
				case 'n': goto pp117;
				case 'S':
				case 's': goto pp119;
				default: goto pp48;
			}
pp46:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp121;
				default: goto pp48;
			}
pp47:
			ppch = *++PPCURSOR;
pp48:
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp43;
			}
pp49:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp122;
				case 'I':
				case 'i': goto pp123;
				default: goto pp48;
			}
pp50:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp124;
				case 'U':
				case 'u': goto pp125;
				default: goto pp48;
			}
pp51:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'F':
				case 'f': goto pp126;
				case 'N':
				case 'n': goto pp127;
				case 'R':
				case 'r': goto pp129;
				case 'U':
				case 'u': goto pp131;
				default: goto pp48;
			}
pp52:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp132;
				default: goto pp48;
			}
pp53:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp133;
				default: goto pp48;
			}
pp54:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'H':
				case 'h': goto pp134;
				case 'R':
				case 'r': goto pp135;
				default: goto pp48;
			}
pp55:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'P':
				case 'p': goto pp136;
				case 'S':
				case 's': goto pp137;
				default: goto pp48;
			}
pp56:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp138;
				default: goto pp48;
			}
pp57:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'H':
				case 'h': goto pp139;
				case 'I':
				case 'i': goto pp140;
				default: goto pp48;
			}
pp58:
			ppaccept = 0;
			ppch = *(PPMARKER = ++PPCURSOR);
			switch (ppch) {
				case 0x00:
				case 0x01:
				case 0x02:
				case 0x03:
				case 0x04:
				case 0x05:
				case 0x06:
				case 0x07:
				case 0x08:
				case '\t':
				case '\n':
				case '\v':
				case '\f':
				case '\r':
				case 0x0E:
				case 0x0F:
				case 0x10:
				case 0x11:
				case 0x12:
				case 0x13:
				case 0x14:
				case 0x15:
				case 0x16:
				case 0x17:
				case 0x18:
				case 0x19:
				case 0x1A:
				case 0x1B:
				case 0x1C:
				case 0x1D:
				case 0x1E:
				case 0x1F:
				case '[':
				case 0x7F: goto pp3;
				default: goto pp142;
			}
pp59:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp3;
			}
pp60:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_BITWISE_XOR;
			return 0;
		}
pp61:
			ppch = *++PPCURSOR;
pp62:
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'x': goto pp61;
				case ':':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'y':
				case 'z': goto pp47;
				default: goto pp36;
			}
pp63:
			ppaccept = 0;
			ppch = *(PPMARKER = ++PPCURSOR);
			switch (ppch) {
				case '-':
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp146;
				default: goto pp3;
			}
pp64:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '|': goto pp147;
				default: goto pp65;
			}
pp65:
			{
			token->opcode = PHQL_T_BITWISE_OR;
			return 0;
		}
pp66:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_BITWISE_NOT;
			return 0;
		}
pp67:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_NOTEQUALS;
			return 0;
		}
pp68:
			ppch = *++PPCURSOR;
pp69:
			switch (ppch) {
				case 0x00: goto pp70;
				case '"': goto pp71;
				case '\\': goto pp72;
				default: goto pp68;
			}
pp70:
			PPCURSOR = PPMARKER;
			switch (ppaccept) {
				case 0: goto pp3;
				case 1: goto pp27;
				case 2: goto pp185;
				default: goto pp145;
			}
pp71:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_STRING;
			token->value = estrndup(q + 1, PPCURSOR - q - 2);
			token->len = PPCURSOR - q - 2;
			q = PPCURSOR;
			return 0;
		}
pp72:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 0x00:
				case '\n': goto pp70;
				default: goto pp68;
			}
pp73:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '>': goto pp148;
				default: goto pp74;
			}
pp74:
			{
			token->opcode = PHQL_T_OP_JSON_PATH;
			return 0;
		}
pp75:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_OVERLAPS;
			return 0;
		}
pp76:
			ppch = *++PPCURSOR;
pp77:
			switch (ppch) {
				case 0x00: goto pp70;
				case '\'': goto pp71;
				case '\\': goto pp78;
				default: goto pp76;
			}
pp78:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 0x00:
				case '\n': goto pp70;
				default: goto pp76;
			}
pp79:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '>': goto pp149;
				default: goto pp80;
			}
pp80:
			{
			token->opcode = PHQL_T_OP_JSON_GET;
			return 0;
		}
pp81:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp81;
				default: goto pp82;
			}
pp82:
			{
			token->opcode = PHQL_T_DOUBLE;
			token->value = estrndup(q, PPCURSOR - q);
			token->len = PPCURSOR - q;
			q = PPCURSOR;
			return 0;
		}
pp83:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'x': goto pp83;
				default: goto pp36;
			}
pp84:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '-':
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp84;
				case ':': goto pp150;
				default: goto pp70;
			}
pp85:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_LESSEQUAL;
			return 0;
		}
pp86:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_NOTEQUALS;
			return 0;
		}
pp87:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_CONTAINED;
			return 0;
		}
pp88:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_GREATEREQUAL;
			return 0;
		}
pp89:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto pp89;
				default: goto pp90;
			}
pp90:
			{
			token->opcode = PHQL_T_NPLACEHOLDER;
			token->value = estrndup(q, PPCURSOR - q);
			token->len = PPCURSOR - q;
			q = PPCURSOR;
			return 0;
		}
pp91:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_CONTAINS;
			return 0;
		}
pp92:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_MATCHES;
			return 0;
		}
pp93:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp151;
				default: goto pp48;
			}
pp94:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp152;
				default: goto pp48;
			}
pp95:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'D':
				case 'd': goto pp154;
				default: goto pp48;
			}
pp96:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				case 'C':
				case 'c': goto pp156;
				default: goto pp97;
			}
pp97:
			{
			token->opcode = PHQL_T_AS;
			return 0;
		}
pp98:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp158;
				default: goto pp62;
			}
pp99:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp100;
			}
pp100:
			{
			token->opcode = PHQL_T_BY;
			return 0;
		}
pp101:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp159;
				default: goto pp62;
			}
pp102:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp160;
				default: goto pp48;
			}
pp103:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp161;
				default: goto pp48;
			}
pp104:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp162;
				case 'S':
				case 's': goto pp163;
				default: goto pp62;
			}
pp105:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp164;
				default: goto pp48;
			}
pp106:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp165;
				default: goto pp48;
			}
pp107:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'D':
				case 'd': goto pp166;
				default: goto pp48;
			}
pp108:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp168;
				default: goto pp48;
			}
pp109:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp168;
				default: goto pp62;
			}
pp110:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp169;
				default: goto pp62;
			}
pp111:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp170;
				default: goto pp48;
			}
pp112:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp172;
				default: goto pp48;
			}
pp113:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp173;
				default: goto pp48;
			}
pp114:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp174;
				default: goto pp48;
			}
pp115:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'V':
				case 'v': goto pp175;
				default: goto pp48;
			}
pp116:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp176;
				default: goto pp48;
			}
pp117:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				case 'N':
				case 'n': goto pp177;
				case 'S':
				case 's': goto pp178;
				case 'T':
				case 't': goto pp179;
				default: goto pp118;
			}
pp118:
			{
			token->opcode = PHQL_T_IN;
			return 0;
		}
pp119:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp120;
			}
pp120:
			{
			token->opcode = PHQL_T_IS;
			return 0;
		}
pp121:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp180;
				default: goto pp48;
			}
pp122:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'F':
				case 'f': goto pp181;
				default: goto pp48;
			}
pp123:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'K':
				case 'k': goto pp182;
				case 'M':
				case 'm': goto pp183;
				default: goto pp48;
			}
pp124:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp184;
				default: goto pp48;
			}
pp125:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp186;
				default: goto pp48;
			}
pp126:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'F':
				case 'f': goto pp187;
				default: goto pp48;
			}
pp127:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp128;
			}
pp128:
			{
			token->opcode = PHQL_T_ON;
			return 0;
		}
pp129:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				case 'D':
				case 'd': goto pp188;
				default: goto pp130;
			}
pp130:
			{
			token->opcode = PHQL_T_OR;
			return 0;
		}
pp131:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp189;
				default: goto pp48;
			}
pp132:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'G':
				case 'g': goto pp190;
				default: goto pp48;
			}
pp133:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp191;
				case 'T':
				case 't': goto pp192;
				default: goto pp48;
			}
pp134:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp194;
				default: goto pp48;
			}
pp135:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'U':
				case 'u': goto pp195;
				default: goto pp48;
			}
pp136:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'D':
				case 'd': goto pp196;
				default: goto pp48;
			}
pp137:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp197;
				default: goto pp48;
			}
pp138:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp198;
				default: goto pp48;
			}
pp139:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp199;
				default: goto pp48;
			}
pp140:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp200;
				default: goto pp48;
			}
pp141:
			ppch = *++PPCURSOR;
pp142:
			switch (ppch) {
				case 0x00:
				case 0x01:
				case 0x02:
				case 0x03:
				case 0x04:
				case 0x05:
				case 0x06:
				case 0x07:
				case 0x08:
				case '\t':
				case '\n':
				case '\v':
				case '\f':
				case '\r':
				case 0x0E:
				case 0x0F:
				case 0x10:
				case 0x11:
				case 0x12:
				case 0x13:
				case 0x14:
				case 0x15:
				case 0x16:
				case 0x17:
				case 0x18:
				case 0x19:
				case 0x1A:
				case 0x1B:
				case 0x1C:
				case 0x1D:
				case 0x1E:
				case 0x1F:
				case '[':
				case 0x7F: goto pp70;
				case '\\': goto pp143;
				case ']': goto pp144;
				default: goto pp141;
			}
pp143:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 0x00:
				case 0x01:
				case 0x02:
				case 0x03:
				case 0x04:
				case 0x05:
				case 0x06:
				case 0x07:
				case 0x08:
				case '\t':
				case '\n':
				case '\v':
				case '\f':
				case '\r':
				case 0x0E:
				case 0x0F:
				case 0x10:
				case 0x11:
				case 0x12:
				case 0x13:
				case 0x14:
				case 0x15:
				case 0x16:
				case 0x17:
				case 0x18:
				case 0x19:
				case 0x1A:
				case 0x1B:
				case 0x1C:
				case 0x1D:
				case 0x1E:
				case 0x1F:
				case 0x7F: goto pp70;
				case '\\': goto pp143;
				case ']': goto pp201;
				default: goto pp141;
			}
pp144:
			++PPCURSOR;
pp145:
			{
			token->opcode = PHQL_T_IDENTIFIER;
			token->value = estrndup(q + 1, PPCURSOR - q - 2);
			token->len = PPCURSOR - q - 2;
			q = PPCURSOR;
			return 0;
		}
pp146:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '-':
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp146;
				case '}': goto pp202;
				default: goto pp70;
			}
pp147:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_CONCAT;
			return 0;
		}
pp148:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_JSON_PATH_TEXT;
			return 0;
		}
pp149:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_OP_JSON_GET_TEXT;
			return 0;
		}
pp150:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_SPLACEHOLDER;
			token->value = estrndup(q + 1, PPCURSOR - q - 2);
			token->len = PPCURSOR - q - 2;
			q = PPCURSOR;
			return 0;
		}
pp151:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp203;
				default: goto pp48;
			}
pp152:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp153;
			}
pp153:
			{
			token->opcode = PHQL_T_ALL;
			return 0;
		}
pp154:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp155;
			}
pp155:
			{
			token->opcode = PHQL_T_AND;
			return 0;
		}
pp156:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp157;
			}
pp157:
			{
			token->opcode = PHQL_T_ASC;
			return 0;
		}
pp158:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'W':
				case 'w': goto pp204;
				default: goto pp48;
			}
pp159:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp205;
				case 'T':
				case 't': goto pp207;
				default: goto pp48;
			}
pp160:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'V':
				case 'v': goto pp209;
				default: goto pp48;
			}
pp161:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp210;
				default: goto pp48;
			}
pp162:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp211;
				default: goto pp48;
			}
pp163:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'C':
				case 'c': goto pp212;
				default: goto pp48;
			}
pp164:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp214;
				default: goto pp48;
			}
pp165:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp215;
				default: goto pp48;
			}
pp166:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp167;
			}
pp167:
			{
			token->opcode = PHQL_T_END;
			return 0;
		}
pp168:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp217;
				default: goto pp48;
			}
pp169:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp218;
				default: goto pp48;
			}
pp170:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp171;
			}
pp171:
			{
			token->opcode = PHQL_T_FOR;
			return 0;
		}
pp172:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'M':
				case 'm': goto pp219;
				default: goto pp48;
			}
pp173:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp221;
				default: goto pp48;
			}
pp174:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'U':
				case 'u': goto pp223;
				default: goto pp48;
			}
pp175:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp224;
				default: goto pp48;
			}
pp176:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'K':
				case 'k': goto pp225;
				default: goto pp48;
			}
pp177:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp226;
				default: goto pp48;
			}
pp178:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp227;
				default: goto pp48;
			}
pp179:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'O':
				case 'o': goto pp228;
				default: goto pp48;
			}
pp180:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp230;
				default: goto pp48;
			}
pp181:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp232;
				default: goto pp48;
			}
pp182:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp234;
				default: goto pp48;
			}
pp183:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp236;
				default: goto pp48;
			}
pp184:
			ppaccept = 2;
			ppch = *(PPMARKER = ++PPCURSOR);
			switch (ppch) {
				case ' ': goto pp237;
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp185;
			}
pp185:
			{
			token->opcode = PHQL_T_NOT;
			return 0;
		}
pp186:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'L':
				case 'l': goto pp238;
				default: goto pp48;
			}
pp187:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp240;
				default: goto pp48;
			}
pp188:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp241;
				default: goto pp48;
			}
pp189:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp242;
				default: goto pp48;
			}
pp190:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'H':
				case 'h': goto pp243;
				default: goto pp48;
			}
pp191:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp244;
				default: goto pp48;
			}
pp192:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp193;
			}
pp193:
			{
			token->opcode = PHQL_T_SET;
			return 0;
		}
pp194:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp245;
				default: goto pp48;
			}
pp195:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp247;
				default: goto pp48;
			}
pp196:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'A':
				case 'a': goto pp249;
				default: goto pp48;
			}
pp197:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp250;
				default: goto pp48;
			}
pp198:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'U':
				case 'u': goto pp251;
				default: goto pp48;
			}
pp199:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp252;
				case 'R':
				case 'r': goto pp254;
				default: goto pp48;
			}
pp200:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'H':
				case 'h': goto pp255;
				default: goto pp48;
			}
pp201:
			ppaccept = 3;
			ppch = *(PPMARKER = ++PPCURSOR);
			switch (ppch) {
				case 0x00:
				case 0x01:
				case 0x02:
				case 0x03:
				case 0x04:
				case 0x05:
				case 0x06:
				case 0x07:
				case 0x08:
				case '\t':
				case '\n':
				case '\v':
				case '\f':
				case '\r':
				case 0x0E:
				case 0x0F:
				case 0x10:
				case 0x11:
				case 0x12:
				case 0x13:
				case 0x14:
				case 0x15:
				case 0x16:
				case 0x17:
				case 0x18:
				case 0x19:
				case 0x1A:
				case 0x1B:
				case 0x1C:
				case 0x1D:
				case 0x1E:
				case 0x1F:
				case '[':
				case 0x7F: goto pp145;
				case '\\': goto pp143;
				case ']': goto pp144;
				default: goto pp141;
			}
pp202:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_BPLACEHOLDER;
			token->value = estrndup(q + 1, PPCURSOR - q - 2);
			token->len = PPCURSOR - q - 2;
			q = PPCURSOR;
			return 0;
		}
pp203:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp257;
				default: goto pp48;
			}
pp204:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp258;
				default: goto pp48;
			}
pp205:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp206;
			}
pp206:
			{
			token->opcode = PHQL_T_CASE;
			return 0;
		}
pp207:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp208;
			}
pp208:
			{
			token->opcode = PHQL_T_CAST;
			return 0;
		}
pp209:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp259;
				default: goto pp48;
			}
pp210:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp260;
				default: goto pp48;
			}
pp211:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp262;
				default: goto pp48;
			}
pp212:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp213;
			}
pp213:
			{
			token->opcode = PHQL_T_DESC;
			return 0;
		}
pp214:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'I':
				case 'i': goto pp263;
				default: goto pp48;
			}
pp215:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp216;
			}
pp216:
			{
			token->opcode = PHQL_T_ELSE;
			return 0;
		}
pp217:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp264;
				default: goto pp48;
			}
pp218:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp265;
				default: goto pp48;
			}
pp219:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp220;
			}
pp220:
			{
			token->opcode = PHQL_T_FROM;
			return 0;
		}
pp221:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp222;
			}
pp222:
			{
			token->opcode = PHQL_T_FULL;
			return 0;
		}
pp223:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'P':
				case 'p': goto pp267;
				default: goto pp48;
			}
pp224:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp269;
				default: goto pp48;
			}
pp225:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp270;
				default: goto pp48;
			}
pp226:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp272;
				default: goto pp48;
			}
pp227:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp274;
				default: goto pp48;
			}
pp228:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp229;
			}
pp229:
			{
			token->opcode = PHQL_T_INTO;
			return 0;
		}
pp230:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp231;
			}
pp231:
			{
			token->opcode = PHQL_T_JOIN;
			return 0;
		}
pp232:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp233;
			}
pp233:
			{
			token->opcode = PHQL_T_LEFT;
			return 0;
		}
pp234:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp235;
			}
pp235:
			{
			token->opcode = PHQL_T_LIKE;
			return 0;
		}
pp236:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp275;
				default: goto pp48;
			}
pp237:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'B':
				case 'b': goto pp277;
				default: goto pp70;
			}
pp238:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp239;
			}
pp239:
			{
			token->opcode = PHQL_T_NULL;
			return 0;
		}
pp240:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp278;
				default: goto pp48;
			}
pp241:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp279;
				default: goto pp48;
			}
pp242:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp281;
				default: goto pp48;
			}
pp243:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp283;
				default: goto pp48;
			}
pp244:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'C':
				case 'c': goto pp285;
				default: goto pp48;
			}
pp245:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp246;
			}
pp246:
			{
			token->opcode = PHQL_T_THEN;
			return 0;
		}
pp247:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp248;
			}
pp248:
			{
			token->opcode = PHQL_T_TRUE;
			return 0;
		}
pp249:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp286;
				default: goto pp48;
			}
pp250:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'G':
				case 'g': goto pp287;
				default: goto pp48;
			}
pp251:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp289;
				default: goto pp48;
			}
pp252:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp253;
			}
pp253:
			{
			token->opcode = PHQL_T_WHEN;
			return 0;
		}
pp254:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp290;
				default: goto pp48;
			}
pp255:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp256;
			}
pp256:
			{
			token->opcode = PHQL_T_WITH;
			return 0;
		}
pp257:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp292;
				default: goto pp48;
			}
pp258:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp293;
				default: goto pp48;
			}
pp259:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'R':
				case 'r': goto pp294;
				default: goto pp48;
			}
pp260:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp261;
			}
pp261:
			{
			token->opcode = PHQL_T_CROSS;
			return 0;
		}
pp262:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp295;
				default: goto pp48;
			}
pp263:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp297;
				default: goto pp48;
			}
pp264:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp298;
				default: goto pp48;
			}
pp265:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp266;
			}
pp266:
			{
			token->opcode = PHQL_T_FALSE;
			return 0;
		}
pp267:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp268;
			}
pp268:
			{
			token->opcode = PHQL_T_GROUP;
			return 0;
		}
pp269:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'G':
				case 'g': goto pp300;
				default: goto pp48;
			}
pp270:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp271;
			}
pp271:
			{
			token->opcode = PHQL_T_ILIKE;
			return 0;
		}
pp272:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp273;
			}
pp273:
			{
			token->opcode = PHQL_T_INNER;
			return 0;
		}
pp274:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp302;
				default: goto pp48;
			}
pp275:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp276;
			}
pp276:
			{
			token->opcode = PHQL_T_LIMIT;
			return 0;
		}
pp277:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp304;
				default: goto pp70;
			}
pp278:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp305;
				default: goto pp48;
			}
pp279:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp280;
			}
pp280:
			{
			token->opcode = PHQL_T_ORDER;
			return 0;
		}
pp281:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp282;
			}
pp282:
			{
			token->opcode = PHQL_T_OUTER;
			return 0;
		}
pp283:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp284;
			}
pp284:
			{
			token->opcode = PHQL_T_RIGHT;
			return 0;
		}
pp285:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp307;
				default: goto pp48;
			}
pp286:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp309;
				default: goto pp48;
			}
pp287:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp288;
			}
pp288:
			{
			token->opcode = PHQL_T_USING;
			return 0;
		}
pp289:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'S':
				case 's': goto pp311;
				default: goto pp48;
			}
pp290:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp291;
			}
pp291:
			{
			token->opcode = PHQL_T_WHERE;
			return 0;
		}
pp292:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp313;
				default: goto pp48;
			}
pp293:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp315;
				default: goto pp48;
			}
pp294:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp317;
				default: goto pp48;
			}
pp295:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp296;
			}
pp296:
			{
			token->opcode = PHQL_T_DELETE;
			return 0;
		}
pp297:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'C':
				case 'c': goto pp319;
				default: goto pp48;
			}
pp298:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp299;
			}
pp299:
			{
			token->opcode = PHQL_T_EXISTS;
			return 0;
		}
pp300:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp301;
			}
pp301:
			{
			token->opcode = PHQL_T_HAVING;
			return 0;
		}
pp302:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp303;
			}
pp303:
			{
			token->opcode = PHQL_T_INSERT;
			return 0;
		}
pp304:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp320;
				default: goto pp70;
			}
pp305:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp306;
			}
pp306:
			{
			token->opcode = PHQL_T_OFFSET;
			return 0;
		}
pp307:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp308;
			}
pp308:
			{
			token->opcode = PHQL_T_SELECT;
			return 0;
		}
pp309:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp310;
			}
pp310:
			{
			token->opcode = PHQL_T_UPDATE;
			return 0;
		}
pp311:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp312;
			}
pp312:
			{
			token->opcode = PHQL_T_VALUES;
			return 0;
		}
pp313:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp314;
			}
pp314:
			{
			token->opcode = PHQL_T_AGAINST;
			return 0;
		}
pp315:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp316;
			}
pp316:
			{
			token->opcode = PHQL_T_BETWEEN;
			return 0;
		}
pp317:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp318;
			}
pp318:
			{
			token->opcode = PHQL_T_CONVERT;
			return 0;
		}
pp319:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'T':
				case 't': goto pp321;
				default: goto pp48;
			}
pp320:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'W':
				case 'w': goto pp323;
				default: goto pp70;
			}
pp321:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9':
				case ':':
				case 'A':
				case 'B':
				case 'C':
				case 'D':
				case 'E':
				case 'F':
				case 'G':
				case 'H':
				case 'I':
				case 'J':
				case 'K':
				case 'L':
				case 'M':
				case 'N':
				case 'O':
				case 'P':
				case 'Q':
				case 'R':
				case 'S':
				case 'T':
				case 'U':
				case 'V':
				case 'W':
				case 'X':
				case 'Y':
				case 'Z':
				case '\\':
				case '_':
				case 'a':
				case 'b':
				case 'c':
				case 'd':
				case 'e':
				case 'f':
				case 'g':
				case 'h':
				case 'i':
				case 'j':
				case 'k':
				case 'l':
				case 'm':
				case 'n':
				case 'o':
				case 'p':
				case 'q':
				case 'r':
				case 's':
				case 't':
				case 'u':
				case 'v':
				case 'w':
				case 'x':
				case 'y':
				case 'z': goto pp47;
				default: goto pp322;
			}
pp322:
			{
			token->opcode = PHQL_T_DISTINCT;
			return 0;
		}
pp323:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp324;
				default: goto pp70;
			}
pp324:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'E':
				case 'e': goto pp325;
				default: goto pp70;
			}
pp325:
			ppch = *++PPCURSOR;
			switch (ppch) {
				case 'N':
				case 'n': goto pp326;
				default: goto pp70;
			}
pp326:
			++PPCURSOR;
			{
			token->opcode = PHQL_T_BETWEEN_NOT;
			return 0;
		}
		}

	}

	return status;
}
