/* 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.
 */

#include "php_phalcon.h"
#include "scanner.h"

/* for re2c */
#define VVCTYPE unsigned char
#define VVCURSOR (s->start)
#define VVLIMIT (s->end)
#define VVMARKER (s->marker)

void phvolt_rtrim(phvolt_scanner_token *token) {

	char *cursor, *removed_str;
	int i;
	char ch;

	if (token->len > 0) {

		cursor = token->value;
		cursor += (token->len - 1);
		for (i = token->len; i > 0; i--) {
			ch = (*cursor);
			if (ch == '\t' || ch == '\n' || ch == '\r' || ch == ' ' || ch == '\v') {
				cursor--;
				continue;
			}
			break;
		}

		if (i >= 0) {
			removed_str = emalloc(i + 1);
			memcpy(removed_str, token->value, i);
			removed_str[i] = '\0';

			efree(token->value);
			token->value = removed_str;
			token->len = i;
		}
	}

}

void phvolt_ltrim(phvolt_scanner_token *token) {

	char *cursor, *removed_str;
	int i;

	if (token->len > 0) {

		cursor = token->value;
		for (i = 0; i < token->len; i++) {
			char ch = (*cursor);
			if (ch == '\t' || ch == '\n' || ch == '\r' || ch == ' ' || ch == '\v') {
				cursor++;
				continue;
			}
			break;
		}

		if (i >= 0) {
			removed_str = emalloc(token->len - i + 1);
			memcpy(removed_str, token->value + i, token->len - i);
			removed_str[token->len - i] = '\0';

			efree(token->value);
			token->value = removed_str;
			token->len = token->len - i;
		}
	}

}

