1 // =================================
  2 // Copyright (c) 2020 Seppo Laakko
  3 // Distributed under the MIT license
  4 // =================================
  5 
  6 #include <sng2html/sng2html/Identifier.hpp>
  7 
  8 namespace sng2html { namespace sng2html {
  9 
 10 void MakeAsciiIdStart(LexerContext& lexerContext)
 11 {
 12     Class* idStart = lexerContext.MakeIdStart();
 13     idStart->AddSymbol(lexerContext.MakeRange('A''Z'));
 14     idStart->AddSymbol(lexerContext.MakeRange('a''z'));
 15     idStart->AddSymbol(lexerContext.MakeChar('_'));
 16 }
 17 
 18 void MakeAsciiIdCont(LexerContext& lexerContext)
 19 {
 20     Class* idCont = lexerContext.MakeIdCont();
 21     idCont->AddSymbol(lexerContext.MakeRange('A''Z'));
 22     idCont->AddSymbol(lexerContext.MakeRange('a''z'));
 23     idCont->AddSymbol(lexerContext.MakeRange('0''9'));
 24     idCont->AddSymbol(lexerContext.MakeChar('_'));
 25 }
 26 
 27 void MakeUnicodeIdStart(LexerContext& lexerContext)
 28 {
 29     Class* idStart = lexerContext.MakeIdStart();
 30     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65)static_cast<char32_t>(90)));
 31     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(95)static_cast<char32_t>(95)));
 32     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(97)static_cast<char32_t>(122)));
 33     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(170)static_cast<char32_t>(170)));
 34     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(181)static_cast<char32_t>(181)));
 35     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(186)static_cast<char32_t>(186)));
 36     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(192)static_cast<char32_t>(214)));
 37     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(216)static_cast<char32_t>(246)));
 38     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(248)static_cast<char32_t>(705)));
 39     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(710)static_cast<char32_t>(721)));
 40     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(736)static_cast<char32_t>(740)));
 41     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(748)static_cast<char32_t>(748)));
 42     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(750)static_cast<char32_t>(750)));
 43     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(880)static_cast<char32_t>(884)));
 44     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(886)static_cast<char32_t>(887)));
 45     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(890)static_cast<char32_t>(893)));
 46     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(895)static_cast<char32_t>(895)));
 47     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(902)static_cast<char32_t>(902)));
 48     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(904)static_cast<char32_t>(906)));
 49     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(908)static_cast<char32_t>(908)));
 50     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(910)static_cast<char32_t>(929)));
 51     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(931)static_cast<char32_t>(1013)));
 52     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1015)static_cast<char32_t>(1153)));
 53     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1162)static_cast<char32_t>(1327)));
 54     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1329)static_cast<char32_t>(1366)));
 55     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1369)static_cast<char32_t>(1369)));
 56     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1376)static_cast<char32_t>(1416)));
 57     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1488)static_cast<char32_t>(1514)));
 58     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1519)static_cast<char32_t>(1522)));
 59     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1568)static_cast<char32_t>(1610)));
 60     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1646)static_cast<char32_t>(1647)));
 61     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1649)static_cast<char32_t>(1747)));
 62     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1749)static_cast<char32_t>(1749)));
 63     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1765)static_cast<char32_t>(1766)));
 64     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1774)static_cast<char32_t>(1775)));
 65     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1786)static_cast<char32_t>(1788)));
 66     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1791)static_cast<char32_t>(1791)));
 67     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1808)static_cast<char32_t>(1808)));
 68     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1810)static_cast<char32_t>(1839)));
 69     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1869)static_cast<char32_t>(1957)));
 70     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1969)static_cast<char32_t>(1969)));
 71     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1994)static_cast<char32_t>(2026)));
 72     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2036)static_cast<char32_t>(2037)));
 73     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2042)static_cast<char32_t>(2042)));
 74     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2048)static_cast<char32_t>(2069)));
 75     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2074)static_cast<char32_t>(2074)));
 76     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2084)static_cast<char32_t>(2084)));
 77     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2088)static_cast<char32_t>(2088)));
 78     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2112)static_cast<char32_t>(2136)));
 79     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2144)static_cast<char32_t>(2154)));
 80     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2208)static_cast<char32_t>(2228)));
 81     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2230)static_cast<char32_t>(2237)));
 82     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2308)static_cast<char32_t>(2361)));
 83     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2365)static_cast<char32_t>(2365)));
 84     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2384)static_cast<char32_t>(2384)));
 85     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2392)static_cast<char32_t>(2401)));
 86     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2417)static_cast<char32_t>(2432)));
 87     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2437)static_cast<char32_t>(2444)));
 88     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2447)static_cast<char32_t>(2448)));
 89     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2451)static_cast<char32_t>(2472)));
 90     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2474)static_cast<char32_t>(2480)));
 91     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2482)static_cast<char32_t>(2482)));
 92     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2486)static_cast<char32_t>(2489)));
 93     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2493)static_cast<char32_t>(2493)));
 94     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2510)static_cast<char32_t>(2510)));
 95     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2524)static_cast<char32_t>(2525)));
 96     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2527)static_cast<char32_t>(2529)));
 97     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2544)static_cast<char32_t>(2545)));
 98     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2556)static_cast<char32_t>(2556)));
 99     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2565)static_cast<char32_t>(2570)));
