Files
wehub-resource-sync 41cb1c0170
OpenSSF Scorecard / scorecard (push) Failing after 0s
DCO / dco (push) Failing after 0s
CodeQL SAST / analyze (push) Failing after 1s
Deploy Pages / deploy (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 12:28:05 +08:00

1300 lines
55 KiB
C
Generated

/* Automatically @generated by tree-sitter v0.25.9 */
#include "tree_sitter/parser.h"
#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif
#define LANGUAGE_VERSION 15
#define STATE_COUNT 31
#define LARGE_STATE_COUNT 7
#define SYMBOL_COUNT 21
#define ALIAS_COUNT 0
#define TOKEN_COUNT 14
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 2
#define MAX_ALIAS_SEQUENCE_LENGTH 5
#define MAX_RESERVED_WORD_SET_SIZE 0
#define PRODUCTION_ID_COUNT 2
#define SUPERTYPE_COUNT 0
enum ts_symbol_identifiers {
sym_comment = 1,
anon_sym_LBRACE = 2,
anon_sym_COMMA = 3,
anon_sym_RBRACE = 4,
anon_sym_COLON = 5,
sym_identifier = 6,
anon_sym_LBRACK = 7,
anon_sym_RBRACK = 8,
sym_string = 9,
sym_number = 10,
sym_null = 11,
sym_true = 12,
sym_false = 13,
sym_file = 14,
sym_object = 15,
sym_member = 16,
sym_array = 17,
sym__value = 18,
aux_sym_object_repeat1 = 19,
aux_sym_array_repeat1 = 20,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym_comment] = "comment",
[anon_sym_LBRACE] = "{",
[anon_sym_COMMA] = ",",
[anon_sym_RBRACE] = "}",
[anon_sym_COLON] = ":",
[sym_identifier] = "identifier",
[anon_sym_LBRACK] = "[",
[anon_sym_RBRACK] = "]",
[sym_string] = "string",
[sym_number] = "number",
[sym_null] = "null",
[sym_true] = "true",
[sym_false] = "false",
[sym_file] = "file",
[sym_object] = "object",
[sym_member] = "member",
[sym_array] = "array",
[sym__value] = "_value",
[aux_sym_object_repeat1] = "object_repeat1",
[aux_sym_array_repeat1] = "array_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym_comment] = sym_comment,
[anon_sym_LBRACE] = anon_sym_LBRACE,
[anon_sym_COMMA] = anon_sym_COMMA,
[anon_sym_RBRACE] = anon_sym_RBRACE,
[anon_sym_COLON] = anon_sym_COLON,
[sym_identifier] = sym_identifier,
[anon_sym_LBRACK] = anon_sym_LBRACK,
[anon_sym_RBRACK] = anon_sym_RBRACK,
[sym_string] = sym_string,
[sym_number] = sym_number,
[sym_null] = sym_null,
[sym_true] = sym_true,
[sym_false] = sym_false,
[sym_file] = sym_file,
[sym_object] = sym_object,
[sym_member] = sym_member,
[sym_array] = sym_array,
[sym__value] = sym__value,
[aux_sym_object_repeat1] = aux_sym_object_repeat1,
[aux_sym_array_repeat1] = aux_sym_array_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
[ts_builtin_sym_end] = {
.visible = false,
.named = true,
},
[sym_comment] = {
.visible = true,
.named = true,
},
[anon_sym_LBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_COMMA] = {
.visible = true,
.named = false,
},
[anon_sym_RBRACE] = {
.visible = true,
.named = false,
},
[anon_sym_COLON] = {
.visible = true,
.named = false,
},
[sym_identifier] = {
.visible = true,
.named = true,
},
[anon_sym_LBRACK] = {
.visible = true,
.named = false,
},
[anon_sym_RBRACK] = {
.visible = true,
.named = false,
},
[sym_string] = {
.visible = true,
.named = true,
},
[sym_number] = {
.visible = true,
.named = true,
},
[sym_null] = {
.visible = true,
.named = true,
},
[sym_true] = {
.visible = true,
.named = true,
},
[sym_false] = {
.visible = true,
.named = true,
},
[sym_file] = {
.visible = true,
.named = true,
},
[sym_object] = {
.visible = true,
.named = true,
},
[sym_member] = {
.visible = true,
.named = true,
},
[sym_array] = {
.visible = true,
.named = true,
},
[sym__value] = {
.visible = false,
.named = true,
},
[aux_sym_object_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_array_repeat1] = {
.visible = false,
.named = false,
},
};
enum ts_field_identifiers {
field_name = 1,
field_value = 2,
};
static const char * const ts_field_names[] = {
[0] = NULL,
[field_name] = "name",
[field_value] = "value",
};
static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
[1] = {.index = 0, .length = 2},
};
static const TSFieldMapEntry ts_field_map_entries[] = {
[0] =
{field_name, 0},
{field_value, 2},
};
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
[0] = {0},
};
static const uint16_t ts_non_terminal_alias_map[] = {
0,
};
static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[0] = 0,
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 5,
[6] = 6,
[7] = 7,
[8] = 8,
[9] = 9,
[10] = 10,
[11] = 11,
[12] = 12,
[13] = 13,
[14] = 14,
[15] = 15,
[16] = 16,
[17] = 17,
[18] = 18,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
[23] = 23,
[24] = 24,
[25] = 25,
[26] = 26,
[27] = 27,
[28] = 28,
[29] = 29,
[30] = 30,
};
static const TSCharacterRange sym_identifier_character_set_1[] = {
{'$', '$'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6},
{0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377},
{0x37a, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481},
{0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f},
{0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f},
{0x74d, 0x7a5}, {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824},
{0x828, 0x828}, {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d},
{0x950, 0x950}, {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2},
{0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a},
{0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
{0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd},
{0xad0, 0xad0}, {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33},
{0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90},
{0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0},
{0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61},
{0xc80, 0xc80}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde},
{0xce0, 0xce1}, {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56},
{0xd5f, 0xd61}, {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30},
{0xe32, 0xe33}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0},
{0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c},
{0xf88, 0xf8c}, {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070},
{0x1075, 0x1081}, {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d},
{0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be},
{0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5},
{0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16f1, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731},
{0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x1884},
{0x1887, 0x18a8}, {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9},
{0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5},
{0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3},
{0x1cf5, 0x1cf6}, {0x1cfa, 0x1cfa}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57},
{0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4},
{0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f},
{0x2090, 0x209c}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126},
{0x2128, 0x2128}, {0x212a, 0x212d}, {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2183, 0x2184}, {0x2c00, 0x2ce4},
{0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96},
{0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde},
{0x2e2f, 0x2e2f}, {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff},
{0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c},
{0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, {0xa6a0, 0xa6e5}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7cd},
{0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873},
{0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2},
{0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76},
{0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2}, {0xaadb, 0xaadd},
{0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a},
{0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06},
{0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44},
{0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff21, 0xff3a},
{0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026},
{0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f},
{0x1032d, 0x10340}, {0x10342, 0x10349}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x10400, 0x1049d}, {0x104b0, 0x104d3},
{0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1},
{0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785},
{0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855},
{0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf},
{0x10a00, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4},
{0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23},
{0x10d4a, 0x10d65}, {0x10d6f, 0x10d85}, {0x10e80, 0x10ea9}, {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f45},
{0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11003, 0x11037}, {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af}, {0x110d0, 0x110e8},
{0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, {0x11150, 0x11172}, {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x111da, 0x111da},
{0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, {0x1123f, 0x11240}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d},
{0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339},
{0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5}, {0x113b7, 0x113b7},
{0x113d1, 0x113d1}, {0x113d3, 0x113d3}, {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x114c7, 0x114c7},
{0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a}, {0x11740, 0x11746},
{0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f}, {0x1193f, 0x1193f},
{0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32}, {0x11a3a, 0x11a3a},
{0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40},
{0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89},
{0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12480, 0x12543},
{0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13441, 0x13446}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x1611d}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e},
{0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c}, {0x16e40, 0x16e7f},
{0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18cff, 0x18d08},
{0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167},
{0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f},
{0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a},
{0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5},
{0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788},
{0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d},
{0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e5d0, 0x1e5ed}, {0x1e5f0, 0x1e5f0}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb},
{0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22},
{0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47},
{0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b},
{0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c},
{0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739},
{0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
};
static const TSCharacterRange sym_identifier_character_set_2[] = {
{'$', '$'}, {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba},
{0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374},
{0x376, 0x377}, {0x37a, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5},
{0x3f7, 0x481}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a},
{0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710},
{0x712, 0x72f}, {0x74d, 0x7a5}, {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a},
{0x824, 0x824}, {0x828, 0x828}, {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939},
{0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0},
{0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc},
{0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c},
{0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9},
{0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30},
{0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a},
{0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9},
{0xbd0, 0xbd0}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d},
{0xc60, 0xc61}, {0xc80, 0xc80}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd},
{0xcdd, 0xcde}, {0xce0, 0xce1}, {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e},
{0xd54, 0xd56}, {0xd5f, 0xd61}, {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6},
{0xe01, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5},
{0xea7, 0xeb0}, {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47},
{0xf49, 0xf6c}, {0xf88, 0xf8c}, {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066},
{0x106e, 0x1070}, {0x1075, 0x1081}, {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248},
{0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5},
{0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f},
{0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16f1, 0x16f8}, {0x1700, 0x1711},
{0x171f, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878},
{0x1880, 0x1884}, {0x1887, 0x18a8}, {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab},
{0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf},
{0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec},
{0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, {0x1cfa, 0x1cfa}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d},
{0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe},
{0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071},
{0x207f, 0x207f}, {0x2090, 0x209c}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124},
{0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x212d}, {0x212f, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2183, 0x2184},
{0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f},
{0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6},
{0x2dd8, 0x2dde}, {0x2e2f, 0x2e2f}, {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa},
{0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd},
{0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, {0xa6a0, 0xa6e5}, {0xa717, 0xa71f}, {0xa722, 0xa788},
{0xa78b, 0xa7cd}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822},
{0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c},
{0xa984, 0xa9b2}, {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b},
{0xaa60, 0xaa76}, {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2},
{0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e},
{0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9},
{0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41},
{0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc},
{0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b},
{0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10280, 0x1029c}, {0x102a0, 0x102d0},
{0x10300, 0x1031f}, {0x1032d, 0x10340}, {0x10342, 0x10349}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x10400, 0x1049d},
{0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595},
{0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767},
{0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c},
{0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7},
{0x109be, 0x109bf}, {0x10a00, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7},
{0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2},
{0x10d00, 0x10d23}, {0x10d4a, 0x10d65}, {0x10d6f, 0x10d85}, {0x10e80, 0x10ea9}, {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27},
{0x10f30, 0x10f45}, {0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11003, 0x11037}, {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af},
{0x110d0, 0x110e8}, {0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, {0x11150, 0x11172}, {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4},
{0x111da, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, {0x1123f, 0x11240}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d},
{0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333},
{0x11335, 0x11339}, {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5},
{0x113b7, 0x113b7}, {0x113d1, 0x113d1}, {0x113d3, 0x113d3}, {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5},
{0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a},
{0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f},
{0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32},
{0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e},
{0x11c40, 0x11c40}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68},
{0x11d6a, 0x11d89}, {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399},
{0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13441, 0x13446}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x1611d}, {0x16800, 0x16a38},
{0x16a40, 0x16a5e}, {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c},
{0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5},
{0x18cff, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155},
{0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c},
{0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505},
{0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550},
{0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e},
{0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c},
{0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e5d0, 0x1e5ed}, {0x1e5f0, 0x1e5f0}, {0x1e7e0, 0x1e7e6},
{0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f},
{0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42},
{0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59},
{0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77},
{0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df},
{0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
START_LEXER();
eof = lexer->eof(lexer);
switch (state) {
case 0:
if (eof) ADVANCE(43);
ADVANCE_MAP(
'"', 7,
'\'', 8,
',', 47,
'.', 76,
'/', 9,
'0', 74,
':', 49,
'I', 61,
'N', 51,
'[', 70,
']', 71,
'f', 52,
'n', 67,
't', 63,
'{', 46,
'}', 48,
'+', 12,
'-', 12,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(0);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 1:
if (lookahead == '\n') ADVANCE(7);
END_STATE();
case 2:
if (lookahead == '\n') ADVANCE(8);
END_STATE();
case 3:
ADVANCE_MAP(
'\r', 1,
'u', 41,
'x', 37,
'\n', 7,
'"', 7,
'\'', 7,
'/', 7,
'\\', 7,
'b', 7,
'f', 7,
'n', 7,
'r', 7,
't', 7,
'v', 7,
);
END_STATE();
case 4:
ADVANCE_MAP(
'\r', 2,
'u', 42,
'x', 38,
'\n', 8,
'"', 8,
'\'', 8,
'/', 8,
'\\', 8,
'b', 8,
'f', 8,
'n', 8,
'r', 8,
't', 8,
'v', 8,
);
END_STATE();
case 5:
ADVANCE_MAP(
'"', 7,
'\'', 8,
'.', 76,
'/', 9,
'0', 74,
'I', 24,
'N', 14,
'[', 70,
']', 71,
'f', 15,
'n', 30,
't', 26,
'{', 46,
'+', 12,
'-', 12,
);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(5);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75);
END_STATE();
case 6:
if (lookahead == '"') ADVANCE(7);
if (lookahead == '\'') ADVANCE(8);
if (lookahead == '/') ADVANCE(9);
if (lookahead == '}') ADVANCE(48);
if (('\t' <= lookahead && lookahead <= '\r') ||
lookahead == ' ') SKIP(6);
if (set_contains(sym_identifier_character_set_1, 679, lookahead)) ADVANCE(69);
END_STATE();
case 7:
if (lookahead == '"') ADVANCE(72);
if (lookahead == '\\') ADVANCE(3);
if (lookahead != 0) ADVANCE(7);
END_STATE();
case 8:
if (lookahead == '\'') ADVANCE(72);
if (lookahead == '\\') ADVANCE(4);
if (lookahead != 0) ADVANCE(8);
END_STATE();
case 9:
if (lookahead == '*') ADVANCE(11);
if (lookahead == '/') ADVANCE(45);
END_STATE();
case 10:
if (lookahead == '*') ADVANCE(10);
if (lookahead == '/') ADVANCE(44);
if (lookahead != 0) ADVANCE(11);
END_STATE();
case 11:
if (lookahead == '*') ADVANCE(10);
if (lookahead != 0) ADVANCE(11);
END_STATE();
case 12:
if (lookahead == '.') ADVANCE(76);
if (lookahead == '0') ADVANCE(74);
if (lookahead == 'I') ADVANCE(24);
if (lookahead == 'N') ADVANCE(14);
if (('1' <= lookahead && lookahead <= '9')) ADVANCE(75);
END_STATE();
case 13:
if (lookahead == 'N') ADVANCE(73);
END_STATE();
case 14:
if (lookahead == 'a') ADVANCE(13);
END_STATE();
case 15:
if (lookahead == 'a') ADVANCE(21);
END_STATE();
case 16:
if (lookahead == 'e') ADVANCE(81);
END_STATE();
case 17:
if (lookahead == 'e') ADVANCE(83);
END_STATE();
case 18:
if (lookahead == 'f') ADVANCE(20);
END_STATE();
case 19:
if (lookahead == 'i') ADVANCE(28);
END_STATE();
case 20:
if (lookahead == 'i') ADVANCE(25);
END_STATE();
case 21:
if (lookahead == 'l') ADVANCE(27);
END_STATE();
case 22:
if (lookahead == 'l') ADVANCE(79);
END_STATE();
case 23:
if (lookahead == 'l') ADVANCE(22);
END_STATE();
case 24:
if (lookahead == 'n') ADVANCE(18);
END_STATE();
case 25:
if (lookahead == 'n') ADVANCE(19);
END_STATE();
case 26:
if (lookahead == 'r') ADVANCE(29);
END_STATE();
case 27:
if (lookahead == 's') ADVANCE(17);
END_STATE();
case 28:
if (lookahead == 't') ADVANCE(31);
END_STATE();
case 29:
if (lookahead == 'u') ADVANCE(16);
END_STATE();
case 30:
if (lookahead == 'u') ADVANCE(23);
END_STATE();
case 31:
if (lookahead == 'y') ADVANCE(73);
END_STATE();
case 32:
if (lookahead == '+' ||
lookahead == '-') ADVANCE(33);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(77);
END_STATE();
case 33:
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(77);
END_STATE();
case 34:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(7);
END_STATE();
case 35:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(8);
END_STATE();
case 36:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(78);
END_STATE();
case 37:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(34);
END_STATE();
case 38:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(35);
END_STATE();
case 39:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(37);
END_STATE();
case 40:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(38);
END_STATE();
case 41:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(39);
END_STATE();
case 42:
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(40);
END_STATE();
case 43:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
case 44:
ACCEPT_TOKEN(sym_comment);
END_STATE();
case 45:
ACCEPT_TOKEN(sym_comment);
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(45);
END_STATE();
case 46:
ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
case 47:
ACCEPT_TOKEN(anon_sym_COMMA);
END_STATE();
case 48:
ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
case 49:
ACCEPT_TOKEN(anon_sym_COLON);
END_STATE();
case 50:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'N') ADVANCE(69);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 51:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'a') ADVANCE(50);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 52:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'a') ADVANCE(58);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 53:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'e') ADVANCE(82);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 54:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'e') ADVANCE(84);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 55:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'f') ADVANCE(57);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 56:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'i') ADVANCE(65);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 57:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'i') ADVANCE(62);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 58:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'l') ADVANCE(64);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 59:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'l') ADVANCE(80);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 60:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'l') ADVANCE(59);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 61:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'n') ADVANCE(55);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 62:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'n') ADVANCE(56);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 63:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'r') ADVANCE(66);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 64:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 's') ADVANCE(54);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 65:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 't') ADVANCE(68);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 66:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'u') ADVANCE(53);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 67:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'u') ADVANCE(60);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 68:
ACCEPT_TOKEN(sym_identifier);
if (lookahead == 'y') ADVANCE(69);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 69:
ACCEPT_TOKEN(sym_identifier);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 70:
ACCEPT_TOKEN(anon_sym_LBRACK);
END_STATE();
case 71:
ACCEPT_TOKEN(anon_sym_RBRACK);
END_STATE();
case 72:
ACCEPT_TOKEN(sym_string);
END_STATE();
case 73:
ACCEPT_TOKEN(sym_number);
END_STATE();
case 74:
ACCEPT_TOKEN(sym_number);
if (lookahead == '.') ADVANCE(76);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(32);
if (lookahead == 'X' ||
lookahead == 'x') ADVANCE(36);
END_STATE();
case 75:
ACCEPT_TOKEN(sym_number);
if (lookahead == '.') ADVANCE(76);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(32);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75);
END_STATE();
case 76:
ACCEPT_TOKEN(sym_number);
if (lookahead == 'E' ||
lookahead == 'e') ADVANCE(32);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(76);
END_STATE();
case 77:
ACCEPT_TOKEN(sym_number);
if (('0' <= lookahead && lookahead <= '9')) ADVANCE(77);
END_STATE();
case 78:
ACCEPT_TOKEN(sym_number);
if (('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'F') ||
('a' <= lookahead && lookahead <= 'f')) ADVANCE(78);
END_STATE();
case 79:
ACCEPT_TOKEN(sym_null);
END_STATE();
case 80:
ACCEPT_TOKEN(sym_null);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 81:
ACCEPT_TOKEN(sym_true);
END_STATE();
case 82:
ACCEPT_TOKEN(sym_true);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
case 83:
ACCEPT_TOKEN(sym_false);
END_STATE();
case 84:
ACCEPT_TOKEN(sym_false);
if (set_contains(sym_identifier_character_set_2, 680, lookahead)) ADVANCE(69);
END_STATE();
default:
return false;
}
}
static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
[1] = {.lex_state = 5},
[2] = {.lex_state = 5},
[3] = {.lex_state = 5},
[4] = {.lex_state = 5},
[5] = {.lex_state = 5},
[6] = {.lex_state = 5},
[7] = {.lex_state = 6},
[8] = {.lex_state = 0},
[9] = {.lex_state = 6},
[10] = {.lex_state = 0},
[11] = {.lex_state = 0},
[12] = {.lex_state = 0},
[13] = {.lex_state = 6},
[14] = {.lex_state = 0},
[15] = {.lex_state = 0},
[16] = {.lex_state = 0},
[17] = {.lex_state = 0},
[18] = {.lex_state = 0},
[19] = {.lex_state = 0},
[20] = {.lex_state = 0},
[21] = {.lex_state = 0},
[22] = {.lex_state = 0},
[23] = {.lex_state = 0},
[24] = {.lex_state = 6},
[25] = {.lex_state = 0},
[26] = {.lex_state = 0},
[27] = {.lex_state = 0},
[28] = {.lex_state = 0},
[29] = {.lex_state = 0},
[30] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[STATE(0)] = {
[ts_builtin_sym_end] = ACTIONS(1),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(1),
[anon_sym_COMMA] = ACTIONS(1),
[anon_sym_RBRACE] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[sym_identifier] = ACTIONS(1),
[anon_sym_LBRACK] = ACTIONS(1),
[anon_sym_RBRACK] = ACTIONS(1),
[sym_string] = ACTIONS(1),
[sym_number] = ACTIONS(1),
[sym_null] = ACTIONS(1),
[sym_true] = ACTIONS(1),
[sym_false] = ACTIONS(1),
},
[STATE(1)] = {
[sym_file] = STATE(29),
[sym_object] = STATE(30),
[sym_array] = STATE(30),
[sym__value] = STATE(30),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[sym_string] = ACTIONS(9),
[sym_number] = ACTIONS(9),
[sym_null] = ACTIONS(9),
[sym_true] = ACTIONS(9),
[sym_false] = ACTIONS(9),
},
[STATE(2)] = {
[sym_object] = STATE(19),
[sym_array] = STATE(19),
[sym__value] = STATE(19),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[anon_sym_RBRACK] = ACTIONS(11),
[sym_string] = ACTIONS(13),
[sym_number] = ACTIONS(13),
[sym_null] = ACTIONS(13),
[sym_true] = ACTIONS(13),
[sym_false] = ACTIONS(13),
},
[STATE(3)] = {
[sym_object] = STATE(25),
[sym_array] = STATE(25),
[sym__value] = STATE(25),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[anon_sym_RBRACK] = ACTIONS(15),
[sym_string] = ACTIONS(17),
[sym_number] = ACTIONS(17),
[sym_null] = ACTIONS(17),
[sym_true] = ACTIONS(17),
[sym_false] = ACTIONS(17),
},
[STATE(4)] = {
[sym_object] = STATE(25),
[sym_array] = STATE(25),
[sym__value] = STATE(25),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[anon_sym_RBRACK] = ACTIONS(19),
[sym_string] = ACTIONS(17),
[sym_number] = ACTIONS(17),
[sym_null] = ACTIONS(17),
[sym_true] = ACTIONS(17),
[sym_false] = ACTIONS(17),
},
[STATE(5)] = {
[sym_object] = STATE(26),
[sym_array] = STATE(26),
[sym__value] = STATE(26),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[sym_string] = ACTIONS(21),
[sym_number] = ACTIONS(21),
[sym_null] = ACTIONS(21),
[sym_true] = ACTIONS(21),
[sym_false] = ACTIONS(21),
},
[STATE(6)] = {
[sym_object] = STATE(25),
[sym_array] = STATE(25),
[sym__value] = STATE(25),
[sym_comment] = ACTIONS(3),
[anon_sym_LBRACE] = ACTIONS(5),
[anon_sym_LBRACK] = ACTIONS(7),
[sym_string] = ACTIONS(17),
[sym_number] = ACTIONS(17),
[sym_null] = ACTIONS(17),
[sym_true] = ACTIONS(17),
[sym_false] = ACTIONS(17),
},
};
static const uint16_t ts_small_parse_table[] = {
[0] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(23), 1,
anon_sym_RBRACE,
STATE(18), 1,
sym_member,
ACTIONS(25), 2,
sym_identifier,
sym_string,
[14] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(27), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[24] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(29), 1,
anon_sym_RBRACE,
STATE(27), 1,
sym_member,
ACTIONS(25), 2,
sym_identifier,
sym_string,
[38] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(31), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[48] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(33), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[58] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(35), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[68] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(37), 1,
anon_sym_RBRACE,
STATE(27), 1,
sym_member,
ACTIONS(25), 2,
sym_identifier,
sym_string,
[82] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(39), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[92] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(41), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[102] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(43), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[112] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(45), 4,
ts_builtin_sym_end,
anon_sym_COMMA,
anon_sym_RBRACE,
anon_sym_RBRACK,
[122] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(47), 1,
anon_sym_COMMA,
ACTIONS(49), 1,
anon_sym_RBRACE,
STATE(20), 1,
aux_sym_object_repeat1,
[135] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(51), 1,
anon_sym_COMMA,
ACTIONS(53), 1,
anon_sym_RBRACK,
STATE(21), 1,
aux_sym_array_repeat1,
[148] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(29), 1,
anon_sym_RBRACE,
ACTIONS(55), 1,
anon_sym_COMMA,
STATE(22), 1,
aux_sym_object_repeat1,
[161] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(15), 1,
anon_sym_RBRACK,
ACTIONS(57), 1,
anon_sym_COMMA,
STATE(23), 1,
aux_sym_array_repeat1,
[174] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(59), 1,
anon_sym_COMMA,
ACTIONS(62), 1,
anon_sym_RBRACE,
STATE(22), 1,
aux_sym_object_repeat1,
[187] = 4,
ACTIONS(3), 1,
sym_comment,
ACTIONS(64), 1,
anon_sym_COMMA,
ACTIONS(67), 1,
anon_sym_RBRACK,
STATE(23), 1,
aux_sym_array_repeat1,
[200] = 3,
ACTIONS(3), 1,
sym_comment,
STATE(27), 1,
sym_member,
ACTIONS(25), 2,
sym_identifier,
sym_string,
[211] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(67), 2,
anon_sym_COMMA,
anon_sym_RBRACK,
[219] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(69), 2,
anon_sym_COMMA,
anon_sym_RBRACE,
[227] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(62), 2,
anon_sym_COMMA,
anon_sym_RBRACE,
[235] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(71), 1,
anon_sym_COLON,
[242] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(73), 1,
ts_builtin_sym_end,
[249] = 2,
ACTIONS(3), 1,
sym_comment,
ACTIONS(75), 1,
ts_builtin_sym_end,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(7)] = 0,
[SMALL_STATE(8)] = 14,
[SMALL_STATE(9)] = 24,
[SMALL_STATE(10)] = 38,
[SMALL_STATE(11)] = 48,
[SMALL_STATE(12)] = 58,
[SMALL_STATE(13)] = 68,
[SMALL_STATE(14)] = 82,
[SMALL_STATE(15)] = 92,
[SMALL_STATE(16)] = 102,
[SMALL_STATE(17)] = 112,
[SMALL_STATE(18)] = 122,
[SMALL_STATE(19)] = 135,
[SMALL_STATE(20)] = 148,
[SMALL_STATE(21)] = 161,
[SMALL_STATE(22)] = 174,
[SMALL_STATE(23)] = 187,
[SMALL_STATE(24)] = 200,
[SMALL_STATE(25)] = 211,
[SMALL_STATE(26)] = 219,
[SMALL_STATE(27)] = 227,
[SMALL_STATE(28)] = 235,
[SMALL_STATE(29)] = 242,
[SMALL_STATE(30)] = 249,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
[7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
[17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
[19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
[21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
[23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
[25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
[27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0),
[29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
[31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0),
[33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0),
[35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0),
[37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0),
[41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0),
[43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0),
[45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0),
[47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
[49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
[51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
[53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
[55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
[57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
[59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(24),
[62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0),
[64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(6),
[67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0),
[69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 3, 0, 1),
[71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
[73] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
[75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 1, 0, 0),
};
#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif
TS_PUBLIC const TSLanguage *tree_sitter_json5(void) {
static const TSLanguage language = {
.abi_version = LANGUAGE_VERSION,
.symbol_count = SYMBOL_COUNT,
.alias_count = ALIAS_COUNT,
.token_count = TOKEN_COUNT,
.external_token_count = EXTERNAL_TOKEN_COUNT,
.state_count = STATE_COUNT,
.large_state_count = LARGE_STATE_COUNT,
.production_id_count = PRODUCTION_ID_COUNT,
.supertype_count = SUPERTYPE_COUNT,
.field_count = FIELD_COUNT,
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
.parse_table = &ts_parse_table[0][0],
.small_parse_table = ts_small_parse_table,
.small_parse_table_map = ts_small_parse_table_map,
.parse_actions = ts_parse_actions,
.symbol_names = ts_symbol_names,
.field_names = ts_field_names,
.field_map_slices = ts_field_map_slices,
.field_map_entries = ts_field_map_entries,
.symbol_metadata = ts_symbol_metadata,
.public_symbol_map = ts_symbol_map,
.alias_map = ts_non_terminal_alias_map,
.alias_sequences = &ts_alias_sequences[0][0],
.lex_modes = (const void*)ts_lex_modes,
.lex_fn = ts_lex,
.primary_state_ids = ts_primary_state_ids,
.name = "json5",
.max_reserved_word_set_size = 0,
.metadata = {
.major_version = 0,
.minor_version = 1,
.patch_version = 0,
},
};
return &language;
}
#ifdef __cplusplus
}
#endif