int phvolt_get_token(phvolt_scanner_state *s, phvolt_scanner_token *token) {
	unsigned char next, double_next;
	char *start = VVCURSOR;
	int status = PHVOLT_SCANNER_RETCODE_IMPOSSIBLE;

	while (PHVOLT_SCANNER_RETCODE_IMPOSSIBLE == status) {
		if (s->mode == PHVOLT_MODE_RAW || s->mode == PHVOLT_MODE_COMMENT) {
			next = '\0';
			double_next = '\0';

			if (*VVCURSOR == '\n') {
				s->active_line++;
			}

			if (*VVCURSOR != '\0') {
				next = *(VVCURSOR + 1);
				if (next != '\0') {
					double_next = *(VVCURSOR + 2);
				}
			}

			if (*VVCURSOR == '\0' || (*VVCURSOR == '{' && (next == '%' || next == '{' || next == '#'))) {
				if (next != '#') {
					s->mode = PHVOLT_MODE_CODE;

					if (s->raw_buffer_cursor > 0) {
						token->opcode = PHVOLT_T_RAW_FRAGMENT;
						token->value = emalloc(sizeof(char) * s->raw_buffer_cursor + 1);
						memcpy(token->value, s->raw_buffer, s->raw_buffer_cursor);
						token->value[s->raw_buffer_cursor] = 0;
						token->len = s->raw_buffer_cursor;

						if (s->whitespace_control == 1) {
							phvolt_ltrim(token);
							s->whitespace_control = 0;
						}

						if (double_next == '-') {
							phvolt_rtrim(token);
						}

						s->raw_buffer_cursor = 0;
					} else {
						token->opcode = PHVOLT_T_IGNORE;
					}
				} else {
					while ((next = *(++VVCURSOR))) {
						if (next == '#' && *(VVCURSOR + 1) == '}') {
							VVCURSOR += 2;
							token->opcode = PHVOLT_T_IGNORE;
							return 0;
						} else {
							if (next == '\n') {
								s->active_line++;
							}
						}
					}

					return PHVOLT_SCANNER_RETCODE_EOF;
				}

				return 0;

			} else {
				if (s->raw_buffer_cursor == s->raw_buffer_size) {
					s->raw_buffer_size += PHVOLT_RAW_BUFFER_SIZE;
					s->raw_buffer = erealloc(s->raw_buffer, s->raw_buffer_size);
				}

				memcpy(s->raw_buffer+s->raw_buffer_cursor, VVCURSOR, 1);
				s->raw_buffer_cursor++;

				++VVCURSOR;
			}

		} else if (s->mode == PHVOLT_MODE_VERBATIM) {

			if (*VVCURSOR == '\n') {
				s->active_line++;
			}

			/*
			 * End of input while still inside a verbatim block. Flush
			 * whatever has been captured so far; the parser then reports
			 * the missing {% endverbatim %}.
			 */
			if (*VVCURSOR == '\0') {
				s->mode = PHVOLT_MODE_CODE;

				if (s->raw_buffer_cursor > 0) {
					token->opcode = PHVOLT_T_RAW_FRAGMENT;
					token->value = emalloc(sizeof(char) * s->raw_buffer_cursor + 1);
					memcpy(token->value, s->raw_buffer, s->raw_buffer_cursor);
					token->value[s->raw_buffer_cursor] = 0;
					token->len = s->raw_buffer_cursor;

					s->raw_buffer_cursor = 0;

					return 0;
				}

				return PHVOLT_SCANNER_RETCODE_EOF;
			}

			/*
			 * Detect the closing "{% endverbatim %}" tag, allowing the
			 * optional "-" whitespace-control marker and surrounding
			 * spaces. Everything else - including other "{{", "{%" and
			 * "{#" sequences - is captured as literal content.
			 */
			if (*VVCURSOR == '{' && *(VVCURSOR + 1) == '%') {
				char *peek = VVCURSOR + 2;
				const char *needle = "endverbatim";
				int matched = 1;
				int i;

				if (*peek == '-') {
					peek++;
				}

				while (*peek == ' ' || *peek == '\t' || *peek == '\r' || *peek == '\n') {
					peek++;
				}

				for (i = 0; i < 11; i++) {
					if ((peek[i] | 0x20) != needle[i]) {
						matched = 0;
						break;
					}
				}

				/* "endverbatim" must be a whole word */
				if (matched) {
					char after = peek[11];

					if (
						(after >= 'a' && after <= 'z') ||
						(after >= 'A' && after <= 'Z') ||
						(after >= '0' && after <= '9') ||
						after == '_'
					) {
						matched = 0;
					}
				}

				if (matched) {
					s->mode = PHVOLT_MODE_CODE;

					if (s->raw_buffer_cursor > 0) {
						token->opcode = PHVOLT_T_RAW_FRAGMENT;
						token->value = emalloc(sizeof(char) * s->raw_buffer_cursor + 1);
						memcpy(token->value, s->raw_buffer, s->raw_buffer_cursor);
						token->value[s->raw_buffer_cursor] = 0;
						token->len = s->raw_buffer_cursor;

						s->raw_buffer_cursor = 0;
					} else {
						token->opcode = PHVOLT_T_IGNORE;
					}

					/*
					 * Leave VVCURSOR on "{%" so the {% endverbatim %}
					 * tag is tokenized on the next scan.
					 */
					return 0;
				}
			}

			/* Literal content: buffer the current character and advance */
			if (s->raw_buffer_cursor == s->raw_buffer_size) {
				s->raw_buffer_size += PHVOLT_RAW_BUFFER_SIZE;
				s->raw_buffer = erealloc(s->raw_buffer, s->raw_buffer_size);
			}

			memcpy(s->raw_buffer + s->raw_buffer_cursor, VVCURSOR, 1);
			s->raw_buffer_cursor++;

			++VVCURSOR;

		} else {
		
		{
			VVCTYPE vvch;
			unsigned int vvaccept = 0;
			vvch = *VVCURSOR;
			switch (vvch) {
				case 0x00: goto vv1;
				case '\t':
				case '\r':
				case ' ': goto vv4;
				case '\n': goto vv6;
				case '!': goto vv7;
				case '"': goto vv9;
				case '%': goto vv10;
				case '\'': goto vv12;
				case '(': goto vv13;
				case ')': goto vv14;
				case '*': goto vv15;
				case '+': goto vv17;
				case ',': goto vv19;
				case '-': goto vv20;
				case '.': goto vv22;
				case '/': goto vv24;
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto vv26;
				case ':': goto vv28;
				case '<': goto vv29;
				case '=': goto vv31;
				case '>': goto vv33;
				case '?': goto vv35;
				case 'A':
				case 'a': goto vv36;
				case 'B':
				case 'b': goto vv38;
				case 'C':
				case 'c': goto vv39;
				case 'D':
				case 'd': goto vv40;
				case 'E':
				case 'e': goto vv41;
				case 'F':
				case 'f': goto vv42;
				case 'G':
				case 'H':
				case 'J':
				case 'K':
				case 'L':
				case 'P':
				case 'Q':
				case 'U':
				case 'X':
				case 'Y':
				case 'Z':
				case '_':
				case 'g':
				case 'h':
				case 'j':
				case 'k':
				case 'l':
				case 'p':
				case 'q':
				case 'u':
				case 'x':
				case 'y':
				case 'z': goto vv43;
				case 'I': goto vv45;
				case 'M':
				case 'm': goto vv46;
				case 'N':
				case 'n': goto vv47;
				case 'O':
				case 'o': goto vv48;
				case 'R':
				case 'r': goto vv49;
				case 'S':
				case 's': goto vv50;
				case 'T':
				case 't': goto vv51;
				case 'V':
				case 'v': goto vv52;
				case 'W':
				case 'w': goto vv53;
				case '[': goto vv54;
				case '\\': goto vv55;
				case ']': goto vv56;
				case 'i': goto vv57;
				case '{': goto vv58;
				case '|': goto vv60;
				case '}': goto vv61;
				case '~': goto vv63;
				default: goto vv2;
			}
vv1:
			++VVCURSOR;
			{
			status = PHVOLT_SCANNER_RETCODE_EOF;
			break;
		}
vv2:
			++VVCURSOR;
vv3:
			{
			status = PHVOLT_SCANNER_RETCODE_ERR;
			break;
		}
vv4:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '\t':
				case '\r':
				case ' ': goto vv4;
				default: goto vv5;
			}
vv5:
			{
			token->opcode = PHVOLT_T_IGNORE;
			return 0;
		}
vv6:
			++VVCURSOR;
			{
			s->active_line++;
			token->opcode = PHVOLT_T_IGNORE;
			return 0;
		}
vv7:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv64;
				default: goto vv8;
			}
vv8:
			{
			token->opcode = PHVOLT_T_NOT;
			return 0;
		}
vv9:
			vvaccept = 0;
			vvch = *(VVMARKER = ++VVCURSOR);
			if (vvch <= 0x00) goto vv3;
			goto vv67;
vv10:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '}': goto vv71;
				default: goto vv11;
			}
vv11:
			{
			token->opcode = PHVOLT_T_MOD;
			return 0;
		}
vv12:
			vvaccept = 0;
			vvch = *(VVMARKER = ++VVCURSOR);
			if (vvch <= 0x00) goto vv3;
			goto vv73;
vv13:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_PARENTHESES_OPEN;
			return 0;
		}