100     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2575)static_cast<char32_t>(2576)));
101     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2579)static_cast<char32_t>(2600)));
102     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2602)static_cast<char32_t>(2608)));
103     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2610)static_cast<char32_t>(2611)));
104     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2613)static_cast<char32_t>(2614)));
105     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2616)static_cast<char32_t>(2617)));
106     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2649)static_cast<char32_t>(2652)));
107     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2654)static_cast<char32_t>(2654)));
108     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2674)static_cast<char32_t>(2676)));
109     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2693)static_cast<char32_t>(2701)));
110     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2703)static_cast<char32_t>(2705)));
111     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2707)static_cast<char32_t>(2728)));
112     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2730)static_cast<char32_t>(2736)));
113     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2738)static_cast<char32_t>(2739)));
114     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2741)static_cast<char32_t>(2745)));
115     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2749)static_cast<char32_t>(2749)));
116     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2768)static_cast<char32_t>(2768)));
117     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2784)static_cast<char32_t>(2785)));
118     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2809)static_cast<char32_t>(2809)));
119     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2821)static_cast<char32_t>(2828)));
120     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2831)static_cast<char32_t>(2832)));
121     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2835)static_cast<char32_t>(2856)));
122     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2858)static_cast<char32_t>(2864)));
123     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2866)static_cast<char32_t>(2867)));
124     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2869)static_cast<char32_t>(2873)));
125     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2877)static_cast<char32_t>(2877)));
126     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2908)static_cast<char32_t>(2909)));
127     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2911)static_cast<char32_t>(2913)));
128     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2929)static_cast<char32_t>(2929)));
129     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2947)static_cast<char32_t>(2947)));
130     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2949)static_cast<char32_t>(2954)));
131     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2958)static_cast<char32_t>(2960)));
132     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2962)static_cast<char32_t>(2965)));
133     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2969)static_cast<char32_t>(2970)));
134     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2972)static_cast<char32_t>(2972)));
135     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2974)static_cast<char32_t>(2975)));
136     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2979)static_cast<char32_t>(2980)));
137     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2984)static_cast<char32_t>(2986)));
138     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2990)static_cast<char32_t>(3001)));
139     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3024)static_cast<char32_t>(3024)));
140     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3077)static_cast<char32_t>(3084)));
141     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3086)static_cast<char32_t>(3088)));
142     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3090)static_cast<char32_t>(3112)));
143     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3114)static_cast<char32_t>(3129)));
144     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3133)static_cast<char32_t>(3133)));
145     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3160)static_cast<char32_t>(3162)));
146     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3168)static_cast<char32_t>(3169)));
147     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3200)static_cast<char32_t>(3200)));
148     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3205)static_cast<char32_t>(3212)));
149     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3214)static_cast<char32_t>(3216)));
150     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3218)static_cast<char32_t>(3240)));
151     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3242)static_cast<char32_t>(3251)));
152     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3253)static_cast<char32_t>(3257)));
153     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3261)static_cast<char32_t>(3261)));
154     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3294)static_cast<char32_t>(3294)));
155     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3296)static_cast<char32_t>(3297)));
156     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3313)static_cast<char32_t>(3314)));
157     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3333)static_cast<char32_t>(3340)));
158     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3342)static_cast<char32_t>(3344)));
159     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3346)static_cast<char32_t>(3386)));
160     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3389)static_cast<char32_t>(3389)));
161     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3406)static_cast<char32_t>(3406)));
162     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3412)static_cast<char32_t>(3414)));
163     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3423)static_cast<char32_t>(3425)));
164     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3450)static_cast<char32_t>(3455)));
165     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3461)static_cast<char32_t>(3478)));
166     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3482)static_cast<char32_t>(3505)));
167     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3507)static_cast<char32_t>(3515)));
168     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3517)static_cast<char32_t>(3517)));
169     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3520)static_cast<char32_t>(3526)));
170     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3585)static_cast<char32_t>(3632)));
171     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3634)static_cast<char32_t>(3635)));
172     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3648)static_cast<char32_t>(3654)));
173     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3713)static_cast<char32_t>(3714)));
174     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3716)static_cast<char32_t>(3716)));
175     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3718)static_cast<char32_t>(3722)));
176     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3724)static_cast<char32_t>(3747)));
177     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3749)static_cast<char32_t>(3749)));
178     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3751)static_cast<char32_t>(3760)));
179     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3762)static_cast<char32_t>(3763)));
180     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3773)static_cast<char32_t>(3773)));
181     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3776)static_cast<char32_t>(3780)));
182     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3782)static_cast<char32_t>(3782)));
183     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3804)static_cast<char32_t>(3807)));
184     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3840)static_cast<char32_t>(3840)));
185     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3904)static_cast<char32_t>(3911)));
186     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3913)static_cast<char32_t>(3948)));
187     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3976)static_cast<char32_t>(3980)));
188     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4096)static_cast<char32_t>(4138)));
189     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4159)static_cast<char32_t>(4159)));
190     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4176)static_cast<char32_t>(4181)));
191     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4186)static_cast<char32_t>(4189)));
192     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4193)static_cast<char32_t>(4193)));
193     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4197)static_cast<char32_t>(4198)));
194     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4206)static_cast<char32_t>(4208)));
195     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4213)static_cast<char32_t>(4225)));
196     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4238)static_cast<char32_t>(4238)));
197     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4256)static_cast<char32_t>(4293)));
198     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4295)static_cast<char32_t>(4295)));
199     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4301)static_cast<char32_t>(4301)));
200     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4304)static_cast<char32_t>(4346)));
201     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4348)static_cast<char32_t>(4680)));
202     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4682)static_cast<char32_t>(4685)));
203     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4688)static_cast<char32_t>(4694)));
204     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4696)static_cast<char32_t>(4696)));
205     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4698)static_cast<char32_t>(4701)));
206     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4704)static_cast<char32_t>(4744)));
207     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4746)static_cast<char32_t>(4749)));
208     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4752)static_cast<char32_t>(4784)));
209     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4786)static_cast<char32_t>(4789)));
210     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4792)static_cast<char32_t>(4798)));
211     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4800)static_cast<char32_t>(4800)));
212     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4802)static_cast<char32_t>(4805)));
213     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4808)static_cast<char32_t>(4822)));
214     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4824)static_cast<char32_t>(4880)));
215     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4882)static_cast<char32_t>(4885)));
216     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4888)static_cast<char32_t>(4954)));
217     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4992)static_cast<char32_t>(5007)));
218     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5024)static_cast<char32_t>(5109)));
219     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5112)static_cast<char32_t>(5117)));
220     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5121)static_cast<char32_t>(5740)));
221     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5743)static_cast<char32_t>(5759)));
222     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5761)static_cast<char32_t>(5786)));
223     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5792)static_cast<char32_t>(5866)));
224     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5870)static_cast<char32_t>(5880)));
225     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5888)static_cast<char32_t>(5900)));
226     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5902)static_cast<char32_t>(5905)));
227     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5920)static_cast<char32_t>(5937)));
228     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5952)static_cast<char32_t>(5969)));
229     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5984)static_cast<char32_t>(5996)));
230     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5998)static_cast<char32_t>(6000)));
231     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6016)static_cast<char32_t>(6067)));
232     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6103)static_cast<char32_t>(6103)));
233     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6108)static_cast<char32_t>(6108)));
234     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6176)static_cast<char32_t>(6264)));
235     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6272)static_cast<char32_t>(6312)));
236     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6314)static_cast<char32_t>(6314)));
237     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6320)static_cast<char32_t>(6389)));
238     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6400)static_cast<char32_t>(6430)));
239     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6480)static_cast<char32_t>(6509)));
240     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6512)static_cast<char32_t>(6516)));
241     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6528)static_cast<char32_t>(6571)));
242     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6576)static_cast<char32_t>(6601)));
243     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6656)static_cast<char32_t>(6678)));
244     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6688)static_cast<char32_t>(6740)));
245     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6823)static_cast<char32_t>(6823)));
246     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6917)static_cast<char32_t>(6963)));
247     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6981)static_cast<char32_t>(6987)));
248     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7043)static_cast<char32_t>(7072)));
249     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7086)static_cast<char32_t>(7087)));
250     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7098)static_cast<char32_t>(7141)));
251     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7168)static_cast<char32_t>(7203)));
252     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7245)static_cast<char32_t>(7247)));
253     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7258)static_cast<char32_t>(7293)));
254     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7296)static_cast<char32_t>(7304)));
255     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7312)static_cast<char32_t>(7354)));
256     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7357)static_cast<char32_t>(7359)));
257     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7401)static_cast<char32_t>(7404)));
258     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7406)static_cast<char32_t>(7411)));
259     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7413)static_cast<char32_t>(7414)));
260     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7418)static_cast<char32_t>(7418)));
261     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7424)static_cast<char32_t>(7615)));
262     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7680)static_cast<char32_t>(7957)));
263     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7960)static_cast<char32_t>(7965)));
264     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7968)static_cast<char32_t>(8005)));
265     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8008)static_cast<char32_t>(8013)));
266     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8016)static_cast<char32_t>(8023)));
267     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8025)static_cast<char32_t>(8025)));
268     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8027)static_cast<char32_t>(8027)));
269     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8029)static_cast<char32_t>(8029)));
270     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8031)static_cast<char32_t>(8061)));
271     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8064)static_cast<char32_t>(8116)));
272     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8118)static_cast<char32_t>(8124)));
273     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8126)static_cast<char32_t>(8126)));
274     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8130)static_cast<char32_t>(8132)));
275     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8134)static_cast<char32_t>(8140)));
276     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8144)static_cast<char32_t>(8147)));
277     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8150)static_cast<char32_t>(8155)));
278     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8160)static_cast<char32_t>(8172)));
279     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8178)static_cast<char32_t>(8180)));
280     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8182)static_cast<char32_t>(8188)));
281     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8305)static_cast<char32_t>(8305)));
282     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8319)static_cast<char32_t>(8319)));
283     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8336)static_cast<char32_t>(8348)));
284     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8450)static_cast<char32_t>(8450)));
285     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8455)static_cast<char32_t>(8455)));
286     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8458)static_cast<char32_t>(8467)));
287     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8469)static_cast<char32_t>(8469)));
288     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8472)static_cast<char32_t>(8477)));
289     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8484)static_cast<char32_t>(8484)));
290     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8486)static_cast<char32_t>(8486)));
291     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8488)static_cast<char32_t>(8488)));
292     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8490)static_cast<char32_t>(8505)));
293     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8508)static_cast<char32_t>(8511)));
294     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8517)static_cast<char32_t>(8521)));
295     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8526)static_cast<char32_t>(8526)));
296     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8544)static_cast<char32_t>(8584)));
297     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11264)static_cast<char32_t>(11310)));
298     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11312)static_cast<char32_t>(11358)));
299     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11360)static_cast<char32_t>(11492)));
300     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11499)static_cast<char32_t>(11502)));
301     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11506)static_cast<char32_t>(11507)));
302     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11520)static_cast<char32_t>(11557)));
303     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11559)static_cast<char32_t>(11559)));
304     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11565)static_cast<char32_t>(11565)));
305     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11568)static_cast<char32_t>(11623)));
306     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11631)static_cast<char32_t>(11631)));
307     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11648)static_cast<char32_t>(11670)));
308     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11680)static_cast<char32_t>(11686)));
309     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11688)static_cast<char32_t>(11694)));
310     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11696)static_cast<char32_t>(11702)));
311     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11704)static_cast<char32_t>(11710)));
312     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11712)static_cast<char32_t>(11718)));
313     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11720)static_cast<char32_t>(11726)));
314     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11728)static_cast<char32_t>(11734)));
315     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11736)static_cast<char32_t>(11742)));
316     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12293)static_cast<char32_t>(12295)));
317     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12321)static_cast<char32_t>(12329)));
318     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12337)static_cast<char32_t>(12341)));
319     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12344)static_cast<char32_t>(12348)));
320     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12353)static_cast<char32_t>(12438)));
321     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12443)static_cast<char32_t>(12447)));
322     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12449)static_cast<char32_t>(12538)));
323     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12540)static_cast<char32_t>(12543)));
324     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12549)static_cast<char32_t>(12591)));
325     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12593)static_cast<char32_t>(12686)));
326     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12704)static_cast<char32_t>(12730)));
327     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12784)static_cast<char32_t>(12799)));
328     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(13312)static_cast<char32_t>(19893)));
329     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(19968)static_cast<char32_t>(40943)));
330     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(40960)static_cast<char32_t>(42124)));
331     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42192)static_cast<char32_t>(42237)));
332     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42240)static_cast<char32_t>(42508)));
333     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42512)static_cast<char32_t>(42527)));
334     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42538)static_cast<char32_t>(42539)));
335     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42560)static_cast<char32_t>(42606)));
336     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42623)static_cast<char32_t>(42653)));
337     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42656)static_cast<char32_t>(42735)));
338     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42775)static_cast<char32_t>(42783)));
339     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42786)static_cast<char32_t>(42888)));
340     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42891)static_cast<char32_t>(42943)));
341     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42946)static_cast<char32_t>(42950)));
342     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42999)static_cast<char32_t>(43009)));
343     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43011)static_cast<char32_t>(43013)));
344     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43015)static_cast<char32_t>(43018)));
345     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43020)static_cast<char32_t>(43042)));
346     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43072)static_cast<char32_t>(43123)));
347     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43138)static_cast<char32_t>(43187)));
348     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43250)static_cast<char32_t>(43255)));
349     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43259)static_cast<char32_t>(43259)));
350     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43261)static_cast<char32_t>(43262)));
351     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43274)static_cast<char32_t>(43301)));
352     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43312)static_cast<char32_t>(43334)));
353     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43360)static_cast<char32_t>(43388)));
354     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43396)static_cast<char32_t>(43442)));
355     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43471)static_cast<char32_t>(43471)));
356     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43488)static_cast<char32_t>(43492)));
357     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43494)static_cast<char32_t>(43503)));
358     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43514)static_cast<char32_t>(43518)));
359     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43520)static_cast<char32_t>(43560)));
360     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43584)static_cast<char32_t>(43586)));
361     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43588)static_cast<char32_t>(43595)));
362     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43616)static_cast<char32_t>(43638)));
363     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43642)static_cast<char32_t>(43642)));
364     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43646)static_cast<char32_t>(43695)));
365     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43697)static_cast<char32_t>(43697)));
366     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43701)static_cast<char32_t>(43702)));
367     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43705)static_cast<char32_t>(43709)));
368     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43712)static_cast<char32_t>(43712)));
369     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43714)static_cast<char32_t>(43714)));
370     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43739)static_cast<char32_t>(43741)));
371     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43744)static_cast<char32_t>(43754)));
372     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43762)static_cast<char32_t>(43764)));
373     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43777)static_cast<char32_t>(43782)));
374     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43785)static_cast<char32_t>(43790)));
375     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43793)static_cast<char32_t>(43798)));
376     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43808)static_cast<char32_t>(43814)));
377     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43816)static_cast<char32_t>(43822)));
378     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43824)static_cast<char32_t>(43866)));
379     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43868)static_cast<char32_t>(43879)));
380     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43888)static_cast<char32_t>(44002)));
381     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(44032)static_cast<char32_t>(55203)));
382     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(55216)static_cast<char32_t>(55238)));
383     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(55243)static_cast<char32_t>(55291)));
384     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(63744)static_cast<char32_t>(64109)));
385     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64112)static_cast<char32_t>(64217)));
386     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64256)static_cast<char32_t>(64262)));
387     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64275)static_cast<char32_t>(64279)));
388     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64285)static_cast<char32_t>(64285)));
389     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64287)static_cast<char32_t>(64296)));
390     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64298)static_cast<char32_t>(64310)));
391     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64312)static_cast<char32_t>(64316)));
392     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64318)static_cast<char32_t>(64318)));
393     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64320)static_cast<char32_t>(64321)));
394     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64323)static_cast<char32_t>(64324)));
395     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64326)static_cast<char32_t>(64433)));
396     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64467)static_cast<char32_t>(64829)));
397     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64848)static_cast<char32_t>(64911)));
398     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64914)static_cast<char32_t>(64967)));
399     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65008)static_cast<char32_t>(65019)));
400     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65136)static_cast<char32_t>(65140)));
401     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65142)static_cast<char32_t>(65276)));
402     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65313)static_cast<char32_t>(65338)));
403     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65345)static_cast<char32_t>(65370)));
404     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65382)static_cast<char32_t>(65470)));
405     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65474)static_cast<char32_t>(65479)));
406     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65482)static_cast<char32_t>(65487)));
407     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65490)static_cast<char32_t>(65495)));
408     idStart->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65498)static_cast<char32_t>(65500)));
409 }
410 
411 void MakeUnicodeIdCont(LexerContext& lexerContext)
412 {
413     Class* idCont = lexerContext.MakeIdCont();
414     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(48)static_cast<char32_t>(57)));
415     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65)static_cast<char32_t>(90)));
416     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(95)static_cast<char32_t>(95)));
417     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(97)static_cast<char32_t>(122)));
418     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(170)static_cast<char32_t>(170)));
419     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(181)static_cast<char32_t>(181)));
420     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(183)static_cast<char32_t>(183)));
421     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(186)static_cast<char32_t>(186)));
422     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(192)static_cast<char32_t>(214)));
423     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(216)static_cast<char32_t>(246)));
424     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(248)static_cast<char32_t>(705)));
425     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(710)static_cast<char32_t>(721)));
426     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(736)static_cast<char32_t>(740)));
427     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(748)static_cast<char32_t>(748)));
428     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(750)static_cast<char32_t>(750)));
429     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(768)static_cast<char32_t>(884)));
430     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(886)static_cast<char32_t>(887)));
431     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(890)static_cast<char32_t>(893)));
432     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(895)static_cast<char32_t>(895)));
433     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(902)static_cast<char32_t>(906)));
434     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(908)static_cast<char32_t>(908)));
435     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(910)static_cast<char32_t>(929)));
436     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(931)static_cast<char32_t>(1013)));
437     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1015)static_cast<char32_t>(1153)));
438     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1155)static_cast<char32_t>(1159)));
439     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1162)static_cast<char32_t>(1327)));
440     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1329)static_cast<char32_t>(1366)));
441     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1369)static_cast<char32_t>(1369)));
442     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1376)static_cast<char32_t>(1416)));
443     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1425)static_cast<char32_t>(1469)));
444     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1471)static_cast<char32_t>(1471)));
445     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1473)static_cast<char32_t>(1474)));
446     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1476)static_cast<char32_t>(1477)));
447     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1479)static_cast<char32_t>(1479)));
448     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1488)static_cast<char32_t>(1514)));
449     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1519)static_cast<char32_t>(1522)));
450     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1552)static_cast<char32_t>(1562)));
451     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1568)static_cast<char32_t>(1641)));
452     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1646)static_cast<char32_t>(1747)));
453     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1749)static_cast<char32_t>(1756)));
454     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1759)static_cast<char32_t>(1768)));
455     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1770)static_cast<char32_t>(1788)));
456     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1791)static_cast<char32_t>(1791)));
457     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1808)static_cast<char32_t>(1866)));
458     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1869)static_cast<char32_t>(1969)));
459     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(1984)static_cast<char32_t>(2037)));
460     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2042)static_cast<char32_t>(2042)));
461     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2045)static_cast<char32_t>(2045)));
462     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2048)static_cast<char32_t>(2093)));
463     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2112)static_cast<char32_t>(2139)));
464     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2144)static_cast<char32_t>(2154)));
465     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2208)static_cast<char32_t>(2228)));
466     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2230)static_cast<char32_t>(2237)));
467     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2259)static_cast<char32_t>(2273)));
468     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2275)static_cast<char32_t>(2403)));
469     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2406)static_cast<char32_t>(2415)));
470     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2417)static_cast<char32_t>(2435)));
471     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2437)static_cast<char32_t>(2444)));
472     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2447)static_cast<char32_t>(2448)));
473     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2451)static_cast<char32_t>(2472)));
474     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2474)static_cast<char32_t>(2480)));
475     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2482)static_cast<char32_t>(2482)));
476     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2486)static_cast<char32_t>(2489)));
477     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2492)static_cast<char32_t>(2500)));
478     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2503)static_cast<char32_t>(2504)));
479     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2507)static_cast<char32_t>(2510)));
480     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2519)static_cast<char32_t>(2519)));
481     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2524)static_cast<char32_t>(2525)));
482     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2527)static_cast<char32_t>(2531)));
483     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2534)static_cast<char32_t>(2545)));
484     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2556)static_cast<char32_t>(2556)));
485     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2558)static_cast<char32_t>(2558)));
486     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2561)static_cast<char32_t>(2563)));
487     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2565)static_cast<char32_t>(2570)));
488     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2575)static_cast<char32_t>(2576)));
489     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2579)static_cast<char32_t>(2600)));
490     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2602)static_cast<char32_t>(2608)));
491     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2610)static_cast<char32_t>(2611)));
492     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2613)static_cast<char32_t>(2614)));
493     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2616)static_cast<char32_t>(2617)));
494     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2620)static_cast<char32_t>(2620)));
495     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2622)static_cast<char32_t>(2626)));
496     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2631)static_cast<char32_t>(2632)));
497     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2635)static_cast<char32_t>(2637)));
498     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2641)static_cast<char32_t>(2641)));
499     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2649)static_cast<char32_t>(2652)));
500     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2654)static_cast<char32_t>(2654)));
501     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2662)static_cast<char32_t>(2677)));
502     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2689)static_cast<char32_t>(2691)));
503     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2693)static_cast<char32_t>(2701)));
504     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2703)static_cast<char32_t>(2705)));
505     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2707)static_cast<char32_t>(2728)));
506     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2730)static_cast<char32_t>(2736)));
507     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2738)static_cast<char32_t>(2739)));
508     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2741)static_cast<char32_t>(2745)));
509     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2748)static_cast<char32_t>(2757)));
510     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2759)static_cast<char32_t>(2761)));
511     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2763)static_cast<char32_t>(2765)));
512     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2768)static_cast<char32_t>(2768)));
513     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2784)static_cast<char32_t>(2787)));
514     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2790)static_cast<char32_t>(2799)));
515     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2809)static_cast<char32_t>(2815)));
516     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2817)static_cast<char32_t>(2819)));
517     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2821)static_cast<char32_t>(2828)));
518     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2831)static_cast<char32_t>(2832)));
519     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2835)static_cast<char32_t>(2856)));
520     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2858)static_cast<char32_t>(2864)));
521     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2866)static_cast<char32_t>(2867)));
522     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2869)static_cast<char32_t>(2873)));
523     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2876)static_cast<char32_t>(2884)));
524     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2887)static_cast<char32_t>(2888)));
525     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2891)static_cast<char32_t>(2893)));
526     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2902)static_cast<char32_t>(2903)));
527     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2908)static_cast<char32_t>(2909)));
528     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2911)static_cast<char32_t>(2915)));
529     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2918)static_cast<char32_t>(2927)));
530     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2929)static_cast<char32_t>(2929)));
531     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2946)static_cast<char32_t>(2947)));
532     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2949)static_cast<char32_t>(2954)));
533     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2958)static_cast<char32_t>(2960)));
534     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2962)static_cast<char32_t>(2965)));
535     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2969)static_cast<char32_t>(2970)));
536     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2972)static_cast<char32_t>(2972)));
537     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2974)static_cast<char32_t>(2975)));
538     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2979)static_cast<char32_t>(2980)));
539     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2984)static_cast<char32_t>(2986)));
540     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(2990)static_cast<char32_t>(3001)));
541     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3006)static_cast<char32_t>(3010)));
542     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3014)static_cast<char32_t>(3016)));
543     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3018)static_cast<char32_t>(3021)));
544     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3024)static_cast<char32_t>(3024)));
545     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3031)static_cast<char32_t>(3031)));
546     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3046)static_cast<char32_t>(3055)));
547     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3072)static_cast<char32_t>(3084)));
548     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3086)static_cast<char32_t>(3088)));
549     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3090)static_cast<char32_t>(3112)));
550     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3114)static_cast<char32_t>(3129)));
551     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3133)static_cast<char32_t>(3140)));
552     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3142)static_cast<char32_t>(3144)));
553     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3146)static_cast<char32_t>(3149)));
554     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3157)static_cast<char32_t>(3158)));
555     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3160)static_cast<char32_t>(3162)));
556     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3168)static_cast<char32_t>(3171)));
557     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3174)static_cast<char32_t>(3183)));
558     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3200)static_cast<char32_t>(3203)));
559     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3205)static_cast<char32_t>(3212)));
560     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3214)static_cast<char32_t>(3216)));
561     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3218)static_cast<char32_t>(3240)));
562     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3242)static_cast<char32_t>(3251)));
563     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3253)static_cast<char32_t>(3257)));
564     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3260)static_cast<char32_t>(3268)));
565     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3270)static_cast<char32_t>(3272)));
566     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3274)static_cast<char32_t>(3277)));
567     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3285)static_cast<char32_t>(3286)));
568     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3294)static_cast<char32_t>(3294)));
569     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3296)static_cast<char32_t>(3299)));
570     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3302)static_cast<char32_t>(3311)));
571     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3313)static_cast<char32_t>(3314)));
572     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3328)static_cast<char32_t>(3331)));
573     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3333)static_cast<char32_t>(3340)));
574     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3342)static_cast<char32_t>(3344)));
575     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3346)static_cast<char32_t>(3396)));
576     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3398)static_cast<char32_t>(3400)));
577     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3402)static_cast<char32_t>(3406)));
578     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3412)static_cast<char32_t>(3415)));
579     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3423)static_cast<char32_t>(3427)));
580     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3430)static_cast<char32_t>(3439)));
581     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3450)static_cast<char32_t>(3455)));
582     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3458)static_cast<char32_t>(3459)));
583     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3461)static_cast<char32_t>(3478)));
584     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3482)static_cast<char32_t>(3505)));
585     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3507)static_cast<char32_t>(3515)));
586     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3517)static_cast<char32_t>(3517)));
587     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3520)static_cast<char32_t>(3526)));
588     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3530)static_cast<char32_t>(3530)));
589     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3535)static_cast<char32_t>(3540)));
590     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3542)static_cast<char32_t>(3542)));
591     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3544)static_cast<char32_t>(3551)));
592     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3558)static_cast<char32_t>(3567)));
593     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3570)static_cast<char32_t>(3571)));
594     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3585)static_cast<char32_t>(3642)));
595     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3648)static_cast<char32_t>(3662)));
596     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3664)static_cast<char32_t>(3673)));
597     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3713)static_cast<char32_t>(3714)));
598     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3716)static_cast<char32_t>(3716)));
599     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3718)static_cast<char32_t>(3722)));
600     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3724)static_cast<char32_t>(3747)));
601     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3749)static_cast<char32_t>(3749)));
602     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3751)static_cast<char32_t>(3773)));
603     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3776)static_cast<char32_t>(3780)));
604     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3782)static_cast<char32_t>(3782)));
605     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3784)static_cast<char32_t>(3789)));
606     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3792)static_cast<char32_t>(3801)));
607     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3804)static_cast<char32_t>(3807)));
608     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3840)static_cast<char32_t>(3840)));
609     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3864)static_cast<char32_t>(3865)));
610     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3872)static_cast<char32_t>(3881)));
611     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3893)static_cast<char32_t>(3893)));
612     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3895)static_cast<char32_t>(3895)));
613     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3897)static_cast<char32_t>(3897)));
614     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3902)static_cast<char32_t>(3911)));
615     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3913)static_cast<char32_t>(3948)));
616     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3953)static_cast<char32_t>(3972)));
617     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3974)static_cast<char32_t>(3991)));
618     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(3993)static_cast<char32_t>(4028)));
619     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4038)static_cast<char32_t>(4038)));
620     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4096)static_cast<char32_t>(4169)));
621     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4176)static_cast<char32_t>(4253)));
622     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4256)static_cast<char32_t>(4293)));
623     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4295)static_cast<char32_t>(4295)));
624     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4301)static_cast<char32_t>(4301)));
625     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4304)static_cast<char32_t>(4346)));
626     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4348)static_cast<char32_t>(4680)));
627     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4682)static_cast<char32_t>(4685)));
628     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4688)static_cast<char32_t>(4694)));
629     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4696)static_cast<char32_t>(4696)));
630     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4698)static_cast<char32_t>(4701)));
631     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4704)static_cast<char32_t>(4744)));
632     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4746)static_cast<char32_t>(4749)));
633     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4752)static_cast<char32_t>(4784)));
634     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4786)static_cast<char32_t>(4789)));
635     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4792)static_cast<char32_t>(4798)));
636     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4800)static_cast<char32_t>(4800)));
637     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4802)static_cast<char32_t>(4805)));
638     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4808)static_cast<char32_t>(4822)));
639     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4824)static_cast<char32_t>(4880)));
640     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4882)static_cast<char32_t>(4885)));
641     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4888)static_cast<char32_t>(4954)));
642     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4957)static_cast<char32_t>(4959)));
643     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4969)static_cast<char32_t>(4977)));
644     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(4992)static_cast<char32_t>(5007)));
645     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5024)static_cast<char32_t>(5109)));
646     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5112)static_cast<char32_t>(5117)));
647     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5121)static_cast<char32_t>(5740)));
648     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5743)static_cast<char32_t>(5759)));
649     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5761)static_cast<char32_t>(5786)));
650     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5792)static_cast<char32_t>(5866)));
651     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5870)static_cast<char32_t>(5880)));
652     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5888)static_cast<char32_t>(5900)));
653     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5902)static_cast<char32_t>(5908)));
654     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5920)static_cast<char32_t>(5940)));
655     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5952)static_cast<char32_t>(5971)));
656     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5984)static_cast<char32_t>(5996)));
657     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(5998)static_cast<char32_t>(6000)));
658     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6002)static_cast<char32_t>(6003)));
659     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6016)static_cast<char32_t>(6099)));
660     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6103)static_cast<char32_t>(6103)));
661     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6108)static_cast<char32_t>(6109)));
662     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6112)static_cast<char32_t>(6121)));
663     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6155)static_cast<char32_t>(6157)));
664     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6160)static_cast<char32_t>(6169)));
665     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6176)static_cast<char32_t>(6264)));
666     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6272)static_cast<char32_t>(6314)));
667     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6320)static_cast<char32_t>(6389)));
668     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6400)static_cast<char32_t>(6430)));
669     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6432)static_cast<char32_t>(6443)));
670     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6448)static_cast<char32_t>(6459)));
671     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6470)static_cast<char32_t>(6509)));
672     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6512)static_cast<char32_t>(6516)));
673     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6528)static_cast<char32_t>(6571)));
674     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6576)static_cast<char32_t>(6601)));
675     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6608)static_cast<char32_t>(6618)));
676     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6656)static_cast<char32_t>(6683)));
677     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6688)static_cast<char32_t>(6750)));
678     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6752)static_cast<char32_t>(6780)));
679     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6783)static_cast<char32_t>(6793)));
680     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6800)static_cast<char32_t>(6809)));
681     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6823)static_cast<char32_t>(6823)));
682     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6832)static_cast<char32_t>(6845)));
683     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6912)static_cast<char32_t>(6987)));
684     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(6992)static_cast<char32_t>(7001)));
685     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7019)static_cast<char32_t>(7027)));
686     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7040)static_cast<char32_t>(7155)));
687     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7168)static_cast<char32_t>(7223)));
688     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7232)static_cast<char32_t>(7241)));
689     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7245)static_cast<char32_t>(7293)));
690     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7296)static_cast<char32_t>(7304)));
691     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7312)static_cast<char32_t>(7354)));
692     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7357)static_cast<char32_t>(7359)));
693     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7376)static_cast<char32_t>(7378)));
694     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7380)static_cast<char32_t>(7418)));
695     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7424)static_cast<char32_t>(7673)));
696     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7675)static_cast<char32_t>(7957)));
697     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7960)static_cast<char32_t>(7965)));
698     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(7968)static_cast<char32_t>(8005)));
699     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8008)static_cast<char32_t>(8013)));
700     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8016)static_cast<char32_t>(8023)));
701     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8025)static_cast<char32_t>(8025)));
702     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8027)static_cast<char32_t>(8027)));
703     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8029)static_cast<char32_t>(8029)));
704     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8031)static_cast<char32_t>(8061)));
705     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8064)static_cast<char32_t>(8116)));
706     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8118)static_cast<char32_t>(8124)));
707     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8126)static_cast<char32_t>(8126)));
708     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8130)static_cast<char32_t>(8132)));
709     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8134)static_cast<char32_t>(8140)));
710     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8144)static_cast<char32_t>(8147)));
711     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8150)static_cast<char32_t>(8155)));
712     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8160)static_cast<char32_t>(8172)));
713     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8178)static_cast<char32_t>(8180)));
714     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8182)static_cast<char32_t>(8188)));
715     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8255)static_cast<char32_t>(8256)));
716     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8276)static_cast<char32_t>(8276)));
717     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8305)static_cast<char32_t>(8305)));
718     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8319)static_cast<char32_t>(8319)));
719     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8336)static_cast<char32_t>(8348)));
720     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8400)static_cast<char32_t>(8412)));
721     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8417)static_cast<char32_t>(8417)));
722     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8421)static_cast<char32_t>(8432)));
723     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8450)static_cast<char32_t>(8450)));
724     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8455)static_cast<char32_t>(8455)));
725     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8458)static_cast<char32_t>(8467)));
726     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8469)static_cast<char32_t>(8469)));
727     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8472)static_cast<char32_t>(8477)));
728     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8484)static_cast<char32_t>(8484)));
729     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8486)static_cast<char32_t>(8486)));
730     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8488)static_cast<char32_t>(8488)));
731     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8490)static_cast<char32_t>(8505)));
732     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8508)static_cast<char32_t>(8511)));
733     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8517)static_cast<char32_t>(8521)));
734     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8526)static_cast<char32_t>(8526)));
735     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(8544)static_cast<char32_t>(8584)));
736     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11264)static_cast<char32_t>(11310)));
737     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11312)static_cast<char32_t>(11358)));
738     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11360)static_cast<char32_t>(11492)));
739     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11499)static_cast<char32_t>(11507)));
740     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11520)static_cast<char32_t>(11557)));
741     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11559)static_cast<char32_t>(11559)));
742     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11565)static_cast<char32_t>(11565)));
743     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11568)static_cast<char32_t>(11623)));
744     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11631)static_cast<char32_t>(11631)));
745     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11647)static_cast<char32_t>(11670)));
746     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11680)static_cast<char32_t>(11686)));
747     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11688)static_cast<char32_t>(11694)));
748     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11696)static_cast<char32_t>(11702)));
749     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11704)static_cast<char32_t>(11710)));
750     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11712)static_cast<char32_t>(11718)));
751     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11720)static_cast<char32_t>(11726)));
752     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11728)static_cast<char32_t>(11734)));
753     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11736)static_cast<char32_t>(11742)));
754     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(11744)static_cast<char32_t>(11775)));
755     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12293)static_cast<char32_t>(12295)));
756     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12321)static_cast<char32_t>(12335)));
757     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12337)static_cast<char32_t>(12341)));
758     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12344)static_cast<char32_t>(12348)));
759     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12353)static_cast<char32_t>(12438)));
760     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12441)static_cast<char32_t>(12447)));
761     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12449)static_cast<char32_t>(12538)));
762     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12540)static_cast<char32_t>(12543)));
763     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12549)static_cast<char32_t>(12591)));
764     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12593)static_cast<char32_t>(12686)));
765     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12704)static_cast<char32_t>(12730)));
766     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(12784)static_cast<char32_t>(12799)));
767     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(13312)static_cast<char32_t>(19893)));
768     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(19968)static_cast<char32_t>(40943)));
769     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(40960)static_cast<char32_t>(42124)));
770     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42192)static_cast<char32_t>(42237)));
771     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42240)static_cast<char32_t>(42508)));
772     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42512)static_cast<char32_t>(42539)));
773     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42560)static_cast<char32_t>(42607)));
774     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42612)static_cast<char32_t>(42621)));
775     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42623)static_cast<char32_t>(42737)));
776     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42775)static_cast<char32_t>(42783)));
777     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42786)static_cast<char32_t>(42888)));
778     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42891)static_cast<char32_t>(42943)));
779     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42946)static_cast<char32_t>(42950)));
780     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(42999)static_cast<char32_t>(43047)));
781     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43072)static_cast<char32_t>(43123)));
782     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43136)static_cast<char32_t>(43205)));
783     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43216)static_cast<char32_t>(43225)));
784     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43232)static_cast<char32_t>(43255)));
785     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43259)static_cast<char32_t>(43259)));
786     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43261)static_cast<char32_t>(43309)));
787     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43312)static_cast<char32_t>(43347)));
788     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43360)static_cast<char32_t>(43388)));
789     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43392)static_cast<char32_t>(43456)));
790     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43471)static_cast<char32_t>(43481)));
791     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43488)static_cast<char32_t>(43518)));
792     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43520)static_cast<char32_t>(43574)));
793     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43584)static_cast<char32_t>(43597)));
794     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43600)static_cast<char32_t>(43609)));
795     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43616)static_cast<char32_t>(43638)));
796     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43642)static_cast<char32_t>(43714)));
797     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43739)static_cast<char32_t>(43741)));
798     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43744)static_cast<char32_t>(43759)));
799     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43762)static_cast<char32_t>(43766)));
800     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43777)static_cast<char32_t>(43782)));
801     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43785)static_cast<char32_t>(43790)));
802     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43793)static_cast<char32_t>(43798)));
803     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43808)static_cast<char32_t>(43814)));
804     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43816)static_cast<char32_t>(43822)));
805     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43824)static_cast<char32_t>(43866)));
806     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43868)static_cast<char32_t>(43879)));
807     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(43888)static_cast<char32_t>(44010)));
808     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(44012)static_cast<char32_t>(44013)));
809     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(44016)static_cast<char32_t>(44025)));
810     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(44032)static_cast<char32_t>(55203)));
811     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(55216)static_cast<char32_t>(55238)));
812     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(55243)static_cast<char32_t>(55291)));
813     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(63744)static_cast<char32_t>(64109)));
814     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64112)static_cast<char32_t>(64217)));
815     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64256)static_cast<char32_t>(64262)));
816     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64275)static_cast<char32_t>(64279)));
817     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64285)static_cast<char32_t>(64296)));
818     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64298)static_cast<char32_t>(64310)));
819     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64312)static_cast<char32_t>(64316)));
820     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64318)static_cast<char32_t>(64318)));
821     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64320)static_cast<char32_t>(64321)));
822     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64323)static_cast<char32_t>(64324)));
823     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64326)static_cast<char32_t>(64433)));
824     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64467)static_cast<char32_t>(64829)));
825     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64848)static_cast<char32_t>(64911)));
826     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(64914)static_cast<char32_t>(64967)));
827     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65008)static_cast<char32_t>(65019)));
828     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65024)static_cast<char32_t>(65039)));
829     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65056)static_cast<char32_t>(65071)));
830     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65075)static_cast<char32_t>(65076)));
831     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65101)static_cast<char32_t>(65103)));
832     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65136)static_cast<char32_t>(65140)));
833     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65142)static_cast<char32_t>(65276)));
834     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65296)static_cast<char32_t>(65305)));
835     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65313)static_cast<char32_t>(65338)));
836     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65343)static_cast<char32_t>(65343)));
837     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65345)static_cast<char32_t>(65370)));
838     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65382)static_cast<char32_t>(65470)));
839     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65474)static_cast<char32_t>(65479)));
840     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65482)static_cast<char32_t>(65487)));
841     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65490)static_cast<char32_t>(65495)));
842     idCont->AddSymbol(lexerContext.MakeRange(static_cast<char32_t>(65498)static_cast<char32_t>(65500)));
843 }
844 
845 void MakeAsciiIdentifierClasses(LexerContext& lexerContext)
846 {
847     MakeAsciiIdStart(lexerContext);
848     MakeAsciiIdCont(lexerContext);
849 }
850 
851 void MakeUnicodeIdentifierClasses(LexerContext& lexerContext)
852 {
853     MakeUnicodeIdStart(lexerContext);
854     MakeUnicodeIdCont(lexerContext);
855 }
856 
857 } } // namespace soulng::slg