Add enum value for newline
This commit is contained in:
		| @@ -48,6 +48,7 @@ INTERNAL lexer_state_t state_table[COUNT_LEXER_STATES][COUNT_LEXER_INPUTS] = { | ||||
|     0}; | ||||
|  | ||||
| INTERNAL const char *input_strings[COUNT_LEXER_STATES] = { | ||||
|     [LEXER_INPUT_NEWLINE] = "NEWLINE", | ||||
|     [LEXER_INPUT_WHITE_SPACE] = "WHITE_SPACE", | ||||
|     [LEXER_INPUT_OPEN_BRACE] = "OPEN_BRACE", | ||||
|     [LEXER_INPUT_CLOSE_BRACE] = "CLOSE_BRACE", | ||||
| @@ -326,6 +327,7 @@ lexer_state_t lexer_state_machine(lexer_state_t state, lexer_input_t input) { | ||||
|  | ||||
| lexer_state_t handle_lexer_start(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_START; | ||||
|   case LEXER_INPUT_OPEN_BRACE: | ||||
| @@ -338,7 +340,7 @@ lexer_state_t handle_lexer_start(lexer_input_t input) { | ||||
| } | ||||
|  | ||||
| lexer_state_t handle_last_collection(char input) { | ||||
|   if (input == LEXER_INPUT_WHITE_SPACE) { | ||||
|   if (input == LEXER_INPUT_NEWLINE || input == LEXER_INPUT_WHITE_SPACE) { | ||||
|     return LEXER_STATE_LAST_COLLECTION; | ||||
|   } | ||||
|  | ||||
| @@ -347,6 +349,7 @@ lexer_state_t handle_last_collection(char input) { | ||||
|  | ||||
| lexer_state_t handle_object(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_OBJECT; | ||||
|   case LEXER_INPUT_DOUBLE_QUOTE: | ||||
| @@ -360,6 +363,7 @@ lexer_state_t handle_object(lexer_input_t input) { | ||||
|  | ||||
| lexer_state_t handle_array(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_ARRAY; | ||||
|   case LEXER_INPUT_CLOSE_BRACKET: | ||||
| @@ -373,6 +377,7 @@ lexer_state_t handle_key(lexer_input_t input) { return LEXER_STATE_STRING; } | ||||
|  | ||||
| lexer_state_t handle_value(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_VALUE; | ||||
|   case LEXER_INPUT_NON_ZERO: | ||||
| @@ -410,6 +415,7 @@ lexer_state_t handle_string(lexer_input_t input) { | ||||
|  | ||||
| lexer_state_t handle_string_end(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_STRING_END; | ||||
|   case LEXER_INPUT_COLON: | ||||
| @@ -487,6 +493,7 @@ lexer_state_t handle_number(lexer_input_t input) { | ||||
|     return LEXER_STATE_ARRAY_END; | ||||
|   case LEXER_INPUT_COMMA: | ||||
|     return LEXER_STATE_VALUE_END; | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_NUMBER_END; | ||||
|   default: | ||||
| @@ -508,6 +515,7 @@ lexer_state_t handle_fraction(lexer_input_t input) { | ||||
|     return LEXER_STATE_EXPONENT; | ||||
|   case LEXER_INPUT_COMMA: | ||||
|     return LEXER_STATE_VALUE_END; | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_NUMBER_END; | ||||
|   default: | ||||
| @@ -549,6 +557,7 @@ lexer_state_t handle_power(lexer_input_t input) { | ||||
|     return LEXER_STATE_ARRAY_END; | ||||
|   case LEXER_INPUT_COMMA: | ||||
|     return LEXER_STATE_VALUE_END; | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_NUMBER_END; | ||||
|   default: | ||||
| @@ -558,6 +567,7 @@ lexer_state_t handle_power(lexer_input_t input) { | ||||
|  | ||||
| lexer_state_t handle_number_end(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_NUMBER_END; | ||||
|   case LEXER_INPUT_CLOSE_BRACE: | ||||
| @@ -614,6 +624,7 @@ lexer_state_t handle_null(lexer_input_t input, lexer_state_t start_state) { | ||||
|  | ||||
| lexer_state_t handle_keyword_end(lexer_input_t input) { | ||||
|   switch (input) { | ||||
|   case LEXER_INPUT_NEWLINE: | ||||
|   case LEXER_INPUT_WHITE_SPACE: | ||||
|     return LEXER_STATE_KEYWORD_END; | ||||
|   case LEXER_INPUT_CLOSE_BRACE: | ||||
|   | ||||
| @@ -54,6 +54,7 @@ typedef enum { | ||||
| } lexer_state_t; | ||||
|  | ||||
| typedef enum { | ||||
|   LEXER_INPUT_NEWLINE, | ||||
|   LEXER_INPUT_WHITE_SPACE, | ||||
|   LEXER_INPUT_OPEN_BRACE, | ||||
|   LEXER_INPUT_CLOSE_BRACE, | ||||
|   | ||||
| @@ -1,42 +1,42 @@ | ||||
| //        WHITE_SPACE        |          OPEN_BRACE        |         CLOSE_BRACE        |         OPEN_BRACKET       |        CLOSE_BRACKET       |            COMMA           |            COLON           |         DOUBLE_QUOTE       |          BACK_SLASH        |        FORWARD_SLASH       |           LOWER_A          |           LOWER_B          |           LOWER_C          |           LOWER_D          |           LOWER_E          |           LOWER_F          |           LOWER_L          |           LOWER_N          |           LOWER_R          |           LOWER_S          |           LOWER_T          |           LOWER_U          |           UPPER_A          |           UPPER_B          |           UPPER_C          |           UPPER_D          |           UPPER_E          |           UPPER_F          |            MINUS           |             PLUS           |           DECIMAL          |             ZERO           |           NON_ZERO         |            OTHER           |     | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ERROR | ||||
| {           LEXER_STATE_START,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_START | ||||
| {           LEXER_STATE_VALUE,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_F,           LEXER_STATE_ERROR,               LEXER_STATE_N,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_T,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,         LEXER_STATE_DECIMAL,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_VALUE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_VALUE_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT_START | ||||
| {          LEXER_STATE_OBJECT,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_KEY,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY_START | ||||
| {           LEXER_STATE_ARRAY,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,       LEXER_STATE_ARRAY_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_F,           LEXER_STATE_ERROR,               LEXER_STATE_N,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_T,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,         LEXER_STATE_DECIMAL,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY_END | ||||
| { LEXER_STATE_LAST_COLLECTION,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_LAST_COLLECTION | ||||
| {          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING, },  // LEXER_STATE_KEY | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_KEY_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_DECIMAL | ||||
| {      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,          LEXER_STATE_NUMBER,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUMBER | ||||
| {      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXPONENT,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXPONENT,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,        LEXER_STATE_FRACTION,           LEXER_STATE_ERROR, },  // LEXER_STATE_FRACTION | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXP_SIGN,        LEXER_STATE_EXP_SIGN,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_EXPONENT | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_EXP_SIGN | ||||
| {      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_POWER | ||||
| {      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUMBER_END | ||||
| {          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,      LEXER_STATE_STRING_END, LEXER_STATE_ESCAPE_SEQUENCE,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING, },  // LEXER_STATE_STRING | ||||
| {      LEXER_STATE_STRING_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,         LEXER_STATE_KEY_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_STRING_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,    LEXER_STATE_UNICODE_HEX1,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ESCAPE_SEQUENCE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX1 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX2 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX3 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX4 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_TR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_T | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_TRU,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TR | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_TRUE,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TRU | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TRUE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_FA,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_F | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_FAL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FA | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_FALS,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FAL | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_FALSE,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FALS | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FALSE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_NU,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_N | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_NUL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NU | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_NULL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUL | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NULL | ||||
| {     LEXER_STATE_KEYWORD_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_KEYWORD_END | ||||
| //          NEWLINE          |         WHITE_SPACE        |          OPEN_BRACE        |         CLOSE_BRACE        |         OPEN_BRACKET       |        CLOSE_BRACKET       |            COMMA           |            COLON           |         DOUBLE_QUOTE       |          BACK_SLASH        |        FORWARD_SLASH       |           LOWER_A          |           LOWER_B          |           LOWER_C          |           LOWER_D          |           LOWER_E          |           LOWER_F          |           LOWER_L          |           LOWER_N          |           LOWER_R          |           LOWER_S          |           LOWER_T          |           LOWER_U          |           UPPER_A          |           UPPER_B          |           UPPER_C          |           UPPER_D          |           UPPER_E          |           UPPER_F          |            MINUS           |             PLUS           |           DECIMAL          |             ZERO           |           NON_ZERO         |            OTHER           |     | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ERROR | ||||
| {           LEXER_STATE_START,           LEXER_STATE_START,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_START | ||||
| {           LEXER_STATE_VALUE,           LEXER_STATE_VALUE,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_F,           LEXER_STATE_ERROR,               LEXER_STATE_N,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_T,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,         LEXER_STATE_DECIMAL,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_VALUE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_VALUE_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT_START | ||||
| {          LEXER_STATE_OBJECT,          LEXER_STATE_OBJECT,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_KEY,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_OBJECT_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY_START | ||||
| {           LEXER_STATE_ARRAY,           LEXER_STATE_ARRAY,    LEXER_STATE_OBJECT_START,           LEXER_STATE_ERROR,     LEXER_STATE_ARRAY_START,       LEXER_STATE_ARRAY_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_F,           LEXER_STATE_ERROR,               LEXER_STATE_N,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,               LEXER_STATE_T,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,         LEXER_STATE_DECIMAL,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ARRAY_END | ||||
| { LEXER_STATE_LAST_COLLECTION, LEXER_STATE_LAST_COLLECTION,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_LAST_COLLECTION | ||||
| {          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING, },  // LEXER_STATE_KEY | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_KEY_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_DECIMAL | ||||
| {      LEXER_STATE_NUMBER_END,      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,          LEXER_STATE_NUMBER,          LEXER_STATE_NUMBER,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUMBER | ||||
| {      LEXER_STATE_NUMBER_END,      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXPONENT,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXPONENT,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_FRACTION,        LEXER_STATE_FRACTION,           LEXER_STATE_ERROR, },  // LEXER_STATE_FRACTION | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,        LEXER_STATE_EXP_SIGN,        LEXER_STATE_EXP_SIGN,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_EXPONENT | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_EXP_SIGN | ||||
| {      LEXER_STATE_NUMBER_END,      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_POWER,           LEXER_STATE_POWER,           LEXER_STATE_ERROR, },  // LEXER_STATE_POWER | ||||
| {      LEXER_STATE_NUMBER_END,      LEXER_STATE_NUMBER_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUMBER_END | ||||
| {          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,      LEXER_STATE_STRING_END, LEXER_STATE_ESCAPE_SEQUENCE,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING, },  // LEXER_STATE_STRING | ||||
| {      LEXER_STATE_STRING_END,      LEXER_STATE_STRING_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,         LEXER_STATE_KEY_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_STRING_END | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,    LEXER_STATE_UNICODE_HEX1,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_ESCAPE_SEQUENCE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX2,    LEXER_STATE_UNICODE_HEX2,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX1 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX3,    LEXER_STATE_UNICODE_HEX3,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX2 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,    LEXER_STATE_UNICODE_HEX4,    LEXER_STATE_UNICODE_HEX4,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX3 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,          LEXER_STATE_STRING,          LEXER_STATE_STRING,           LEXER_STATE_ERROR, },  // LEXER_STATE_UNICODE_HEX4 | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_TR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_T | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_TRU,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TR | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_TRUE,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TRU | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_TRUE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_FA,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_F | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_FAL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FA | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_FALS,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FAL | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_FALSE,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FALS | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_FALSE | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,              LEXER_STATE_NU,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_N | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,             LEXER_STATE_NUL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NU | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,            LEXER_STATE_NULL,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NUL | ||||
| {           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_NULL | ||||
| {     LEXER_STATE_KEYWORD_END,     LEXER_STATE_KEYWORD_END,           LEXER_STATE_ERROR,      LEXER_STATE_OBJECT_END,           LEXER_STATE_ERROR,       LEXER_STATE_ARRAY_END,       LEXER_STATE_VALUE_END,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR,           LEXER_STATE_ERROR, },  // LEXER_STATE_KEYWORD_END | ||||
|   | ||||
		Reference in New Issue
	
	Block a user