vv14:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_PARENTHESES_CLOSE;
			return 0;
		}
vv15:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv75;
				default: goto vv16;
			}
vv16:
			{
			token->opcode = PHVOLT_T_MUL;
			return 0;
		}
vv17:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '+': goto vv76;
				case '=': goto vv77;
				default: goto vv18;
			}
vv18:
			{
			token->opcode = PHVOLT_T_ADD;
			return 0;
		}
vv19:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_COMMA;
			return 0;
		}
vv20:
			vvaccept = 1;
			vvch = *(VVMARKER = ++VVCURSOR);
			switch (vvch) {
				case '%': goto vv78;
				case '-': goto vv79;
				case '=': goto vv80;
				case '}': goto vv81;
				default: goto vv21;
			}
vv21:
			{
			token->opcode = PHVOLT_T_SUB;
			return 0;
		}
vv22:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '.': goto vv82;
				default: goto vv23;
			}
vv23:
			{
			token->opcode = PHVOLT_T_DOT;
			return 0;
		}
vv24:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv83;
				default: goto vv25;
			}
vv25:
			{
			token->opcode = PHVOLT_T_DIV;
			return 0;
		}
vv26:
			vvaccept = 2;
			vvch = *(VVMARKER = ++VVCURSOR);
			switch (vvch) {
				case '.': goto vv84;
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto vv26;
				default: goto vv27;
			}
vv27:
			{
			token->opcode = PHVOLT_T_INTEGER;
			token->value = estrndup(start, VVCURSOR - start);
			token->len = VVCURSOR - start;
			return 0;
		}
vv28:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_COLON;
			return 0;
		}
vv29:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv85;
				case '>': goto vv86;
				default: goto vv30;
			}
vv30:
			{
			token->opcode = PHVOLT_T_LESS;
			return 0;
		}
vv31:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv87;
				default: goto vv32;
			}
vv32:
			{
			token->opcode = PHVOLT_T_ASSIGN;
			return 0;
		}
vv33:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv89;
				default: goto vv34;
			}
vv34:
			{
			token->opcode = PHVOLT_T_GREATER;
			return 0;
		}
vv35:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_QUESTION;
			return 0;
		}
vv36:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv90;
				case 'U':
				case 'u': goto vv91;
				default: goto vv44;
			}
vv37:
			{
			token->opcode = PHVOLT_T_IDENTIFIER;
			token->value = estrndup(start, VVCURSOR - start);
			token->len = VVCURSOR - start;
			return 0;
		}
vv38:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv92;
				case 'R':
				case 'r': goto vv93;
				default: goto vv44;
			}
vv39:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv94;
				case 'O':
				case 'o': goto vv95;
				default: goto vv44;
			}
vv40:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv96;
				case 'O':
				case 'o': goto vv97;
				default: goto vv44;
			}
vv41:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv99;
				case 'M':
				case 'm': goto vv100;
				case 'N':
				case 'n': goto vv101;
				case 'V':
				case 'v': goto vv102;
				case 'X':
				case 'x': goto vv103;
				default: goto vv44;
			}
