tree-sitter/examples/parsers/json.c
Max Brunsfeld 2df56f01c8 Remove public hidden symbol function
Now, you can't a particular occurrence of a symbol
in a grammar. You can only hide a symbol globally
(right now, by beginning its name with an underscore).
2014-03-25 08:16:26 -07:00

753 lines
21 KiB
C

#include "tree_sitter/parser.h"
#define TS_SYMBOL_COUNT 18
enum {
ts_sym_array,
ts_sym_false,
ts_sym_null,
ts_sym_number,
ts_sym_object,
ts_sym_string,
ts_sym_true,
ts_sym_value,
ts_aux_sym_repeat_helper1,
ts_aux_sym_repeat_helper2,
ts_aux_sym_token1,
ts_aux_sym_token2,
ts_aux_sym_token3,
ts_aux_sym_token4,
ts_aux_sym_token5,
ts_aux_sym_token6,
};
SYMBOL_NAMES = {
"array",
"false",
"null",
"number",
"object",
"string",
"true",
"value",
"repeat_helper1",
"repeat_helper2",
"token1",
"token2",
"token3",
"token4",
"token5",
"token6",
};
LEX_FN() {
START_LEXER();
switch (LEX_STATE()) {
case 0:
LEX_ERROR();
case 1:
if (LOOKAHEAD_CHAR() == ',')
ADVANCE(2);
if (LOOKAHEAD_CHAR() == '}')
ADVANCE(3);
LEX_ERROR();
case 2:
ACCEPT_TOKEN(ts_aux_sym_token3);
case 3:
ACCEPT_TOKEN(ts_aux_sym_token4);
case 4:
if (LOOKAHEAD_CHAR() == '}')
ADVANCE(3);
LEX_ERROR();
case 5:
if (LOOKAHEAD_CHAR() == ',')
ADVANCE(2);
if (LOOKAHEAD_CHAR() == ']')
ADVANCE(6);
LEX_ERROR();
case 6:
ACCEPT_TOKEN(ts_aux_sym_token6);
case 7:
if (LOOKAHEAD_CHAR() == ']')
ADVANCE(6);
LEX_ERROR();
case 8:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(9);
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(19);
if (LOOKAHEAD_CHAR() == '[')
ADVANCE(24);
if (LOOKAHEAD_CHAR() == 'f')
ADVANCE(25);
if (LOOKAHEAD_CHAR() == 'n')
ADVANCE(30);
if (LOOKAHEAD_CHAR() == 't')
ADVANCE(34);
if (LOOKAHEAD_CHAR() == '{')
ADVANCE(38);
LEX_ERROR();
case 9:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(10);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(16);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(18);
LEX_ERROR();
case 10:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(12);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
LEX_ERROR();
case 11:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(12);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
LEX_ERROR();
case 12:
ACCEPT_TOKEN(ts_sym_string);
case 13:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(14);
if ('#' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\"')
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
LEX_ERROR();
case 14:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(12);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
ACCEPT_TOKEN(ts_sym_string);
case 15:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(11);
LEX_ERROR();
case 16:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(17);
if ('#' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\"')
ADVANCE(10);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
LEX_ERROR();
case 17:
if (!((LOOKAHEAD_CHAR() == '\"') ||
(LOOKAHEAD_CHAR() == '\\')))
ADVANCE(11);
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(12);
if (LOOKAHEAD_CHAR() == '\\')
ADVANCE(13);
if (']' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '\\')
ADVANCE(15);
ACCEPT_TOKEN(ts_sym_string);
case 18:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(10);
LEX_ERROR();
case 19:
if (LOOKAHEAD_CHAR() == '.')
ADVANCE(20);
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(23);
ACCEPT_TOKEN(ts_sym_number);
case 20:
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(21);
LEX_ERROR();
case 21:
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(22);
ACCEPT_TOKEN(ts_sym_number);
case 22:
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(22);
ACCEPT_TOKEN(ts_sym_number);
case 23:
if (LOOKAHEAD_CHAR() == '.')
ADVANCE(20);
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(23);
ACCEPT_TOKEN(ts_sym_number);
case 24:
ACCEPT_TOKEN(ts_aux_sym_token5);
case 25:
if (LOOKAHEAD_CHAR() == 'a')
ADVANCE(26);
LEX_ERROR();
case 26:
if (LOOKAHEAD_CHAR() == 'l')
ADVANCE(27);
LEX_ERROR();
case 27:
if (LOOKAHEAD_CHAR() == 's')
ADVANCE(28);
LEX_ERROR();
case 28:
if (LOOKAHEAD_CHAR() == 'e')
ADVANCE(29);
LEX_ERROR();
case 29:
ACCEPT_TOKEN(ts_sym_false);
case 30:
if (LOOKAHEAD_CHAR() == 'u')
ADVANCE(31);
LEX_ERROR();
case 31:
if (LOOKAHEAD_CHAR() == 'l')
ADVANCE(32);
LEX_ERROR();
case 32:
if (LOOKAHEAD_CHAR() == 'l')
ADVANCE(33);
LEX_ERROR();
case 33:
ACCEPT_TOKEN(ts_sym_null);
case 34:
if (LOOKAHEAD_CHAR() == 'r')
ADVANCE(35);
LEX_ERROR();
case 35:
if (LOOKAHEAD_CHAR() == 'u')
ADVANCE(36);
LEX_ERROR();
case 36:
if (LOOKAHEAD_CHAR() == 'e')
ADVANCE(37);
LEX_ERROR();
case 37:
ACCEPT_TOKEN(ts_sym_true);
case 38:
ACCEPT_TOKEN(ts_aux_sym_token1);
case 39:
if (LOOKAHEAD_CHAR() == ':')
ADVANCE(40);
LEX_ERROR();
case 40:
ACCEPT_TOKEN(ts_aux_sym_token2);
case 41:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(9);
if (LOOKAHEAD_CHAR() == '}')
ADVANCE(3);
LEX_ERROR();
case 42:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(9);
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(19);
if (LOOKAHEAD_CHAR() == '[')
ADVANCE(24);
if (LOOKAHEAD_CHAR() == ']')
ADVANCE(6);
if (LOOKAHEAD_CHAR() == 'f')
ADVANCE(25);
if (LOOKAHEAD_CHAR() == 'n')
ADVANCE(30);
if (LOOKAHEAD_CHAR() == 't')
ADVANCE(34);
if (LOOKAHEAD_CHAR() == '{')
ADVANCE(38);
LEX_ERROR();
case 43:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(9);
LEX_ERROR();
case ts_lex_state_error:
if (LOOKAHEAD_CHAR() == '\"')
ADVANCE(9);
if (LOOKAHEAD_CHAR() == ',')
ADVANCE(2);
if ('0' <= LOOKAHEAD_CHAR() && LOOKAHEAD_CHAR() <= '9')
ADVANCE(19);
if (LOOKAHEAD_CHAR() == ':')
ADVANCE(40);
if (LOOKAHEAD_CHAR() == '[')
ADVANCE(24);
if (LOOKAHEAD_CHAR() == ']')
ADVANCE(6);
if (LOOKAHEAD_CHAR() == 'f')
ADVANCE(25);
if (LOOKAHEAD_CHAR() == 'n')
ADVANCE(30);
if (LOOKAHEAD_CHAR() == 't')
ADVANCE(34);
if (LOOKAHEAD_CHAR() == '{')
ADVANCE(38);
if (LOOKAHEAD_CHAR() == '}')
ADVANCE(3);
LEX_ERROR();
default:
LEX_PANIC();
}
}
PARSE_TABLE() {
START_TABLE(60)
STATE(0);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 1)
SHIFT(ts_sym_false, 1)
SHIFT(ts_sym_null, 1)
SHIFT(ts_sym_number, 1)
SHIFT(ts_sym_object, 1)
SHIFT(ts_sym_string, 1)
SHIFT(ts_sym_true, 1)
SHIFT(ts_sym_value, 2)
SHIFT(ts_aux_sym_token1, 3)
SHIFT(ts_aux_sym_token5, 55)
END_STATE();
STATE(1);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_value, 1, COLLAPSE({0}))
END_STATE();
STATE(2);
SET_LEX_STATE(0);
ACCEPT_INPUT(ts_builtin_sym_end)
END_STATE();
STATE(3);
SET_LEX_STATE(41);
SHIFT(ts_sym_string, 4)
SHIFT(ts_aux_sym_token4, 51)
SHIFT(ts_builtin_sym_error, 52)
END_STATE();
STATE(4);
SET_LEX_STATE(39);
SHIFT(ts_aux_sym_token2, 5)
END_STATE();
STATE(5);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 6)
SHIFT(ts_sym_false, 6)
SHIFT(ts_sym_null, 6)
SHIFT(ts_sym_number, 6)
SHIFT(ts_sym_object, 6)
SHIFT(ts_sym_string, 6)
SHIFT(ts_sym_true, 6)
SHIFT(ts_sym_value, 7)
SHIFT(ts_aux_sym_token1, 15)
SHIFT(ts_aux_sym_token5, 21)
END_STATE();
STATE(6);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_value, 1, COLLAPSE({0}))
REDUCE(ts_aux_sym_token4, ts_sym_value, 1, COLLAPSE({0}))
END_STATE();
STATE(7);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 8)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(8);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 9)
END_STATE();
STATE(9);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_object, 6, COLLAPSE({1, 0, 1, 0, 1, 1}))
END_STATE();
STATE(10);
SET_LEX_STATE(43);
SHIFT(ts_sym_string, 11)
SHIFT(ts_builtin_sym_error, 49)
END_STATE();
STATE(11);
SET_LEX_STATE(39);
SHIFT(ts_aux_sym_token2, 12)
END_STATE();
STATE(12);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 6)
SHIFT(ts_sym_false, 6)
SHIFT(ts_sym_null, 6)
SHIFT(ts_sym_number, 6)
SHIFT(ts_sym_object, 6)
SHIFT(ts_sym_string, 6)
SHIFT(ts_sym_true, 6)
SHIFT(ts_sym_value, 13)
SHIFT(ts_aux_sym_token1, 15)
SHIFT(ts_aux_sym_token5, 21)
END_STATE();
STATE(13);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 14)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(14);
SET_LEX_STATE(4);
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 5, COLLAPSE({1, 0, 1, 0, 1}))
END_STATE();
STATE(15);
SET_LEX_STATE(41);
SHIFT(ts_sym_string, 16)
SHIFT(ts_aux_sym_token4, 45)
SHIFT(ts_builtin_sym_error, 46)
END_STATE();
STATE(16);
SET_LEX_STATE(39);
SHIFT(ts_aux_sym_token2, 17)
END_STATE();
STATE(17);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 6)
SHIFT(ts_sym_false, 6)
SHIFT(ts_sym_null, 6)
SHIFT(ts_sym_number, 6)
SHIFT(ts_sym_object, 6)
SHIFT(ts_sym_string, 6)
SHIFT(ts_sym_true, 6)
SHIFT(ts_sym_value, 18)
SHIFT(ts_aux_sym_token1, 15)
SHIFT(ts_aux_sym_token5, 21)
END_STATE();
STATE(18);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 19)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(19);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 20)
END_STATE();
STATE(20);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_object, 6, COLLAPSE({1, 0, 1, 0, 1, 1}))
REDUCE(ts_aux_sym_token4, ts_sym_object, 6, COLLAPSE({1, 0, 1, 0, 1, 1}))
END_STATE();
STATE(21);
SET_LEX_STATE(42);
SHIFT(ts_sym_array, 22)
SHIFT(ts_sym_false, 22)
SHIFT(ts_sym_null, 22)
SHIFT(ts_sym_number, 22)
SHIFT(ts_sym_object, 22)
SHIFT(ts_sym_string, 22)
SHIFT(ts_sym_true, 22)
SHIFT(ts_sym_value, 23)
SHIFT(ts_aux_sym_token1, 29)
SHIFT(ts_aux_sym_token5, 39)
SHIFT(ts_aux_sym_token6, 44)
SHIFT(ts_builtin_sym_error, 23)
END_STATE();
STATE(22);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_value, 1, COLLAPSE({0}))
REDUCE(ts_aux_sym_token6, ts_sym_value, 1, COLLAPSE({0}))
END_STATE();
STATE(23);
SET_LEX_STATE(5);
SHIFT(ts_aux_sym_repeat_helper2, 24)
SHIFT(ts_aux_sym_token3, 26)
REDUCE(ts_aux_sym_token6, ts_aux_sym_repeat_helper2, 0, COLLAPSE({}))
END_STATE();
STATE(24);
SET_LEX_STATE(7);
SHIFT(ts_aux_sym_token6, 25)
END_STATE();
STATE(25);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_array, 4, COLLAPSE({1, 0, 1, 1}))
REDUCE(ts_aux_sym_token4, ts_sym_array, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(26);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 22)
SHIFT(ts_sym_false, 22)
SHIFT(ts_sym_null, 22)
SHIFT(ts_sym_number, 22)
SHIFT(ts_sym_object, 22)
SHIFT(ts_sym_string, 22)
SHIFT(ts_sym_true, 22)
SHIFT(ts_sym_value, 27)
SHIFT(ts_aux_sym_token1, 29)
SHIFT(ts_aux_sym_token5, 39)
SHIFT(ts_builtin_sym_error, 27)
END_STATE();
STATE(27);
SET_LEX_STATE(5);
SHIFT(ts_aux_sym_repeat_helper2, 28)
SHIFT(ts_aux_sym_token3, 26)
REDUCE(ts_aux_sym_token6, ts_aux_sym_repeat_helper2, 0, COLLAPSE({}))
END_STATE();
STATE(28);
SET_LEX_STATE(7);
REDUCE(ts_aux_sym_token6, ts_aux_sym_repeat_helper2, 3, COLLAPSE({1, 0, 1}))
END_STATE();
STATE(29);
SET_LEX_STATE(41);
SHIFT(ts_sym_string, 30)
SHIFT(ts_aux_sym_token4, 35)
SHIFT(ts_builtin_sym_error, 36)
END_STATE();
STATE(30);
SET_LEX_STATE(39);
SHIFT(ts_aux_sym_token2, 31)
END_STATE();
STATE(31);
SET_LEX_STATE(8);
SHIFT(ts_sym_array, 6)
SHIFT(ts_sym_false, 6)
SHIFT(ts_sym_null, 6)
SHIFT(ts_sym_number, 6)
SHIFT(ts_sym_object, 6)
SHIFT(ts_sym_string, 6)
SHIFT(ts_sym_true, 6)
SHIFT(ts_sym_value, 32)
SHIFT(ts_aux_sym_token1, 15)
SHIFT(ts_aux_sym_token5, 21)
END_STATE();
STATE(32);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 33)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(33);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 34)
END_STATE();
STATE(34);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_object, 6, COLLAPSE({1, 0, 1, 0, 1, 1}))
REDUCE(ts_aux_sym_token6, ts_sym_object, 6, COLLAPSE({1, 0, 1, 0, 1, 1}))
END_STATE();
STATE(35);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_object, 2, COLLAPSE({1, 1}))
REDUCE(ts_aux_sym_token6, ts_sym_object, 2, COLLAPSE({1, 1}))
END_STATE();
STATE(36);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 37)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(37);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 38)
END_STATE();
STATE(38);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_object, 4, COLLAPSE({1, 0, 1, 1}))
REDUCE(ts_aux_sym_token6, ts_sym_object, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(39);
SET_LEX_STATE(42);
SHIFT(ts_sym_array, 22)
SHIFT(ts_sym_false, 22)
SHIFT(ts_sym_null, 22)
SHIFT(ts_sym_number, 22)
SHIFT(ts_sym_object, 22)
SHIFT(ts_sym_string, 22)
SHIFT(ts_sym_true, 22)
SHIFT(ts_sym_value, 40)
SHIFT(ts_aux_sym_token1, 29)
SHIFT(ts_aux_sym_token5, 39)
SHIFT(ts_aux_sym_token6, 43)
SHIFT(ts_builtin_sym_error, 40)
END_STATE();
STATE(40);
SET_LEX_STATE(5);
SHIFT(ts_aux_sym_repeat_helper2, 41)
SHIFT(ts_aux_sym_token3, 26)
REDUCE(ts_aux_sym_token6, ts_aux_sym_repeat_helper2, 0, COLLAPSE({}))
END_STATE();
STATE(41);
SET_LEX_STATE(7);
SHIFT(ts_aux_sym_token6, 42)
END_STATE();
STATE(42);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_array, 4, COLLAPSE({1, 0, 1, 1}))
REDUCE(ts_aux_sym_token6, ts_sym_array, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(43);
SET_LEX_STATE(5);
REDUCE(ts_aux_sym_token3, ts_sym_array, 2, COLLAPSE({1, 1}))
REDUCE(ts_aux_sym_token6, ts_sym_array, 2, COLLAPSE({1, 1}))
END_STATE();
STATE(44);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_array, 2, COLLAPSE({1, 1}))
REDUCE(ts_aux_sym_token4, ts_sym_array, 2, COLLAPSE({1, 1}))
END_STATE();
STATE(45);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_object, 2, COLLAPSE({1, 1}))
REDUCE(ts_aux_sym_token4, ts_sym_object, 2, COLLAPSE({1, 1}))
END_STATE();
STATE(46);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 47)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(47);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 48)
END_STATE();
STATE(48);
SET_LEX_STATE(1);
REDUCE(ts_aux_sym_token3, ts_sym_object, 4, COLLAPSE({1, 0, 1, 1}))
REDUCE(ts_aux_sym_token4, ts_sym_object, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(49);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 50)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(50);
SET_LEX_STATE(4);
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 3, COLLAPSE({1, 0, 1}))
END_STATE();
STATE(51);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_object, 2, COLLAPSE({1, 1}))
END_STATE();
STATE(52);
SET_LEX_STATE(1);
SHIFT(ts_aux_sym_repeat_helper1, 53)
SHIFT(ts_aux_sym_token3, 10)
REDUCE(ts_aux_sym_token4, ts_aux_sym_repeat_helper1, 0, COLLAPSE({}))
END_STATE();
STATE(53);
SET_LEX_STATE(4);
SHIFT(ts_aux_sym_token4, 54)
END_STATE();
STATE(54);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_object, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(55);
SET_LEX_STATE(42);
SHIFT(ts_sym_array, 22)
SHIFT(ts_sym_false, 22)
SHIFT(ts_sym_null, 22)
SHIFT(ts_sym_number, 22)
SHIFT(ts_sym_object, 22)
SHIFT(ts_sym_string, 22)
SHIFT(ts_sym_true, 22)
SHIFT(ts_sym_value, 56)
SHIFT(ts_aux_sym_token1, 29)
SHIFT(ts_aux_sym_token5, 39)
SHIFT(ts_aux_sym_token6, 59)
SHIFT(ts_builtin_sym_error, 56)
END_STATE();
STATE(56);
SET_LEX_STATE(5);
SHIFT(ts_aux_sym_repeat_helper2, 57)
SHIFT(ts_aux_sym_token3, 26)
REDUCE(ts_aux_sym_token6, ts_aux_sym_repeat_helper2, 0, COLLAPSE({}))
END_STATE();
STATE(57);
SET_LEX_STATE(7);
SHIFT(ts_aux_sym_token6, 58)
END_STATE();
STATE(58);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_array, 4, COLLAPSE({1, 0, 1, 1}))
END_STATE();
STATE(59);
SET_LEX_STATE(0);
REDUCE(ts_builtin_sym_end, ts_sym_array, 2, COLLAPSE({1, 1}))
END_STATE();
END_TABLE();
}
EXPORT_PARSER(ts_parser_json);