vlib/json2/json5_unicode.v
Rama master · réplica de lectura del repositorio original.
// Copyright (c) 2026 Alexander Medvednikov. All rights reserved.
// Use of this source code is governed by an MIT license found in the LICENSE file.
// Generated from Unicode 15.0.0, matching encoding.utf8's letter tables.
// Source: https://www.unicode.org/Public/15.0.0/ucd/UnicodeData.txt
// Regenerate with testdata/gen_json5_unicode.v.
module json2
// Nl completes ECMAScript UnicodeLetter alongside utf8.is_letter's L categories.
const json5_letter_number_ranges = [
[0x16ee, 0x16f0]!,
[0x2160, 0x2182]!,
[0x2185, 0x2188]!,
[0x3007, 0x3007]!,
[0x3021, 0x3029]!,
[0x3038, 0x303a]!,
[0xa6e6, 0xa6ef]!,
[0x10140, 0x10174]!,
[0x10341, 0x10341]!,
[0x1034a, 0x1034a]!,
[0x103d1, 0x103d5]!,
[0x12400, 0x1246e]!,
]
// IdentifierPart adds Mn, Mc, Nd and Pc; No and Me are excluded.
const json5_identifier_part_ranges = [
[0x0030, 0x0039]!,
[0x005f, 0x005f]!,
[0x0300, 0x036f]!,
[0x0483, 0x0487]!,
[0x0591, 0x05bd]!,
[0x05bf, 0x05bf]!,
[0x05c1, 0x05c2]!,
[0x05c4, 0x05c5]!,
[0x05c7, 0x05c7]!,
[0x0610, 0x061a]!,
[0x064b, 0x0669]!,
[0x0670, 0x0670]!,
[0x06d6, 0x06dc]!,
[0x06df, 0x06e4]!,
[0x06e7, 0x06e8]!,
[0x06ea, 0x06ed]!,
[0x06f0, 0x06f9]!,
[0x0711, 0x0711]!,
[0x0730, 0x074a]!,
[0x07a6, 0x07b0]!,
[0x07c0, 0x07c9]!,
[0x07eb, 0x07f3]!,
[0x07fd, 0x07fd]!,
[0x0816, 0x0819]!,
[0x081b, 0x0823]!,
[0x0825, 0x0827]!,
[0x0829, 0x082d]!,
[0x0859, 0x085b]!,
[0x0898, 0x089f]!,
[0x08ca, 0x08e1]!,
[0x08e3, 0x0903]!,
[0x093a, 0x093c]!,
[0x093e, 0x094f]!,
[0x0951, 0x0957]!,
[0x0962, 0x0963]!,
[0x0966, 0x096f]!,
[0x0981, 0x0983]!,
[0x09bc, 0x09bc]!,
[0x09be, 0x09c4]!,
[0x09c7, 0x09c8]!,
[0x09cb, 0x09cd]!,
[0x09d7, 0x09d7]!,
[0x09e2, 0x09e3]!,
[0x09e6, 0x09ef]!,
[0x09fe, 0x09fe]!,
[0x0a01, 0x0a03]!,
[0x0a3c, 0x0a3c]!,
[0x0a3e, 0x0a42]!,
[0x0a47, 0x0a48]!,
[0x0a4b, 0x0a4d]!,
[0x0a51, 0x0a51]!,
[0x0a66, 0x0a71]!,
[0x0a75, 0x0a75]!,
[0x0a81, 0x0a83]!,
[0x0abc, 0x0abc]!,
[0x0abe, 0x0ac5]!,
[0x0ac7, 0x0ac9]!,
[0x0acb, 0x0acd]!,
[0x0ae2, 0x0ae3]!,
[0x0ae6, 0x0aef]!,
[0x0afa, 0x0aff]!,
[0x0b01, 0x0b03]!,
[0x0b3c, 0x0b3c]!,
[0x0b3e, 0x0b44]!,
[0x0b47, 0x0b48]!,
[0x0b4b, 0x0b4d]!,
[0x0b55, 0x0b57]!,
[0x0b62, 0x0b63]!,
[0x0b66, 0x0b6f]!,
[0x0b82, 0x0b82]!,
[0x0bbe, 0x0bc2]!,
[0x0bc6, 0x0bc8]!,
[0x0bca, 0x0bcd]!,
[0x0bd7, 0x0bd7]!,
[0x0be6, 0x0bef]!,
[0x0c00, 0x0c04]!,
[0x0c3c, 0x0c3c]!,
[0x0c3e, 0x0c44]!,
[0x0c46, 0x0c48]!,
[0x0c4a, 0x0c4d]!,
[0x0c55, 0x0c56]!,
[0x0c62, 0x0c63]!,
[0x0c66, 0x0c6f]!,
[0x0c81, 0x0c83]!,
[0x0cbc, 0x0cbc]!,
[0x0cbe, 0x0cc4]!,
[0x0cc6, 0x0cc8]!,
[0x0cca, 0x0ccd]!,
[0x0cd5, 0x0cd6]!,
[0x0ce2, 0x0ce3]!,
[0x0ce6, 0x0cef]!,
[0x0cf3, 0x0cf3]!,
[0x0d00, 0x0d03]!,
[0x0d3b, 0x0d3c]!,
[0x0d3e, 0x0d44]!,
[0x0d46, 0x0d48]!,
[0x0d4a, 0x0d4d]!,
[0x0d57, 0x0d57]!,
[0x0d62, 0x0d63]!,
[0x0d66, 0x0d6f]!,
[0x0d81, 0x0d83]!,
[0x0dca, 0x0dca]!,
[0x0dcf, 0x0dd4]!,
[0x0dd6, 0x0dd6]!,
[0x0dd8, 0x0ddf]!,
[0x0de6, 0x0def]!,
[0x0df2, 0x0df3]!,
[0x0e31, 0x0e31]!,
[0x0e34, 0x0e3a]!,
[0x0e47, 0x0e4e]!,
[0x0e50, 0x0e59]!,
[0x0eb1, 0x0eb1]!,
[0x0eb4, 0x0ebc]!,
[0x0ec8, 0x0ece]!,
[0x0ed0, 0x0ed9]!,
[0x0f18, 0x0f19]!,
[0x0f20, 0x0f29]!,
[0x0f35, 0x0f35]!,
[0x0f37, 0x0f37]!,
[0x0f39, 0x0f39]!,
[0x0f3e, 0x0f3f]!,
[0x0f71, 0x0f84]!,
[0x0f86, 0x0f87]!,
[0x0f8d, 0x0f97]!,
[0x0f99, 0x0fbc]!,
[0x0fc6, 0x0fc6]!,
[0x102b, 0x103e]!,
[0x1040, 0x1049]!,
[0x1056, 0x1059]!,
[0x105e, 0x1060]!,
[0x1062, 0x1064]!,
[0x1067, 0x106d]!,
[0x1071, 0x1074]!,
[0x1082, 0x108d]!,
[0x108f, 0x109d]!,
[0x135d, 0x135f]!,
[0x1712, 0x1715]!,
[0x1732, 0x1734]!,
[0x1752, 0x1753]!,
[0x1772, 0x1773]!,
[0x17b4, 0x17d3]!,
[0x17dd, 0x17dd]!,
[0x17e0, 0x17e9]!,
[0x180b, 0x180d]!,
[0x180f, 0x1819]!,
[0x1885, 0x1886]!,
[0x18a9, 0x18a9]!,
[0x1920, 0x192b]!,
[0x1930, 0x193b]!,
[0x1946, 0x194f]!,
[0x19d0, 0x19d9]!,
[0x1a17, 0x1a1b]!,
[0x1a55, 0x1a5e]!,
[0x1a60, 0x1a7c]!,
[0x1a7f, 0x1a89]!,
[0x1a90, 0x1a99]!,
[0x1ab0, 0x1abd]!,
[0x1abf, 0x1ace]!,
[0x1b00, 0x1b04]!,
[0x1b34, 0x1b44]!,
[0x1b50, 0x1b59]!,
[0x1b6b, 0x1b73]!,
[0x1b80, 0x1b82]!,
[0x1ba1, 0x1bad]!,
[0x1bb0, 0x1bb9]!,
[0x1be6, 0x1bf3]!,
[0x1c24, 0x1c37]!,
[0x1c40, 0x1c49]!,
[0x1c50, 0x1c59]!,
[0x1cd0, 0x1cd2]!,
[0x1cd4, 0x1ce8]!,
[0x1ced, 0x1ced]!,
[0x1cf4, 0x1cf4]!,
[0x1cf7, 0x1cf9]!,
[0x1dc0, 0x1dff]!,
[0x203f, 0x2040]!,
[0x2054, 0x2054]!,
[0x20d0, 0x20dc]!,
[0x20e1, 0x20e1]!,
[0x20e5, 0x20f0]!,
[0x2cef, 0x2cf1]!,
[0x2d7f, 0x2d7f]!,
[0x2de0, 0x2dff]!,
[0x302a, 0x302f]!,
[0x3099, 0x309a]!,
[0xa620, 0xa629]!,
[0xa66f, 0xa66f]!,
[0xa674, 0xa67d]!,
[0xa69e, 0xa69f]!,
[0xa6f0, 0xa6f1]!,
[0xa802, 0xa802]!,
[0xa806, 0xa806]!,
[0xa80b, 0xa80b]!,
[0xa823, 0xa827]!,
[0xa82c, 0xa82c]!,
[0xa880, 0xa881]!,
[0xa8b4, 0xa8c5]!,
[0xa8d0, 0xa8d9]!,
[0xa8e0, 0xa8f1]!,
[0xa8ff, 0xa909]!,
[0xa926, 0xa92d]!,
[0xa947, 0xa953]!,
[0xa980, 0xa983]!,
[0xa9b3, 0xa9c0]!,
[0xa9d0, 0xa9d9]!,
[0xa9e5, 0xa9e5]!,
[0xa9f0, 0xa9f9]!,
[0xaa29, 0xaa36]!,
[0xaa43, 0xaa43]!,
[0xaa4c, 0xaa4d]!,
[0xaa50, 0xaa59]!,
[0xaa7b, 0xaa7d]!,
[0xaab0, 0xaab0]!,
[0xaab2, 0xaab4]!,
[0xaab7, 0xaab8]!,
[0xaabe, 0xaabf]!,
[0xaac1, 0xaac1]!,
[0xaaeb, 0xaaef]!,
[0xaaf5, 0xaaf6]!,
[0xabe3, 0xabea]!,
[0xabec, 0xabed]!,
[0xabf0, 0xabf9]!,
[0xfb1e, 0xfb1e]!,
[0xfe00, 0xfe0f]!,
[0xfe20, 0xfe2f]!,
[0xfe33, 0xfe34]!,
[0xfe4d, 0xfe4f]!,
[0xff10, 0xff19]!,
[0xff3f, 0xff3f]!,
[0x101fd, 0x101fd]!,
[0x102e0, 0x102e0]!,
[0x10376, 0x1037a]!,
[0x104a0, 0x104a9]!,
[0x10a01, 0x10a03]!,
[0x10a05, 0x10a06]!,
[0x10a0c, 0x10a0f]!,
[0x10a38, 0x10a3a]!,
[0x10a3f, 0x10a3f]!,
[0x10ae5, 0x10ae6]!,
[0x10d24, 0x10d27]!,
[0x10d30, 0x10d39]!,
[0x10eab, 0x10eac]!,
[0x10efd, 0x10eff]!,
[0x10f46, 0x10f50]!,
[0x10f82, 0x10f85]!,
[0x11000, 0x11002]!,
[0x11038, 0x11046]!,
[0x11066, 0x11070]!,
[0x11073, 0x11074]!,
[0x1107f, 0x11082]!,
[0x110b0, 0x110ba]!,
[0x110c2, 0x110c2]!,
[0x110f0, 0x110f9]!,
[0x11100, 0x11102]!,
[0x11127, 0x11134]!,
[0x11136, 0x1113f]!,
[0x11145, 0x11146]!,
[0x11173, 0x11173]!,
[0x11180, 0x11182]!,
[0x111b3, 0x111c0]!,
[0x111c9, 0x111cc]!,
[0x111ce, 0x111d9]!,
[0x1122c, 0x11237]!,
[0x1123e, 0x1123e]!,
[0x11241, 0x11241]!,
[0x112df, 0x112ea]!,
[0x112f0, 0x112f9]!,
[0x11300, 0x11303]!,
[0x1133b, 0x1133c]!,
[0x1133e, 0x11344]!,
[0x11347, 0x11348]!,
[0x1134b, 0x1134d]!,
[0x11357, 0x11357]!,
[0x11362, 0x11363]!,
[0x11366, 0x1136c]!,
[0x11370, 0x11374]!,
[0x11435, 0x11446]!,
[0x11450, 0x11459]!,
[0x1145e, 0x1145e]!,
[0x114b0, 0x114c3]!,
[0x114d0, 0x114d9]!,
[0x115af, 0x115b5]!,
[0x115b8, 0x115c0]!,
[0x115dc, 0x115dd]!,
[0x11630, 0x11640]!,
[0x11650, 0x11659]!,
[0x116ab, 0x116b7]!,
[0x116c0, 0x116c9]!,
[0x1171d, 0x1172b]!,
[0x11730, 0x11739]!,
[0x1182c, 0x1183a]!,
[0x118e0, 0x118e9]!,
[0x11930, 0x11935]!,
[0x11937, 0x11938]!,
[0x1193b, 0x1193e]!,
[0x11940, 0x11940]!,
[0x11942, 0x11943]!,
[0x11950, 0x11959]!,
[0x119d1, 0x119d7]!,
[0x119da, 0x119e0]!,
[0x119e4, 0x119e4]!,
[0x11a01, 0x11a0a]!,
[0x11a33, 0x11a39]!,
[0x11a3b, 0x11a3e]!,
[0x11a47, 0x11a47]!,
[0x11a51, 0x11a5b]!,
[0x11a8a, 0x11a99]!,
[0x11c2f, 0x11c36]!,
[0x11c38, 0x11c3f]!,
[0x11c50, 0x11c59]!,
[0x11c92, 0x11ca7]!,
[0x11ca9, 0x11cb6]!,
[0x11d31, 0x11d36]!,
[0x11d3a, 0x11d3a]!,
[0x11d3c, 0x11d3d]!,
[0x11d3f, 0x11d45]!,
[0x11d47, 0x11d47]!,
[0x11d50, 0x11d59]!,
[0x11d8a, 0x11d8e]!,
[0x11d90, 0x11d91]!,
[0x11d93, 0x11d97]!,
[0x11da0, 0x11da9]!,
[0x11ef3, 0x11ef6]!,
[0x11f00, 0x11f01]!,
[0x11f03, 0x11f03]!,
[0x11f34, 0x11f3a]!,
[0x11f3e, 0x11f42]!,
[0x11f50, 0x11f59]!,
[0x13440, 0x13440]!,
[0x13447, 0x13455]!,
[0x16a60, 0x16a69]!,
[0x16ac0, 0x16ac9]!,
[0x16af0, 0x16af4]!,
[0x16b30, 0x16b36]!,
[0x16b50, 0x16b59]!,
[0x16f4f, 0x16f4f]!,
[0x16f51, 0x16f87]!,
[0x16f8f, 0x16f92]!,
[0x16fe4, 0x16fe4]!,
[0x16ff0, 0x16ff1]!,
[0x1bc9d, 0x1bc9e]!,
[0x1cf00, 0x1cf2d]!,
[0x1cf30, 0x1cf46]!,
[0x1d165, 0x1d169]!,
[0x1d16d, 0x1d172]!,
[0x1d17b, 0x1d182]!,
[0x1d185, 0x1d18b]!,
[0x1d1aa, 0x1d1ad]!,
[0x1d242, 0x1d244]!,
[0x1d7ce, 0x1d7ff]!,
[0x1da00, 0x1da36]!,
[0x1da3b, 0x1da6c]!,
[0x1da75, 0x1da75]!,
[0x1da84, 0x1da84]!,
[0x1da9b, 0x1da9f]!,
[0x1daa1, 0x1daaf]!,
[0x1e000, 0x1e006]!,
[0x1e008, 0x1e018]!,
[0x1e01b, 0x1e021]!,
[0x1e023, 0x1e024]!,
[0x1e026, 0x1e02a]!,
[0x1e08f, 0x1e08f]!,
[0x1e130, 0x1e136]!,
[0x1e140, 0x1e149]!,
[0x1e2ae, 0x1e2ae]!,
[0x1e2ec, 0x1e2f9]!,
[0x1e4ec, 0x1e4f9]!,
[0x1e8d0, 0x1e8d6]!,
[0x1e944, 0x1e94a]!,
[0x1e950, 0x1e959]!,
[0x1fbf0, 0x1fbf9]!,
[0xe0100, 0xe01ef]!,
]