vv42:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv104;
				case 'O':
				case 'o': goto vv105;
				default: goto vv44;
			}
vv43:
			vvch = *++VVCURSOR;
vv44:
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv37;
			}
vv45:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'F':
				case 'f': goto vv106;
				case 'N':
				case 'n': goto vv108;
				case 'S':
				case 's': goto vv110;
				case 'T':
				case 't': goto vv112;
				default: goto vv44;
			}
vv46:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv113;
				default: goto vv44;
			}
vv47:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv114;
				case 'U':
				case 'u': goto vv115;
				default: goto vv44;
			}
vv48:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv116;
				case 'R':
				case 'r': goto vv117;
				default: goto vv44;
			}
vv49:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv119;
				default: goto vv44;
			}
vv50:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv120;
				case 'E':
				case 'e': goto vv121;
				case 'W':
				case 'w': goto vv122;
				default: goto vv44;
			}
vv51:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv123;
				default: goto vv44;
			}
vv52:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv124;
				default: goto vv44;
			}
vv53:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv125;
				default: goto vv44;
			}
vv54:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_SBRACKET_OPEN;
			return 0;
		}
vv55:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 vv43;
				default: goto vv3;
			}
vv56:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_SBRACKET_CLOSE;
			return 0;
		}
vv57:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'F':
				case 'f': goto vv106;
				case 'N':
				case 'n': goto vv108;
				case 'S': goto vv110;
				case 'T':
				case 't': goto vv112;
				case 's': goto vv126;
				default: goto vv44;
			}
vv58:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '%': goto vv127;
				case '{': goto vv129;
				default: goto vv59;
			}
vv59:
			{
			token->opcode = PHVOLT_T_CBRACKET_OPEN;
			return 0;
		}
vv60:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_PIPE;
			return 0;
		}
vv61:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '}': goto vv131;
				default: goto vv62;
			}
vv62:
			{
			token->opcode = PHVOLT_T_CBRACKET_CLOSE;
			return 0;
		}
vv63:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_CONCAT;
			return 0;
		}
vv64:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv132;
				default: goto vv65;
			}
vv65:
			{
			token->opcode = PHVOLT_T_NOTEQUALS;
			return 0;
		}
vv66:
			vvch = *++VVCURSOR;
vv67:
			switch (vvch) {
				case 0x00: goto vv68;
				case '"': goto vv69;
				case '\\': goto vv70;
				default: goto vv66;
			}
vv68:
			VVCURSOR = VVMARKER;
			switch (vvaccept) {
				case 0: goto vv3;
				case 1: goto vv21;
				case 2: goto vv27;
				default: goto vv111;
			}
vv69:
			++VVCURSOR;
			{
			start++;
			token->opcode = PHVOLT_T_STRING;
			token->value = estrndup(start, VVCURSOR - start - 1);
			token->len = VVCURSOR - start - 1;
			return 0;
		}
vv70:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 0x00:
				case '\n': goto vv68;
				default: goto vv66;
			}
vv71:
			++VVCURSOR;
			{
			if (s->verbatim) {
				s->mode = PHVOLT_MODE_VERBATIM;
				s->verbatim = 0;
			} else {
				s->mode = PHVOLT_MODE_RAW;
			}
			token->opcode = PHVOLT_T_CLOSE_DELIMITER;
			return 0;
		}
vv72:
			vvch = *++VVCURSOR;
vv73:
			switch (vvch) {
				case 0x00: goto vv68;
				case '\'': goto vv69;
				case '\\': goto vv74;
				default: goto vv72;
			}
vv74:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 0x00:
				case '\n': goto vv68;
				default: goto vv72;
			}
vv75:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_MUL_ASSIGN;
			return 0;
		}
vv76:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_INCR;
			return 0;
		}
vv77:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_ADD_ASSIGN;
			return 0;
		}
vv78:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '}': goto vv133;
				default: goto vv68;
			}
vv79:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_DECR;
			return 0;
		}
vv80:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_SUB_ASSIGN;
			return 0;
		}
vv81:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '}': goto vv134;
				default: goto vv68;
			}
vv82:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_RANGE;
			return 0;
		}
vv83:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_DIV_ASSIGN;
			return 0;
		}
vv84:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto vv135;
				default: goto vv68;
			}
vv85:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_LESSEQUAL;
			return 0;
		}
vv86:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_NOTEQUALS;
			return 0;
		}
vv87:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '=': goto vv137;
				default: goto vv88;
			}
vv88:
			{
			token->opcode = PHVOLT_T_EQUALS;
			return 0;
		}
vv89:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_GREATEREQUAL;
			return 0;
		}
vv90:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv138;
				default: goto vv44;
			}
