12:  return token(new RustRegex(`(?i)${word}`));
78:      new RustRegex('(?i)namespace'),
95:      new RustRegex('(?i)xmlport'),
114:      new RustRegex('(?i)export'),
115:      new RustRegex('(?i)import'),
116:      new RustRegex('(?i)both')
127:      new RustRegex('(?i)xml'),
128:      new RustRegex('(?i)variable'),
129:      new RustRegex('(?i)variabletext'),
130:      new RustRegex('(?i)fixed'),
131:      new RustRegex('(?i)fixedtext')
142:      new RustRegex('(?i)card'),
143:      new RustRegex('(?i)list'),
144:      new RustRegex('(?i)rolecenter'),
145:      new RustRegex('(?i)worksheet'),
146:      new RustRegex('(?i)standarddialog'),
147:      new RustRegex('(?i)confirmdialog'),
148:      new RustRegex('(?i)navigationpane'),
149:      new RustRegex('(?i)headlines'),
150:      new RustRegex('(?i)document'),
151:      new RustRegex('(?i)api'),
152:      new RustRegex('(?i)cardpart'),
159:      new RustRegex('(?i)schema'),
167:        new RustRegex('(?i)tableelement'),
168:        new RustRegex('(?i)fieldelement'),
169:        new RustRegex('(?i)textelement')
233:      new RustRegex('(?i)requestfilterfields'),
241:      new RustRegex('(?i)requestfilterheading'),
263:      new RustRegex('(?i)unbounded')
276:      new RustRegex('(?i)once'),
277:      new RustRegex('(?i)zero')
349:      new RustRegex('(?i)enum'),
352:        new RustRegex('(?i)implements'),
365:      new RustRegex('(?i)enumextension'),
367:      new RustRegex('(?i)extends'),
375:      new RustRegex('(?i)value'),
387:      new RustRegex('(?i)query'),
407:      new RustRegex('(?i)abouttitle'),
412:      new RustRegex('(?i)abouttext'),
467:      new RustRegex('(?i)datacaptionexpression'),
479:            new RustRegex('(?i)locked'),
484:            new RustRegex('(?i)comment'),
532:      new RustRegex('(?i)entitycaption'),
537:      new RustRegex('(?i)entitycaptionml'),
542:      new RustRegex('(?i)entityname'),
547:      new RustRegex('(?i)entitysetcaption'),
552:      new RustRegex('(?i)entitysetcaptionml'),
557:      new RustRegex('(?i)entitysetname'),
562:      new RustRegex('(?i)apiversion'),
567:      new RustRegex('(?i)multiplicity'),
572:      new RustRegex('(?i)apigroup'),
577:      new RustRegex('(?i)apipublisher'),
584:      new RustRegex('(?i)contextsensitivehelppage'),
608:      new RustRegex('(?i)querycategory'),
613:      new RustRegex('(?i)dataaccessintent'),
618:      new RustRegex('(?i)querytype'),
637:        new RustRegex('(?i)sorting'),
654:      new RustRegex('(?i)ascending'),
655:      new RustRegex('(?i)descending')
659:      new RustRegex('(?i)order'),
728:      new RustRegex('(?i)const'),
773:      new RustRegex('(?i)sourcetableview'),
780:      new RustRegex('(?i)elements'),
787:      new RustRegex('(?i)dataitem'),
852:      new RustRegex('(?i)sqljointype'),
857:      new RustRegex('(?i)column'),
871:      new RustRegex('(?i)pageextension'),
873:      new RustRegex('(?i)extends'),
895:      new RustRegex('(?i)tableextension'),
897:      new RustRegex('(?i)extends'),
916:      new RustRegex('(?i)actions'),
929:      new RustRegex('(?i)area'),
932:        new RustRegex('(?i)processing'),
933:        new RustRegex('(?i)reporting'),
934:        new RustRegex('(?i)navigation'),
935:        new RustRegex('(?i)creation'),
936:        new RustRegex('(?i)promoted'),
937:        new RustRegex('(?i)systemactions'),
938:        new RustRegex('(?i)sections'),
939:        new RustRegex('(?i)embedding')
954:      new RustRegex('(?i)group'),
972:      new RustRegex('(?i)separator'),
991:      new RustRegex('(?i)addfirst'),
1005:      new RustRegex('(?i)addlast'),
1019:      new RustRegex('(?i)addafter'),
1033:      new RustRegex('(?i)addbefore'),
1047:      new RustRegex('(?i)modify'),
1061:      new RustRegex('(?i)modify'),
1082:      new RustRegex('(?i)action'),
1097:      new RustRegex('(?i)actionref'),
1114:      new RustRegex('(?i)systemaction'),
1129:      new RustRegex('(?i)fileuploadaction'),
1185:      new RustRegex('(?i)sourcetable'),
1195:        new RustRegex('(?i)card'),
1196:        new RustRegex('(?i)list'),
1197:        new RustRegex('(?i)rolecenter'),
1198:        new RustRegex('(?i)worksheet'),
1199:        new RustRegex('(?i)standarddialog'),
1200:        new RustRegex('(?i)confirmdialog'),
1201:        new RustRegex('(?i)navigationpane'),
1202:        new RustRegex('(?i)headlines'),
1203:        new RustRegex('(?i)document'),
1204:        new RustRegex('(?i)api'),
1205:        new RustRegex('(?i)cardpart'),
1269:          new RustRegex('(?i)const'),
1275:          new RustRegex('(?i)field'),
1281:          new RustRegex('(?i)filter'),
1290:      new RustRegex('(?i)enabled'),
1295:      new RustRegex('(?i)visible'),
1305:      new RustRegex('(?i)promoted'),
1327:      new RustRegex('(?i)shortcutkey'),
1355:      alias(new RustRegex('(?i)tableno'), 'TableNo'),
1376:      new RustRegex('(?i)eventsubscriberinstance'),
1383:      new RustRegex('(?i)testisolation'),
1404:      new RustRegex('(?i)cardpageid'),
1411:      new RustRegex('(?i)promotedactioncategories'),
1423:      new RustRegex('(?i)defaultimplementation'),
1430:      new RustRegex('(?i)table'),
1438:      new RustRegex('(?i)codeunit'),
1502:      new RustRegex('(?i)implements'),
1510:      new RustRegex('(?i)page'),
1518:      new RustRegex('(?i)pagecustomization'),
1520:      new RustRegex('(?i)customizes'),
1528:      new RustRegex('(?i)profile'),
1536:      new RustRegex('(?i)controladdin'),
1552:      new RustRegex('(?i)entitlement'),
1566:      new RustRegex('(?i)type'),
1569:        new RustRegex('(?i)applicationscope'),                    // ApplicationScope
1570:        new RustRegex('(?i)peruserserviceplan'),            // PerUserServicePlan
1571:        new RustRegex('(?i)role'),                                                                      // Role
1578:      new RustRegex('(?i)roletype'),
1581:        new RustRegex('(?i)delegated'),                  // Delegated
1582:        new RustRegex('(?i)local'),                                    // Local
1589:      new RustRegex('(?i)id'),
1594:      new RustRegex('(?i)objectentitlements'),
1641:      new RustRegex('(?i)interface'),
1649:      new RustRegex('(?i)procedure'),
1659:      new RustRegex('(?i)report'),
1691:      new RustRegex('(?i)labels'),
1757:      new RustRegex('(?i)permissionset'),
1772:      new RustRegex('(?i)permissionsetextension'),
1775:      new RustRegex('(?i)extends'),
1792:      new RustRegex('(?i)true|false'),
1797:      new RustRegex('(?i)includedpermissionsets'),
1804:      new RustRegex('(?i)excludedpermissionsets'),
1881:      new RustRegex('(?i)dotnet'),
1888:      new RustRegex('(?i)assembly'),
1907:      new RustRegex('(?i)type'),
1957:      new RustRegex('(?i)layout'),
1964:      new RustRegex('(?i)views'),
1991:      new RustRegex('(?i)caption'),
1996:      new RustRegex('(?i)filters'),
2003:      new RustRegex('(?i)orderby'),
2013:      new RustRegex('(?i)sharedlayout'),
2045:      new RustRegex('(?i)addfirst'),
2050:      new RustRegex('(?i)addlast'),
2055:      new RustRegex('(?i)addafter'),
2060:      new RustRegex('(?i)addbefore'),
2065:      new RustRegex('(?i)modify'),
2078:      new RustRegex('(?i)movefirst'),
2083:      new RustRegex('(?i)movelast'),
2088:      new RustRegex('(?i)moveafter'),
2093:      new RustRegex('(?i)movebefore'),
2098:      new RustRegex('(?i)area'),
2101:        new RustRegex('(?i)content'),
2102:        new RustRegex('(?i)factboxes'),
2103:        new RustRegex('(?i)filter'),
2104:        new RustRegex('(?i)rolecenter'),
2105:        new RustRegex('(?i)promptoptions'),
2106:        new RustRegex('(?i)prompt'),
2107:        new RustRegex('(?i)systemactions')
2116:      new RustRegex('(?i)group'),
2129:      new RustRegex('(?i)cuegroup'),
2143:      new RustRegex('(?i)grid'),
2156:      new RustRegex('(?i)fixed'),
2169:      new RustRegex('(?i)label'),
2182:      new RustRegex('(?i)repeater'),
2197:        new RustRegex('(?i)field'),
2207:        new RustRegex('(?i)field'),
2220:        new RustRegex('(?i)field'),
2235:      new RustRegex('(?i)part'),
2250:      new RustRegex('(?i)systempart'),
2265:      new RustRegex('(?i)usercontrol'),
2346:      new RustRegex('(?i)install'),
2347:      new RustRegex('(?i)upgrade'),
2348:      new RustRegex('(?i)test'),
2350:      new RustRegex('(?i)userdefined'),
2351:      new RustRegex('(?i)bitmap'),
2352:      new RustRegex('(?i)json'),
2360:      new RustRegex('(?i)manual'),
2361:      new RustRegex('(?i)static'),
2362:      new RustRegex('(?i)staticautomatic')
2366:      new RustRegex('(?i)codeunit'),
2367:      new RustRegex('(?i)function'),
2368:      new RustRegex('(?i)page'),
2369:      new RustRegex('(?i)disabled')
2379:      new RustRegex('(?i)flowfield'),
2380:      new RustRegex('(?i)flowfilter'),
2381:      new RustRegex('(?i)normal')
2386:      new RustRegex('(?i)phoneno'),
2387:      new RustRegex('(?i)url'), 
2388:      new RustRegex('(?i)email'),
2389:      new RustRegex('(?i)ratio'),
2390:      new RustRegex('(?i)duration'),
2391:      new RustRegex('(?i)masked'),
2392:      new RustRegex('(?i)richcontent'),
2393:      new RustRegex('(?i)barcode')
2400:      new RustRegex('(?i)standard'),
2401:      new RustRegex('(?i)additional'),
2402:      new RustRegex('(?i)promoted'),
2407:      seq(optional('"'), new RustRegex('(?i)standard'), optional('"')),
2408:      seq(optional('"'), new RustRegex('(?i)standardaccent'), optional('"')),
2409:      seq(optional('"'), new RustRegex('(?i)strong'), optional('"')),
2410:      seq(optional('"'), new RustRegex('(?i)strongaccent'), optional('"')),
2411:      seq(optional('"'), new RustRegex('(?i)attention'), optional('"')),
2412:      seq(optional('"'), new RustRegex('(?i)attentionaccent'), optional('"')),
2413:      seq(optional('"'), new RustRegex('(?i)favorable'), optional('"')),
2414:      seq(optional('"'), new RustRegex('(?i)unfavorable'), optional('"')),
2415:      seq(optional('"'), new RustRegex('(?i)subordinate'), optional('"'))
2419:      new RustRegex('(?i)edit'),
2420:      new RustRegex('(?i)view'),
2421:      new RustRegex('(?i)create')
2458:      new RustRegex('(?i)importance'),
2487:      new RustRegex('(?i)showcaption'),
2497:      new RustRegex('(?i)gridlayout'),
2543:      new RustRegex('(?i)normal'),
2544:      new RustRegex('(?i)temporary'),
2545:      new RustRegex('(?i)external'),
2546:      new RustRegex('(?i)system')
2562:      new RustRegex('(?i)administration'),
2563:      new RustRegex('(?i)documents'),
2564:      new RustRegex('(?i)lists'),
2565:      new RustRegex('(?i)reports'),
2566:      new RustRegex('(?i)tasks'),
2567:      new RustRegex('(?i)reportsandanalysis'),
2572:      new RustRegex('(?i)external'),
2573:      new RustRegex('(?i)internal'),
2574:      new RustRegex('(?i)local')
2596:      new RustRegex('(?i)pending'),
2597:      new RustRegex('(?i)removed'),
2598:      new RustRegex('(?i)moved')
2638:      new RustRegex('(?i)none'),
2639:      new RustRegex('(?i)page'),
2640:      new RustRegex('(?i)row'),
2641:      new RustRegex('(?i)unspecified')
2649:      new RustRegex('(?i)public'),
2650:      new RustRegex('(?i)internal'),
2651:      new RustRegex('(?i)private')
2661:        new RustRegex('(?i)table'),
2666:        new RustRegex('(?i)page'),
2671:        new RustRegex('(?i)report'),
2676:        new RustRegex('(?i)codeunit'),
2681:        new RustRegex('(?i)xmlport'),
2686:        new RustRegex('(?i)query'),
2801:      alias(new RustRegex('(?i)description'), 'Description'),
2919:      new RustRegex('(?i)tooltip'),
2945:      new RustRegex('(?i)extendeddatatype'),
2953:      new RustRegex('(?i)datacaptionfields'),
3016:      new RustRegex('(?i)captionml'),
3021:      new RustRegex('(?i)optioncaptionml'),
3042:      new RustRegex('(?i)customercontent'),
3043:      new RustRegex('(?i)enduseridentifiableinformation'),
3044:      new RustRegex('(?i)accountdata'),
3045:      new RustRegex('(?i)enduserpseudonymousidentifiers'),
3046:      new RustRegex('(?i)organizationidentifiableinformation'),
3047:      new RustRegex('(?i)systemmetadata'),
3048:      new RustRegex('(?i)tobeclassified')
3329:      field('name', alias(new RustRegex('(?i)caption'), 'Caption')),
3334:      new RustRegex('(?i)captionclass'),
3392:      optional(new RustRegex('(?i)protected')),
3393:      new RustRegex('(?i)var'),
3408:      alias(new RustRegex('(?i)description'), $.identifier),
3410:      alias(new RustRegex('(?i)importance'), $.identifier),
3412:      alias(new RustRegex('(?i)sourcetable'), $.identifier),
3414:      alias(new RustRegex('(?i)includecaption'), $.identifier),
3416:      alias(new RustRegex('(?i)excludecaption'), $.identifier),
3420:      alias(new RustRegex('(?i)caption'), $.identifier),
3425:      alias(new RustRegex('(?i)tableno'), $.identifier)
3699:    recordref_type: $ => new RustRegex('(?i)recordref'),
3700:    fieldref_type: $ => new RustRegex('(?i)fieldref'),
3949:      new RustRegex('(?i)where'),
4198:          optional(new RustRegex('(?i)and')),
4275:        new RustRegex('(?i)true'),
4276:        new RustRegex('(?i)false')
4304:      new RustRegex('(?i)optioncaption'),
4434:    procedure_modifier: $ => choice(new RustRegex('(?i)local'), new RustRegex('(?i)internal'), new RustRegex('(?i)protected')),
4438:      new RustRegex('(?i)procedure'),
4474:    modifier: $ => new RustRegex('(?i)var'),
4518:      token(prec(1, new RustRegex('(?i)true'))),
4519:      token(prec(1, new RustRegex('(?i)false')))
4523:      new RustRegex('(?i)rows'),
4524:      new RustRegex('(?i)columns')
4967:      new RustRegex('(?i)dt')
5067:      new RustRegex('(?i)fieldgroup'),
5081:      new RustRegex('(?i)fieldgroups'),
5106:      new RustRegex('(?i)no'),
5107:      new RustRegex('(?i)updated'),
5108:      new RustRegex('(?i)both'),
5203:        new RustRegex('(?i)splitbutton'),  // SplitButton
5204:        new RustRegex('(?i)menu'),                               // Menu
5205:        new RustRegex('(?i)button')                        // Button
5212:      new RustRegex('(?i)importanceadditional'),
5217:      new RustRegex('(?i)includecaption'),
5223:      new RustRegex('(?i)defaultlayout'),
5267:        new RustRegex('(?i)normal'),        // Normal
5268:        new RustRegex('(?i)printlayout'),  // PrintLayout
5269:        new RustRegex('(?i)none')                 // None
5283:        new RustRegex('(?i)update'),        // Update
5284:        new RustRegex('(?i)snapshot'), // Snapshot
5285:        new RustRegex('(?i)browse')          // Browse
5370:        new RustRegex('(?i)yes'),                    // Yes
5371:        new RustRegex('(?i)no'),                       // No
5372:        new RustRegex('(?i)nonstandard') // NonStandard
5378:      new RustRegex('(?i)printonlyifdetail'),
5459:      new RustRegex('(?i)maxiteration'),
5464:      new RustRegex('(?i)sorting'),
5785:      new RustRegex('(?i)views'),
5799:      new RustRegex('(?i)addfirst'),
5806:      new RustRegex('(?i)addlast'),
5813:      new RustRegex('(?i)addafter'),
5823:      new RustRegex('(?i)addbefore'),
6424:        new RustRegex('(?i)readonly'),
6425:        new RustRegex('(?i)readwrite'),
6435:        new RustRegex('(?i)auto'),
6436:        new RustRegex('(?i)always'),
6437:        new RustRegex('(?i)never'),
6438:        new RustRegex('(?i)generate')
6446:        new RustRegex('(?i)zeroorone'),
6447:        new RustRegex('(?i)zeroormany'),
6448:        new RustRegex('(?i)one'),
6449:        new RustRegex('(?i)many'),
6458:        new RustRegex('(?i)normal'),
6459:        new RustRegex('(?i)api'),
6460:        new RustRegex('(?i)filter')
6468:        new RustRegex('(?i)card'),
6469:        new RustRegex('(?i)list'),
6470:        new RustRegex('(?i)rolecenter'),
6471:        new RustRegex('(?i)worksheet'),
6472:        new RustRegex('(?i)standarddialog'),
6473:        new RustRegex('(?i)confirmdialog'),
6474:        new RustRegex('(?i)navigationpane'),
6475:        new RustRegex('(?i)headlines'),
6476:        new RustRegex('(?i)document'),
6477:        new RustRegex('(?i)api'),
6478:        new RustRegex('(?i)cardpart'),
6489:        new RustRegex('(?i)innerjoin'),
6490:        new RustRegex('(?i)leftouterjoin'),
6491:        new RustRegex('(?i)crossjoin')
6499:        new RustRegex('(?i)export'),
6500:        new RustRegex('(?i)import'),
6501:        new RustRegex('(?i)both')
6509:        new RustRegex('(?i)xml'),
6510:        new RustRegex('(?i)variable'),
6511:        new RustRegex('(?i)variabletext'),
6512:        new RustRegex('(?i)fixed'),
6513:        new RustRegex('(?i)fixedtext')
6532:            new RustRegex('(?i)locked'),
6537:            new RustRegex('(?i)comment'),
6542:            new RustRegex('(?i)maxlength'),
6564:            new RustRegex('(?i)comment'),
6594:            new RustRegex('(?i)locked'),
6599:            new RustRegex('(?i)comment'),
6657:      new RustRegex('(?i)system'),
6664:      new RustRegex('(?i)tabledata'),
6727:    _cardpart_keyword: $ => new RustRegex('(?i)cardpart'),
6728:    _tabledata_keyword: $ => new RustRegex('(?i)tabledata'),
6729:    _table_permission_keyword: $ => new RustRegex('(?i)table'),
6732:    const: $ => new RustRegex('(?i)const'),