vv91:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv140;
				default: goto vv44;
			}
vv92:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv141;
				default: goto vv44;
			}
vv93:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv142;
				default: goto vv44;
			}
vv94:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv143;
				case 'L':
				case 'l': goto vv144;
				case 'S':
				case 's': goto vv145;
				default: goto vv44;
			}
vv95:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv146;
				default: goto vv44;
			}
vv96:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'F':
				case 'f': goto vv147;
				default: goto vv44;
			}
vv97:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv98;
			}
vv98:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_DO;
			return 0;
		}
vv99:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'S':
				case 's': goto vv148;
				default: goto vv44;
			}
vv100:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'P':
				case 'p': goto vv149;
				default: goto vv44;
			}
vv101:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv150;
				default: goto vv44;
			}
vv102:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv151;
				default: goto vv44;
			}
vv103:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv152;
				default: goto vv44;
			}
vv104:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv153;
				default: goto vv44;
			}
vv105:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv154;
				default: goto vv44;
			}
vv106:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv107;
			}
vv107:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_IF;
			return 0;
		}
vv108:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '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 vv43;
				case 'C':
				case 'c': goto vv156;
				default: goto vv109;
			}
vv109:
			{
			token->opcode = PHVOLT_T_IN;
			return 0;
		}
vv110:
			vvaccept = 3;
			vvch = *(VVMARKER = ++VVCURSOR);
			switch (vvch) {
				case ' ': goto vv157;
				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 '_':
				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 vv43;
				default: goto vv111;
			}
vv111:
			{
			if (s->active_token == PHVOLT_T_DOT) {
				token->opcode = PHVOLT_T_IDENTIFIER;
				token->value = estrndup(start, VVCURSOR - start);
				token->len = VVCURSOR - start;
			} else {
				s->statement_position++;
				token->opcode = PHVOLT_T_IS;
			}

			return 0;
		}
vv112:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv158;
				default: goto vv44;
			}
vv113:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv159;
				default: goto vv44;
			}
vv114:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv160;
				default: goto vv44;
			}
vv115:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv162;
				case 'M':
				case 'm': goto vv163;
				default: goto vv44;
			}
vv116:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv164;
				default: goto vv44;
			}
vv117:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv118;
			}
vv118:
			{
			token->opcode = PHVOLT_T_OR;
			return 0;
		}
vv119:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv166;
				default: goto vv44;
			}
vv120:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv167;
				default: goto vv44;
			}
vv121:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv168;
				default: goto vv44;
			}
vv122:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv170;
				default: goto vv44;
			}
vv123:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv171;
				default: goto vv44;
			}
vv124:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv172;
				default: goto vv44;
			}
vv125:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv173;
				default: goto vv44;
			}
vv126:
			vvaccept = 3;
			vvch = *(VVMARKER = ++VVCURSOR);
			switch (vvch) {
				case ' ': goto vv174;
				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 '_':
				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 vv43;
				default: goto vv111;
			}
vv127:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '-': goto vv175;
				default: goto vv128;
			}
vv128:
			{
			s->whitespace_control = 0;
			token->opcode = PHVOLT_T_OPEN_DELIMITER;
			return 0;
		}
vv129:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '-': goto vv176;
				default: goto vv130;
			}
vv130:
			{
			s->whitespace_control = 0;
			s->statement_position++;
			token->opcode = PHVOLT_T_OPEN_EDELIMITER;
			return 0;
		}
vv131:
			++VVCURSOR;
			{
			s->mode = PHVOLT_MODE_RAW;
			s->verbatim = 0;
			token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
			return 0;
		}
vv132:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_NOTIDENTICAL;
			return 0;
		}
vv133:
			++VVCURSOR;
			{
			if (s->verbatim) {
				s->mode = PHVOLT_MODE_VERBATIM;
				s->verbatim = 0;
			} else {
				s->mode = PHVOLT_MODE_RAW;
			}
			s->whitespace_control = 1;
			token->opcode = PHVOLT_T_CLOSE_DELIMITER;
			return 0;
		}
vv134:
			++VVCURSOR;
			{
			s->mode = PHVOLT_MODE_RAW;
			s->whitespace_control = 1;
			s->verbatim = 0;
			token->opcode = PHVOLT_T_CLOSE_EDELIMITER;
			return 0;
		}
vv135:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case '0':
				case '1':
				case '2':
				case '3':
				case '4':
				case '5':
				case '6':
				case '7':
				case '8':
				case '9': goto vv135;
				default: goto vv136;
			}
vv136:
			{
			token->opcode = PHVOLT_T_DOUBLE;
			token->value = estrndup(start, VVCURSOR - start);
			token->len = VVCURSOR - start;
			return 0;
		}
vv137:
			++VVCURSOR;
			{
			token->opcode = PHVOLT_T_IDENTICAL;
			return 0;
		}
vv138:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv139;
			}
vv139:
			{
			token->opcode = PHVOLT_T_AND;
			return 0;
		}
vv140:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv177;
				default: goto vv44;
			}
vv141:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv178;
				default: goto vv44;
			}
vv142:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv179;
				default: goto vv44;
			}
vv143:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'H':
				case 'h': goto vv180;
				default: goto vv44;
			}
vv144:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv181;
				default: goto vv44;
			}
vv145:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv183;
				default: goto vv44;
			}
vv146:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv185;
				default: goto vv44;
			}
vv147:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv186;
				case 'I':
				case 'i': goto vv187;
				default: goto vv44;
			}
vv148:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv188;
				default: goto vv44;
			}
vv149:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv190;
				default: goto vv44;
			}
vv150:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv191;
				case 'B':
				case 'b': goto vv192;
				case 'C':
				case 'c': goto vv193;
				case 'F':
				case 'f': goto vv194;
				case 'I':
				case 'i': goto vv195;
				case 'M':
				case 'm': goto vv196;
				case 'S':
				case 's': goto vv197;
				case 'V':
				case 'v': goto vv198;
				default: goto vv44;
			}
vv151:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv199;
				default: goto vv44;
			}
vv152:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv201;
				default: goto vv44;
			}
vv153:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'S':
				case 's': goto vv202;
				default: goto vv44;
			}
vv154:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv155;
			}
vv155:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_FOR;
			return 0;
		}
vv156:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv203;
				default: goto vv44;
			}
vv157:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv204;
				default: goto vv68;
			}
vv158:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv205;
				default: goto vv44;
			}
vv159:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv206;
				default: goto vv44;
			}
vv160:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv161;
			}
vv161:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_NOT;
			return 0;
		}
vv162:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv207;
				default: goto vv44;
			}
vv163:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv209;
				default: goto vv44;
			}
vv164:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv165;
			}
vv165:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_ODD;
			return 0;
		}
vv166:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv210;
				default: goto vv44;
			}
vv167:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv211;
				default: goto vv44;
			}
vv168:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv169;
			}
vv169:
			{
			if (s->active_token == PHVOLT_T_DOT) {
				token->opcode = PHVOLT_T_IDENTIFIER;
				token->value = estrndup(start, VVCURSOR - start);
				token->len = VVCURSOR - start;
			} else {
				token->opcode = PHVOLT_T_SET;
			}

			return 0;
		}
vv170:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv212;
				default: goto vv44;
			}
vv171:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv213;
				default: goto vv44;
			}
vv172:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'B':
				case 'b': goto vv215;
				default: goto vv44;
			}
vv173:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'H':
				case 'h': goto vv216;
				default: goto vv44;
			}
vv174:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv204;
				default: goto vv219;
			}
vv175:
			++VVCURSOR;
			{
			s->whitespace_control = 0;
			token->opcode = PHVOLT_T_OPEN_DELIMITER;
			return 0;
		}
vv176:
			++VVCURSOR;
			{
			s->whitespace_control = 0;
			s->statement_position++;
			token->opcode = PHVOLT_T_OPEN_EDELIMITER;
			return 0;
		}
vv177:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv220;
				default: goto vv44;
			}
vv178:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'K':
				case 'k': goto vv221;
				default: goto vv44;
			}
vv179:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'K':
				case 'k': goto vv223;
				default: goto vv44;
			}
vv180:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv225;
				default: goto vv44;
			}
vv181:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv182;
			}
vv182:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_CALL;
			return 0;
		}
vv183:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv184;
			}
vv184:
			{
			token->opcode = PHVOLT_T_CASE;
			return 0;
		}
vv185:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv227;
				default: goto vv44;
			}
vv186:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv228;
				default: goto vv44;
			}
vv187:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv229;
				default: goto vv44;
			}
vv188:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 'G':
				case 'H':
				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 'g':
				case 'h':
				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 vv43;
				case 'F':
				case 'f': goto vv230;
				case 'I':
				case 'i': goto vv231;
				default: goto vv189;
			}
vv189:
			{
			token->opcode = PHVOLT_T_ELSE;
			return 0;
		}
vv190:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'Y':
				case 'y': goto vv232;
				default: goto vv44;
			}
vv191:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv234;
				default: goto vv44;
			}
vv192:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv235;
				default: goto vv44;
			}
vv193:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv236;
				default: goto vv44;
			}
vv194:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv237;
				default: goto vv44;
			}
vv195:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'F':
				case 'f': goto vv238;
				default: goto vv44;
			}
vv196:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv240;
				default: goto vv44;
			}
vv197:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'W':
				case 'w': goto vv241;
				default: goto vv44;
			}
vv198:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv242;
				default: goto vv44;
			}
vv199:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv200;
			}
vv200:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_EVEN;
			return 0;
		}
vv201:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv243;
				default: goto vv44;
			}
vv202:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv244;
				default: goto vv44;
			}
vv203:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv246;
				default: goto vv44;
			}
vv204:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv247;
				default: goto vv68;
			}
vv205:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv248;
				default: goto vv44;
			}
vv206:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv249;
				default: goto vv44;
			}
vv207:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv208;
			}
vv208:
			{
			token->opcode = PHVOLT_T_NULL;
			return 0;
		}
vv209:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv251;
				default: goto vv44;
			}
vv210:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv252;
				default: goto vv44;
			}
vv211:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv253;
				default: goto vv44;
			}
vv212:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv254;
				default: goto vv44;
			}
vv213:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv214;
			}
vv214:
			{
			token->opcode = PHVOLT_T_TRUE;
			return 0;
		}
vv215:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv255;
				default: goto vv44;
			}
vv216:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv217;
			}
vv217:
			{
			token->opcode = PHVOLT_T_WITH;
			return 0;
		}
vv218:
			vvch = *++VVCURSOR;
vv219:
			switch (vvch) {
				case ' ': goto vv218;
				case 'n': goto vv256;
				default: goto vv68;
			}
vv220:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'S':
				case 's': goto vv257;
				default: goto vv44;
			}
vv221:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv222;
			}
vv222:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_BLOCK;
			return 0;
		}
vv223:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv224;
			}
vv224:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_BREAK;
			return 0;
		}
vv225:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv226;
			}
vv226:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_CACHE;
			return 0;
		}
vv227:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv258;
				default: goto vv44;
			}
vv228:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv259;
				default: goto vv44;
			}
vv229:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv260;
				default: goto vv44;
			}
vv230:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv261;
				default: goto vv44;
			}
vv231:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'F':
				case 'f': goto vv262;
				default: goto vv44;
			}
vv232:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv233;
			}
vv233:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_EMPTY;
			return 0;
		}
vv234:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv264;
				default: goto vv44;
			}
vv235:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv265;
				default: goto vv44;
			}
vv236:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv266;
				case 'L':
				case 'l': goto vv267;
				default: goto vv44;
			}
vv237:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv268;
				default: goto vv44;
			}
vv238:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv239;
			}
vv239:
			{
			token->opcode = PHVOLT_T_ENDIF;
			return 0;
		}
vv240:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv270;
				default: goto vv44;
			}
vv241:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv271;
				default: goto vv44;
			}
vv242:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv272;
				default: goto vv44;
			}
vv243:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv273;
				default: goto vv44;
			}
vv244:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv245;
			}
vv245:
			{
			token->opcode = PHVOLT_T_FALSE;
			return 0;
		}
vv246:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv274;
				default: goto vv44;
			}
vv247:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv275;
				default: goto vv68;
			}
vv248:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'B':
				case 'b': goto vv276;
				default: goto vv44;
			}
vv249:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv250;
			}
vv250:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_MACRO;
			return 0;
		}
vv251:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv277;
				default: goto vv44;
			}
vv252:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'N':
				case 'n': goto vv278;
				default: goto vv44;
			}
vv253:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv280;
				default: goto vv44;
			}
vv254:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'H':
				case 'h': goto vv282;
				default: goto vv44;
			}
vv255:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv284;
				default: goto vv44;
			}
vv256:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'o': goto vv285;
				default: goto vv68;
			}
vv257:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv286;
				default: goto vv44;
			}
vv258:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'U':
				case 'u': goto vv287;
				default: goto vv44;
			}
vv259:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv288;
				default: goto vv44;
			}
vv260:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'D':
				case 'd': goto vv290;
				default: goto vv44;
			}
vv261:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv292;
				default: goto vv44;
			}
vv262:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv263;
			}
vv263:
			{
			token->opcode = PHVOLT_T_ELSEIF;
			return 0;
		}
vv264:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv294;
				default: goto vv44;
			}
vv265:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv295;
				default: goto vv44;
			}
vv266:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'H':
				case 'h': goto vv296;
				default: goto vv44;
			}
vv267:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv297;
				default: goto vv44;
			}
vv268:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv269;
			}
vv269:
			{
			token->opcode = PHVOLT_T_ENDFOR;
			return 0;
		}
vv270:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'R':
				case 'r': goto vv299;
				default: goto vv44;
			}
vv271:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv300;
				default: goto vv44;
			}
vv272:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'B':
				case 'b': goto vv301;
				default: goto vv44;
			}
vv273:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'S':
				case 's': goto vv302;
				default: goto vv44;
			}
vv274:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv304;
				default: goto vv44;
			}
vv275:
			++VVCURSOR;
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_NOTEQUALS;
			return 0;
		}
vv276:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'L':
				case 'l': goto vv306;
				default: goto vv44;
			}
vv277:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv307;
				default: goto vv44;
			}
vv278:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv279;
			}
vv279:
			{
			token->opcode = PHVOLT_T_RETURN;
			return 0;
		}
vv280:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv281;
			}
vv281:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_SCALAR;
			return 0;
		}
vv282:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv283;
			}
vv283:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_SWITCH;
			return 0;
		}
vv284:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv309;
				default: goto vv44;
			}
vv285:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 't': goto vv310;
				default: goto vv68;
			}
vv286:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv311;
				default: goto vv44;
			}
vv287:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv312;
				default: goto vv44;
			}
vv288:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv289;
			}
vv289:
			{
			token->opcode = PHVOLT_T_DEFAULT;
			token->value = estrndup(start, VVCURSOR - start);
			token->len = VVCURSOR - start;
			return 0;
		}
vv290:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv291;
			}
vv291:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_DEFINED;
			return 0;
		}
vv292:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv293;
			}
vv293:
			{
			token->opcode = PHVOLT_T_ELSEFOR;
			return 0;
		}
vv294:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv314;
				default: goto vv44;
			}
vv295:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'K':
				case 'k': goto vv315;
				default: goto vv44;
			}
vv296:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv317;
				default: goto vv44;
			}
vv297:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv298;
			}
vv298:
			{
			token->opcode = PHVOLT_T_ENDCALL;
			return 0;
		}
vv299:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'O':
				case 'o': goto vv319;
				default: goto vv44;
			}
vv300:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv321;
				default: goto vv44;
			}
vv301:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv322;
				default: goto vv44;
			}
vv302:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv303;
			}
vv303:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_EXTENDS;
			return 0;
		}
vv304:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv305;
			}
vv305:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_INCLUDE;
			return 0;
		}
vv306:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv323;
				default: goto vv44;
			}
vv307:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv308;
			}
vv308:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_NUMERIC;
			return 0;
		}
vv309:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'M':
				case 'm': goto vv325;
				default: goto vv44;
			}
vv310:
			++VVCURSOR;
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_NOTEQUALS;
			return 0;
		}
vv311:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'P':
				case 'p': goto vv327;
				default: goto vv44;
			}
vv312:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv313;
			}
vv313:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_CONTINUE;
			return 0;
		}
vv314:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'S':
				case 's': goto vv328;
				default: goto vv44;
			}
vv315:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv316;
			}
vv316:
			{
			token->opcode = PHVOLT_T_ENDBLOCK;
			return 0;
		}
vv317:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv318;
			}
vv318:
			{
			token->opcode = PHVOLT_T_ENDCACHE;
			return 0;
		}
vv319:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv320;
			}
vv320:
			{
			token->opcode = PHVOLT_T_ENDMACRO;
			return 0;
		}
vv321:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'H':
				case 'h': goto vv329;
				default: goto vv44;
			}
vv322:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'T':
				case 't': goto vv331;
				default: goto vv44;
			}
vv323:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv324;
			}
vv324:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_ITERABLE;
			return 0;
		}
vv325:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv326;
			}
vv326:
			{
			s->statement_position++;
			s->verbatim = 1;
			token->opcode = PHVOLT_T_VERBATIM;
			return 0;
		}
vv327:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv332;
				default: goto vv44;
			}
vv328:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'C':
				case 'c': goto vv334;
				default: goto vv44;
			}
vv329:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv330;
			}
vv330:
			{
			token->opcode = PHVOLT_T_ENDSWITCH;
			return 0;
		}
vv331:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'I':
				case 'i': goto vv335;
				default: goto vv44;
			}
vv332:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv333;
			}
vv333:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_AUTOESCAPE;
			return 0;
		}
vv334:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'A':
				case 'a': goto vv336;
				default: goto vv44;
			}
vv335:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'M':
				case 'm': goto vv337;
				default: goto vv44;
			}
vv336:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'P':
				case 'p': goto vv339;
				default: goto vv44;
			}
vv337:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv338;
			}
vv338:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_ENDVERBATIM;
			return 0;
		}
vv339:
			vvch = *++VVCURSOR;
			switch (vvch) {
				case 'E':
				case 'e': goto vv340;
				default: goto vv44;
			}
vv340:
			vvch = *++VVCURSOR;
			switch (vvch) {
				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 '_':
				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 vv43;
				default: goto vv341;
			}
vv341:
			{
			s->statement_position++;
			token->opcode = PHVOLT_T_ENDAUTOESCAPE;
			return 0;
		}
		}


		}
	}

	return status;
}
