mirror of
https://github.com/elladunbar/tree-sitter-zanscript.git
synced 2025-11-05 15:19:55 -06:00
1573 lines
26 KiB
JavaScript
1573 lines
26 KiB
JavaScript
/// <reference types="tree-sitter-cli/dsl" />
|
|
// @ts-check
|
|
|
|
module.exports = grammar({
|
|
name: 'zanscript',
|
|
|
|
extras: $ => [
|
|
/\s/,
|
|
$.comment,
|
|
],
|
|
|
|
word: $ => $.identifier,
|
|
|
|
rules: {
|
|
translation_unit: $ => repeat($._top_level_item),
|
|
|
|
_top_level_item: $ => choice(
|
|
$._directive,
|
|
$._command,
|
|
$._statement,
|
|
),
|
|
|
|
_directive: $ => choice(
|
|
$.define,
|
|
$.include,
|
|
),
|
|
|
|
define: $ => seq(
|
|
$.define_insensitive,
|
|
field('find', $.match),
|
|
$.match,
|
|
),
|
|
|
|
include: $ => seq(
|
|
$.include_insensitive,
|
|
$.identifier,
|
|
),
|
|
|
|
_command: $ => choice(
|
|
$.action,
|
|
$._control,
|
|
),
|
|
|
|
action: $ => seq(
|
|
$.action_insensitive,
|
|
field('name', $.identifier),
|
|
$.block,
|
|
$.complete_insensitive,
|
|
),
|
|
|
|
_control: $ => choice(
|
|
$.branch,
|
|
$.loop,
|
|
),
|
|
|
|
branch: $ => seq(
|
|
$.if_insensitive,
|
|
$.comparison,
|
|
$.block,
|
|
optional(
|
|
repeat(
|
|
seq(
|
|
$.elseif_insensitive,
|
|
$.comparison,
|
|
$.block,
|
|
),
|
|
),
|
|
),
|
|
optional(
|
|
seq(
|
|
$.else_insensitive,
|
|
$.block,
|
|
),
|
|
),
|
|
$.endif_insensitive,
|
|
),
|
|
|
|
loop: $ => seq(
|
|
$.while_insensitive,
|
|
$.comparison,
|
|
$.block,
|
|
$.endwhile_insensitive,
|
|
),
|
|
|
|
comparison: $ => seq(
|
|
$._argument,
|
|
choice(
|
|
'<',
|
|
'>',
|
|
'=',
|
|
),
|
|
$._argument,
|
|
),
|
|
|
|
block: $ => repeat1(
|
|
choice(
|
|
$._statement,
|
|
$._command,
|
|
),
|
|
),
|
|
|
|
_statement: $ => choice(
|
|
$._higher_order_function,
|
|
$.function,
|
|
$.assignment,
|
|
),
|
|
|
|
_higher_order_function: $ => choice(
|
|
$.detector,
|
|
$.invoke,
|
|
$.select,
|
|
),
|
|
|
|
detector: $ => seq(
|
|
$.detector_insensitive,
|
|
'(',
|
|
$.identifier,
|
|
',',
|
|
field('invoked_action', $.identifier),
|
|
')',
|
|
),
|
|
|
|
invoke: $ => seq(
|
|
$.invoke_insensitive,
|
|
'(',
|
|
field('invoked_action', $.identifier),
|
|
optional(
|
|
seq(
|
|
',',
|
|
$._argument,
|
|
),
|
|
),
|
|
')',
|
|
),
|
|
|
|
select: $ => seq(
|
|
$.select_insensitive,
|
|
'(',
|
|
field('first_action', $.identifier),
|
|
',',
|
|
field('second_action', $.identifier),
|
|
optional(
|
|
seq(
|
|
',',
|
|
$._argument,
|
|
),
|
|
),
|
|
')',
|
|
),
|
|
|
|
function: $ => seq(
|
|
field('name', $.identifier),
|
|
'(',
|
|
optional(
|
|
repeat(
|
|
seq(
|
|
$._argument,
|
|
',',
|
|
),
|
|
),
|
|
),
|
|
optional(
|
|
$._argument,
|
|
),
|
|
')',
|
|
),
|
|
|
|
_argument: $ => choice(
|
|
$.identifier,
|
|
$.number,
|
|
$.string,
|
|
$.variable,
|
|
),
|
|
|
|
assignment: $ => seq(
|
|
$.variable,
|
|
'=',
|
|
$._expression,
|
|
),
|
|
|
|
_expression: $ => seq(
|
|
$._argument,
|
|
optional(
|
|
repeat(
|
|
seq(
|
|
choice(
|
|
'+',
|
|
'-',
|
|
'*',
|
|
'/',
|
|
),
|
|
$._argument,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
|
|
comment: $ => seq(
|
|
'#',
|
|
/.*/,
|
|
),
|
|
|
|
variable: $ => /@[a-zA-Z0-9_]+/,
|
|
|
|
match: $ => /[a-zA-Z0-9_.]+/,
|
|
|
|
identifier: $ => /[a-zA-Z_][a-zA-Z0-9_]*/,
|
|
|
|
number: $ => /\d+(\.\d+)?/,
|
|
|
|
string: $ => /['"].*['"]/,
|
|
|
|
builtin_command: $ => choice(
|
|
),
|
|
|
|
//builtin_function: $ => choice(
|
|
// "AUTOREFERENCE",
|
|
// "FEEDER",
|
|
// "LIGHTS",
|
|
// "LOAD",
|
|
// "LOG",
|
|
// "LOGAPPEND",
|
|
// "LOGCREATE",
|
|
// "LOGDATA",
|
|
// "LOGFIELD",
|
|
// "LOGRUN",
|
|
// "PANLIGHT",
|
|
// "PICTURE",
|
|
// "SET",
|
|
// "SETCOLOUR",
|
|
// "SETLIGHT",
|
|
//)
|
|
|
|
define_insensitive: $ => choice(
|
|
"define",
|
|
"definE",
|
|
"defiNe",
|
|
"defiNE",
|
|
"defIne",
|
|
"defInE",
|
|
"defINe",
|
|
"defINE",
|
|
"deFine",
|
|
"deFinE",
|
|
"deFiNe",
|
|
"deFiNE",
|
|
"deFIne",
|
|
"deFInE",
|
|
"deFINe",
|
|
"deFINE",
|
|
"dEfine",
|
|
"dEfinE",
|
|
"dEfiNe",
|
|
"dEfiNE",
|
|
"dEfIne",
|
|
"dEfInE",
|
|
"dEfINe",
|
|
"dEfINE",
|
|
"dEFine",
|
|
"dEFinE",
|
|
"dEFiNe",
|
|
"dEFiNE",
|
|
"dEFIne",
|
|
"dEFInE",
|
|
"dEFINe",
|
|
"dEFINE",
|
|
"Define",
|
|
"DefinE",
|
|
"DefiNe",
|
|
"DefiNE",
|
|
"DefIne",
|
|
"DefInE",
|
|
"DefINe",
|
|
"DefINE",
|
|
"DeFine",
|
|
"DeFinE",
|
|
"DeFiNe",
|
|
"DeFiNE",
|
|
"DeFIne",
|
|
"DeFInE",
|
|
"DeFINe",
|
|
"DeFINE",
|
|
"DEfine",
|
|
"DEfinE",
|
|
"DEfiNe",
|
|
"DEfiNE",
|
|
"DEfIne",
|
|
"DEfInE",
|
|
"DEfINe",
|
|
"DEfINE",
|
|
"DEFine",
|
|
"DEFinE",
|
|
"DEFiNe",
|
|
"DEFiNE",
|
|
"DEFIne",
|
|
"DEFInE",
|
|
"DEFINe",
|
|
"DEFINE",
|
|
),
|
|
|
|
include_insensitive: $ => choice(
|
|
"include",
|
|
"includE",
|
|
"incluDe",
|
|
"incluDE",
|
|
"inclUde",
|
|
"inclUdE",
|
|
"inclUDe",
|
|
"inclUDE",
|
|
"incLude",
|
|
"incLudE",
|
|
"incLuDe",
|
|
"incLuDE",
|
|
"incLUde",
|
|
"incLUdE",
|
|
"incLUDe",
|
|
"incLUDE",
|
|
"inClude",
|
|
"inCludE",
|
|
"inCluDe",
|
|
"inCluDE",
|
|
"inClUde",
|
|
"inClUdE",
|
|
"inClUDe",
|
|
"inClUDE",
|
|
"inCLude",
|
|
"inCLudE",
|
|
"inCLuDe",
|
|
"inCLuDE",
|
|
"inCLUde",
|
|
"inCLUdE",
|
|
"inCLUDe",
|
|
"inCLUDE",
|
|
"iNclude",
|
|
"iNcludE",
|
|
"iNcluDe",
|
|
"iNcluDE",
|
|
"iNclUde",
|
|
"iNclUdE",
|
|
"iNclUDe",
|
|
"iNclUDE",
|
|
"iNcLude",
|
|
"iNcLudE",
|
|
"iNcLuDe",
|
|
"iNcLuDE",
|
|
"iNcLUde",
|
|
"iNcLUdE",
|
|
"iNcLUDe",
|
|
"iNcLUDE",
|
|
"iNClude",
|
|
"iNCludE",
|
|
"iNCluDe",
|
|
"iNCluDE",
|
|
"iNClUde",
|
|
"iNClUdE",
|
|
"iNClUDe",
|
|
"iNClUDE",
|
|
"iNCLude",
|
|
"iNCLudE",
|
|
"iNCLuDe",
|
|
"iNCLuDE",
|
|
"iNCLUde",
|
|
"iNCLUdE",
|
|
"iNCLUDe",
|
|
"iNCLUDE",
|
|
"Include",
|
|
"IncludE",
|
|
"IncluDe",
|
|
"IncluDE",
|
|
"InclUde",
|
|
"InclUdE",
|
|
"InclUDe",
|
|
"InclUDE",
|
|
"IncLude",
|
|
"IncLudE",
|
|
"IncLuDe",
|
|
"IncLuDE",
|
|
"IncLUde",
|
|
"IncLUdE",
|
|
"IncLUDe",
|
|
"IncLUDE",
|
|
"InClude",
|
|
"InCludE",
|
|
"InCluDe",
|
|
"InCluDE",
|
|
"InClUde",
|
|
"InClUdE",
|
|
"InClUDe",
|
|
"InClUDE",
|
|
"InCLude",
|
|
"InCLudE",
|
|
"InCLuDe",
|
|
"InCLuDE",
|
|
"InCLUde",
|
|
"InCLUdE",
|
|
"InCLUDe",
|
|
"InCLUDE",
|
|
"INclude",
|
|
"INcludE",
|
|
"INcluDe",
|
|
"INcluDE",
|
|
"INclUde",
|
|
"INclUdE",
|
|
"INclUDe",
|
|
"INclUDE",
|
|
"INcLude",
|
|
"INcLudE",
|
|
"INcLuDe",
|
|
"INcLuDE",
|
|
"INcLUde",
|
|
"INcLUdE",
|
|
"INcLUDe",
|
|
"INcLUDE",
|
|
"INClude",
|
|
"INCludE",
|
|
"INCluDe",
|
|
"INCluDE",
|
|
"INClUde",
|
|
"INClUdE",
|
|
"INClUDe",
|
|
"INClUDE",
|
|
"INCLude",
|
|
"INCLudE",
|
|
"INCLuDe",
|
|
"INCLuDE",
|
|
"INCLUde",
|
|
"INCLUdE",
|
|
"INCLUDe",
|
|
"INCLUDE",
|
|
),
|
|
|
|
action_insensitive: $ => choice(
|
|
"action",
|
|
"actioN",
|
|
"actiOn",
|
|
"actiON",
|
|
"actIon",
|
|
"actIoN",
|
|
"actIOn",
|
|
"actION",
|
|
"acTion",
|
|
"acTioN",
|
|
"acTiOn",
|
|
"acTiON",
|
|
"acTIon",
|
|
"acTIoN",
|
|
"acTIOn",
|
|
"acTION",
|
|
"aCtion",
|
|
"aCtioN",
|
|
"aCtiOn",
|
|
"aCtiON",
|
|
"aCtIon",
|
|
"aCtIoN",
|
|
"aCtIOn",
|
|
"aCtION",
|
|
"aCTion",
|
|
"aCTioN",
|
|
"aCTiOn",
|
|
"aCTiON",
|
|
"aCTIon",
|
|
"aCTIoN",
|
|
"aCTIOn",
|
|
"aCTION",
|
|
"Action",
|
|
"ActioN",
|
|
"ActiOn",
|
|
"ActiON",
|
|
"ActIon",
|
|
"ActIoN",
|
|
"ActIOn",
|
|
"ActION",
|
|
"AcTion",
|
|
"AcTioN",
|
|
"AcTiOn",
|
|
"AcTiON",
|
|
"AcTIon",
|
|
"AcTIoN",
|
|
"AcTIOn",
|
|
"AcTION",
|
|
"ACtion",
|
|
"ACtioN",
|
|
"ACtiOn",
|
|
"ACtiON",
|
|
"ACtIon",
|
|
"ACtIoN",
|
|
"ACtIOn",
|
|
"ACtION",
|
|
"ACTion",
|
|
"ACTioN",
|
|
"ACTiOn",
|
|
"ACTiON",
|
|
"ACTIon",
|
|
"ACTIoN",
|
|
"ACTIOn",
|
|
"ACTION",
|
|
),
|
|
|
|
complete_insensitive: $ => choice(
|
|
"complete",
|
|
"completE",
|
|
"compleTe",
|
|
"compleTE",
|
|
"complEte",
|
|
"complEtE",
|
|
"complETe",
|
|
"complETE",
|
|
"compLete",
|
|
"compLetE",
|
|
"compLeTe",
|
|
"compLeTE",
|
|
"compLEte",
|
|
"compLEtE",
|
|
"compLETe",
|
|
"compLETE",
|
|
"comPlete",
|
|
"comPletE",
|
|
"comPleTe",
|
|
"comPleTE",
|
|
"comPlEte",
|
|
"comPlEtE",
|
|
"comPlETe",
|
|
"comPlETE",
|
|
"comPLete",
|
|
"comPLetE",
|
|
"comPLeTe",
|
|
"comPLeTE",
|
|
"comPLEte",
|
|
"comPLEtE",
|
|
"comPLETe",
|
|
"comPLETE",
|
|
"coMplete",
|
|
"coMpletE",
|
|
"coMpleTe",
|
|
"coMpleTE",
|
|
"coMplEte",
|
|
"coMplEtE",
|
|
"coMplETe",
|
|
"coMplETE",
|
|
"coMpLete",
|
|
"coMpLetE",
|
|
"coMpLeTe",
|
|
"coMpLeTE",
|
|
"coMpLEte",
|
|
"coMpLEtE",
|
|
"coMpLETe",
|
|
"coMpLETE",
|
|
"coMPlete",
|
|
"coMPletE",
|
|
"coMPleTe",
|
|
"coMPleTE",
|
|
"coMPlEte",
|
|
"coMPlEtE",
|
|
"coMPlETe",
|
|
"coMPlETE",
|
|
"coMPLete",
|
|
"coMPLetE",
|
|
"coMPLeTe",
|
|
"coMPLeTE",
|
|
"coMPLEte",
|
|
"coMPLEtE",
|
|
"coMPLETe",
|
|
"coMPLETE",
|
|
"cOmplete",
|
|
"cOmpletE",
|
|
"cOmpleTe",
|
|
"cOmpleTE",
|
|
"cOmplEte",
|
|
"cOmplEtE",
|
|
"cOmplETe",
|
|
"cOmplETE",
|
|
"cOmpLete",
|
|
"cOmpLetE",
|
|
"cOmpLeTe",
|
|
"cOmpLeTE",
|
|
"cOmpLEte",
|
|
"cOmpLEtE",
|
|
"cOmpLETe",
|
|
"cOmpLETE",
|
|
"cOmPlete",
|
|
"cOmPletE",
|
|
"cOmPleTe",
|
|
"cOmPleTE",
|
|
"cOmPlEte",
|
|
"cOmPlEtE",
|
|
"cOmPlETe",
|
|
"cOmPlETE",
|
|
"cOmPLete",
|
|
"cOmPLetE",
|
|
"cOmPLeTe",
|
|
"cOmPLeTE",
|
|
"cOmPLEte",
|
|
"cOmPLEtE",
|
|
"cOmPLETe",
|
|
"cOmPLETE",
|
|
"cOMplete",
|
|
"cOMpletE",
|
|
"cOMpleTe",
|
|
"cOMpleTE",
|
|
"cOMplEte",
|
|
"cOMplEtE",
|
|
"cOMplETe",
|
|
"cOMplETE",
|
|
"cOMpLete",
|
|
"cOMpLetE",
|
|
"cOMpLeTe",
|
|
"cOMpLeTE",
|
|
"cOMpLEte",
|
|
"cOMpLEtE",
|
|
"cOMpLETe",
|
|
"cOMpLETE",
|
|
"cOMPlete",
|
|
"cOMPletE",
|
|
"cOMPleTe",
|
|
"cOMPleTE",
|
|
"cOMPlEte",
|
|
"cOMPlEtE",
|
|
"cOMPlETe",
|
|
"cOMPlETE",
|
|
"cOMPLete",
|
|
"cOMPLetE",
|
|
"cOMPLeTe",
|
|
"cOMPLeTE",
|
|
"cOMPLEte",
|
|
"cOMPLEtE",
|
|
"cOMPLETe",
|
|
"cOMPLETE",
|
|
"Complete",
|
|
"CompletE",
|
|
"CompleTe",
|
|
"CompleTE",
|
|
"ComplEte",
|
|
"ComplEtE",
|
|
"ComplETe",
|
|
"ComplETE",
|
|
"CompLete",
|
|
"CompLetE",
|
|
"CompLeTe",
|
|
"CompLeTE",
|
|
"CompLEte",
|
|
"CompLEtE",
|
|
"CompLETe",
|
|
"CompLETE",
|
|
"ComPlete",
|
|
"ComPletE",
|
|
"ComPleTe",
|
|
"ComPleTE",
|
|
"ComPlEte",
|
|
"ComPlEtE",
|
|
"ComPlETe",
|
|
"ComPlETE",
|
|
"ComPLete",
|
|
"ComPLetE",
|
|
"ComPLeTe",
|
|
"ComPLeTE",
|
|
"ComPLEte",
|
|
"ComPLEtE",
|
|
"ComPLETe",
|
|
"ComPLETE",
|
|
"CoMplete",
|
|
"CoMpletE",
|
|
"CoMpleTe",
|
|
"CoMpleTE",
|
|
"CoMplEte",
|
|
"CoMplEtE",
|
|
"CoMplETe",
|
|
"CoMplETE",
|
|
"CoMpLete",
|
|
"CoMpLetE",
|
|
"CoMpLeTe",
|
|
"CoMpLeTE",
|
|
"CoMpLEte",
|
|
"CoMpLEtE",
|
|
"CoMpLETe",
|
|
"CoMpLETE",
|
|
"CoMPlete",
|
|
"CoMPletE",
|
|
"CoMPleTe",
|
|
"CoMPleTE",
|
|
"CoMPlEte",
|
|
"CoMPlEtE",
|
|
"CoMPlETe",
|
|
"CoMPlETE",
|
|
"CoMPLete",
|
|
"CoMPLetE",
|
|
"CoMPLeTe",
|
|
"CoMPLeTE",
|
|
"CoMPLEte",
|
|
"CoMPLEtE",
|
|
"CoMPLETe",
|
|
"CoMPLETE",
|
|
"COmplete",
|
|
"COmpletE",
|
|
"COmpleTe",
|
|
"COmpleTE",
|
|
"COmplEte",
|
|
"COmplEtE",
|
|
"COmplETe",
|
|
"COmplETE",
|
|
"COmpLete",
|
|
"COmpLetE",
|
|
"COmpLeTe",
|
|
"COmpLeTE",
|
|
"COmpLEte",
|
|
"COmpLEtE",
|
|
"COmpLETe",
|
|
"COmpLETE",
|
|
"COmPlete",
|
|
"COmPletE",
|
|
"COmPleTe",
|
|
"COmPleTE",
|
|
"COmPlEte",
|
|
"COmPlEtE",
|
|
"COmPlETe",
|
|
"COmPlETE",
|
|
"COmPLete",
|
|
"COmPLetE",
|
|
"COmPLeTe",
|
|
"COmPLeTE",
|
|
"COmPLEte",
|
|
"COmPLEtE",
|
|
"COmPLETe",
|
|
"COmPLETE",
|
|
"COMplete",
|
|
"COMpletE",
|
|
"COMpleTe",
|
|
"COMpleTE",
|
|
"COMplEte",
|
|
"COMplEtE",
|
|
"COMplETe",
|
|
"COMplETE",
|
|
"COMpLete",
|
|
"COMpLetE",
|
|
"COMpLeTe",
|
|
"COMpLeTE",
|
|
"COMpLEte",
|
|
"COMpLEtE",
|
|
"COMpLETe",
|
|
"COMpLETE",
|
|
"COMPlete",
|
|
"COMPletE",
|
|
"COMPleTe",
|
|
"COMPleTE",
|
|
"COMPlEte",
|
|
"COMPlEtE",
|
|
"COMPlETe",
|
|
"COMPlETE",
|
|
"COMPLete",
|
|
"COMPLetE",
|
|
"COMPLeTe",
|
|
"COMPLeTE",
|
|
"COMPLEte",
|
|
"COMPLEtE",
|
|
"COMPLETe",
|
|
"COMPLETE",
|
|
),
|
|
|
|
if_insensitive: $ => choice(
|
|
"if",
|
|
"iF",
|
|
"If",
|
|
"IF",
|
|
),
|
|
|
|
else_insensitive: $ => choice(
|
|
"else",
|
|
"elsE",
|
|
"elSe",
|
|
"elSE",
|
|
"eLse",
|
|
"eLsE",
|
|
"eLSe",
|
|
"eLSE",
|
|
"Else",
|
|
"ElsE",
|
|
"ElSe",
|
|
"ElSE",
|
|
"ELse",
|
|
"ELsE",
|
|
"ELSe",
|
|
"ELSE",
|
|
),
|
|
|
|
elseif_insensitive: $ => choice(
|
|
"elseif",
|
|
"elseiF",
|
|
"elseIf",
|
|
"elseIF",
|
|
"elsEif",
|
|
"elsEiF",
|
|
"elsEIf",
|
|
"elsEIF",
|
|
"elSeif",
|
|
"elSeiF",
|
|
"elSeIf",
|
|
"elSeIF",
|
|
"elSEif",
|
|
"elSEiF",
|
|
"elSEIf",
|
|
"elSEIF",
|
|
"eLseif",
|
|
"eLseiF",
|
|
"eLseIf",
|
|
"eLseIF",
|
|
"eLsEif",
|
|
"eLsEiF",
|
|
"eLsEIf",
|
|
"eLsEIF",
|
|
"eLSeif",
|
|
"eLSeiF",
|
|
"eLSeIf",
|
|
"eLSeIF",
|
|
"eLSEif",
|
|
"eLSEiF",
|
|
"eLSEIf",
|
|
"eLSEIF",
|
|
"Elseif",
|
|
"ElseiF",
|
|
"ElseIf",
|
|
"ElseIF",
|
|
"ElsEif",
|
|
"ElsEiF",
|
|
"ElsEIf",
|
|
"ElsEIF",
|
|
"ElSeif",
|
|
"ElSeiF",
|
|
"ElSeIf",
|
|
"ElSeIF",
|
|
"ElSEif",
|
|
"ElSEiF",
|
|
"ElSEIf",
|
|
"ElSEIF",
|
|
"ELseif",
|
|
"ELseiF",
|
|
"ELseIf",
|
|
"ELseIF",
|
|
"ELsEif",
|
|
"ELsEiF",
|
|
"ELsEIf",
|
|
"ELsEIF",
|
|
"ELSeif",
|
|
"ELSeiF",
|
|
"ELSeIf",
|
|
"ELSeIF",
|
|
"ELSEif",
|
|
"ELSEiF",
|
|
"ELSEIf",
|
|
"ELSEIF",
|
|
),
|
|
|
|
endif_insensitive: $ => choice(
|
|
"endif",
|
|
"endiF",
|
|
"endIf",
|
|
"endIF",
|
|
"enDif",
|
|
"enDiF",
|
|
"enDIf",
|
|
"enDIF",
|
|
"eNdif",
|
|
"eNdiF",
|
|
"eNdIf",
|
|
"eNdIF",
|
|
"eNDif",
|
|
"eNDiF",
|
|
"eNDIf",
|
|
"eNDIF",
|
|
"Endif",
|
|
"EndiF",
|
|
"EndIf",
|
|
"EndIF",
|
|
"EnDif",
|
|
"EnDiF",
|
|
"EnDIf",
|
|
"EnDIF",
|
|
"ENdif",
|
|
"ENdiF",
|
|
"ENdIf",
|
|
"ENdIF",
|
|
"ENDif",
|
|
"ENDiF",
|
|
"ENDIf",
|
|
"ENDIF",
|
|
),
|
|
|
|
while_insensitive: $ => choice(
|
|
"while",
|
|
"whilE",
|
|
"whiLe",
|
|
"whiLE",
|
|
"whIle",
|
|
"whIlE",
|
|
"whILe",
|
|
"whILE",
|
|
"wHile",
|
|
"wHilE",
|
|
"wHiLe",
|
|
"wHiLE",
|
|
"wHIle",
|
|
"wHIlE",
|
|
"wHILe",
|
|
"wHILE",
|
|
"While",
|
|
"WhilE",
|
|
"WhiLe",
|
|
"WhiLE",
|
|
"WhIle",
|
|
"WhIlE",
|
|
"WhILe",
|
|
"WhILE",
|
|
"WHile",
|
|
"WHilE",
|
|
"WHiLe",
|
|
"WHiLE",
|
|
"WHIle",
|
|
"WHIlE",
|
|
"WHILe",
|
|
"WHILE",
|
|
),
|
|
|
|
endwhile_insensitive: $ => choice(
|
|
"endwhile",
|
|
"endwhilE",
|
|
"endwhiLe",
|
|
"endwhiLE",
|
|
"endwhIle",
|
|
"endwhIlE",
|
|
"endwhILe",
|
|
"endwhILE",
|
|
"endwHile",
|
|
"endwHilE",
|
|
"endwHiLe",
|
|
"endwHiLE",
|
|
"endwHIle",
|
|
"endwHIlE",
|
|
"endwHILe",
|
|
"endwHILE",
|
|
"endWhile",
|
|
"endWhilE",
|
|
"endWhiLe",
|
|
"endWhiLE",
|
|
"endWhIle",
|
|
"endWhIlE",
|
|
"endWhILe",
|
|
"endWhILE",
|
|
"endWHile",
|
|
"endWHilE",
|
|
"endWHiLe",
|
|
"endWHiLE",
|
|
"endWHIle",
|
|
"endWHIlE",
|
|
"endWHILe",
|
|
"endWHILE",
|
|
"enDwhile",
|
|
"enDwhilE",
|
|
"enDwhiLe",
|
|
"enDwhiLE",
|
|
"enDwhIle",
|
|
"enDwhIlE",
|
|
"enDwhILe",
|
|
"enDwhILE",
|
|
"enDwHile",
|
|
"enDwHilE",
|
|
"enDwHiLe",
|
|
"enDwHiLE",
|
|
"enDwHIle",
|
|
"enDwHIlE",
|
|
"enDwHILe",
|
|
"enDwHILE",
|
|
"enDWhile",
|
|
"enDWhilE",
|
|
"enDWhiLe",
|
|
"enDWhiLE",
|
|
"enDWhIle",
|
|
"enDWhIlE",
|
|
"enDWhILe",
|
|
"enDWhILE",
|
|
"enDWHile",
|
|
"enDWHilE",
|
|
"enDWHiLe",
|
|
"enDWHiLE",
|
|
"enDWHIle",
|
|
"enDWHIlE",
|
|
"enDWHILe",
|
|
"enDWHILE",
|
|
"eNdwhile",
|
|
"eNdwhilE",
|
|
"eNdwhiLe",
|
|
"eNdwhiLE",
|
|
"eNdwhIle",
|
|
"eNdwhIlE",
|
|
"eNdwhILe",
|
|
"eNdwhILE",
|
|
"eNdwHile",
|
|
"eNdwHilE",
|
|
"eNdwHiLe",
|
|
"eNdwHiLE",
|
|
"eNdwHIle",
|
|
"eNdwHIlE",
|
|
"eNdwHILe",
|
|
"eNdwHILE",
|
|
"eNdWhile",
|
|
"eNdWhilE",
|
|
"eNdWhiLe",
|
|
"eNdWhiLE",
|
|
"eNdWhIle",
|
|
"eNdWhIlE",
|
|
"eNdWhILe",
|
|
"eNdWhILE",
|
|
"eNdWHile",
|
|
"eNdWHilE",
|
|
"eNdWHiLe",
|
|
"eNdWHiLE",
|
|
"eNdWHIle",
|
|
"eNdWHIlE",
|
|
"eNdWHILe",
|
|
"eNdWHILE",
|
|
"eNDwhile",
|
|
"eNDwhilE",
|
|
"eNDwhiLe",
|
|
"eNDwhiLE",
|
|
"eNDwhIle",
|
|
"eNDwhIlE",
|
|
"eNDwhILe",
|
|
"eNDwhILE",
|
|
"eNDwHile",
|
|
"eNDwHilE",
|
|
"eNDwHiLe",
|
|
"eNDwHiLE",
|
|
"eNDwHIle",
|
|
"eNDwHIlE",
|
|
"eNDwHILe",
|
|
"eNDwHILE",
|
|
"eNDWhile",
|
|
"eNDWhilE",
|
|
"eNDWhiLe",
|
|
"eNDWhiLE",
|
|
"eNDWhIle",
|
|
"eNDWhIlE",
|
|
"eNDWhILe",
|
|
"eNDWhILE",
|
|
"eNDWHile",
|
|
"eNDWHilE",
|
|
"eNDWHiLe",
|
|
"eNDWHiLE",
|
|
"eNDWHIle",
|
|
"eNDWHIlE",
|
|
"eNDWHILe",
|
|
"eNDWHILE",
|
|
"Endwhile",
|
|
"EndwhilE",
|
|
"EndwhiLe",
|
|
"EndwhiLE",
|
|
"EndwhIle",
|
|
"EndwhIlE",
|
|
"EndwhILe",
|
|
"EndwhILE",
|
|
"EndwHile",
|
|
"EndwHilE",
|
|
"EndwHiLe",
|
|
"EndwHiLE",
|
|
"EndwHIle",
|
|
"EndwHIlE",
|
|
"EndwHILe",
|
|
"EndwHILE",
|
|
"EndWhile",
|
|
"EndWhilE",
|
|
"EndWhiLe",
|
|
"EndWhiLE",
|
|
"EndWhIle",
|
|
"EndWhIlE",
|
|
"EndWhILe",
|
|
"EndWhILE",
|
|
"EndWHile",
|
|
"EndWHilE",
|
|
"EndWHiLe",
|
|
"EndWHiLE",
|
|
"EndWHIle",
|
|
"EndWHIlE",
|
|
"EndWHILe",
|
|
"EndWHILE",
|
|
"EnDwhile",
|
|
"EnDwhilE",
|
|
"EnDwhiLe",
|
|
"EnDwhiLE",
|
|
"EnDwhIle",
|
|
"EnDwhIlE",
|
|
"EnDwhILe",
|
|
"EnDwhILE",
|
|
"EnDwHile",
|
|
"EnDwHilE",
|
|
"EnDwHiLe",
|
|
"EnDwHiLE",
|
|
"EnDwHIle",
|
|
"EnDwHIlE",
|
|
"EnDwHILe",
|
|
"EnDwHILE",
|
|
"EnDWhile",
|
|
"EnDWhilE",
|
|
"EnDWhiLe",
|
|
"EnDWhiLE",
|
|
"EnDWhIle",
|
|
"EnDWhIlE",
|
|
"EnDWhILe",
|
|
"EnDWhILE",
|
|
"EnDWHile",
|
|
"EnDWHilE",
|
|
"EnDWHiLe",
|
|
"EnDWHiLE",
|
|
"EnDWHIle",
|
|
"EnDWHIlE",
|
|
"EnDWHILe",
|
|
"EnDWHILE",
|
|
"ENdwhile",
|
|
"ENdwhilE",
|
|
"ENdwhiLe",
|
|
"ENdwhiLE",
|
|
"ENdwhIle",
|
|
"ENdwhIlE",
|
|
"ENdwhILe",
|
|
"ENdwhILE",
|
|
"ENdwHile",
|
|
"ENdwHilE",
|
|
"ENdwHiLe",
|
|
"ENdwHiLE",
|
|
"ENdwHIle",
|
|
"ENdwHIlE",
|
|
"ENdwHILe",
|
|
"ENdwHILE",
|
|
"ENdWhile",
|
|
"ENdWhilE",
|
|
"ENdWhiLe",
|
|
"ENdWhiLE",
|
|
"ENdWhIle",
|
|
"ENdWhIlE",
|
|
"ENdWhILe",
|
|
"ENdWhILE",
|
|
"ENdWHile",
|
|
"ENdWHilE",
|
|
"ENdWHiLe",
|
|
"ENdWHiLE",
|
|
"ENdWHIle",
|
|
"ENdWHIlE",
|
|
"ENdWHILe",
|
|
"ENdWHILE",
|
|
"ENDwhile",
|
|
"ENDwhilE",
|
|
"ENDwhiLe",
|
|
"ENDwhiLE",
|
|
"ENDwhIle",
|
|
"ENDwhIlE",
|
|
"ENDwhILe",
|
|
"ENDwhILE",
|
|
"ENDwHile",
|
|
"ENDwHilE",
|
|
"ENDwHiLe",
|
|
"ENDwHiLE",
|
|
"ENDwHIle",
|
|
"ENDwHIlE",
|
|
"ENDwHILe",
|
|
"ENDwHILE",
|
|
"ENDWhile",
|
|
"ENDWhilE",
|
|
"ENDWhiLe",
|
|
"ENDWhiLE",
|
|
"ENDWhIle",
|
|
"ENDWhIlE",
|
|
"ENDWhILe",
|
|
"ENDWhILE",
|
|
"ENDWHile",
|
|
"ENDWHilE",
|
|
"ENDWHiLe",
|
|
"ENDWHiLE",
|
|
"ENDWHIle",
|
|
"ENDWHIlE",
|
|
"ENDWHILe",
|
|
"ENDWHILE",
|
|
),
|
|
|
|
detector_insensitive: $ => choice(
|
|
"detector",
|
|
"detectoR",
|
|
"detectOr",
|
|
"detectOR",
|
|
"detecTor",
|
|
"detecToR",
|
|
"detecTOr",
|
|
"detecTOR",
|
|
"deteCtor",
|
|
"deteCtoR",
|
|
"deteCtOr",
|
|
"deteCtOR",
|
|
"deteCTor",
|
|
"deteCToR",
|
|
"deteCTOr",
|
|
"deteCTOR",
|
|
"detEctor",
|
|
"detEctoR",
|
|
"detEctOr",
|
|
"detEctOR",
|
|
"detEcTor",
|
|
"detEcToR",
|
|
"detEcTOr",
|
|
"detEcTOR",
|
|
"detECtor",
|
|
"detECtoR",
|
|
"detECtOr",
|
|
"detECtOR",
|
|
"detECTor",
|
|
"detECToR",
|
|
"detECTOr",
|
|
"detECTOR",
|
|
"deTector",
|
|
"deTectoR",
|
|
"deTectOr",
|
|
"deTectOR",
|
|
"deTecTor",
|
|
"deTecToR",
|
|
"deTecTOr",
|
|
"deTecTOR",
|
|
"deTeCtor",
|
|
"deTeCtoR",
|
|
"deTeCtOr",
|
|
"deTeCtOR",
|
|
"deTeCTor",
|
|
"deTeCToR",
|
|
"deTeCTOr",
|
|
"deTeCTOR",
|
|
"deTEctor",
|
|
"deTEctoR",
|
|
"deTEctOr",
|
|
"deTEctOR",
|
|
"deTEcTor",
|
|
"deTEcToR",
|
|
"deTEcTOr",
|
|
"deTEcTOR",
|
|
"deTECtor",
|
|
"deTECtoR",
|
|
"deTECtOr",
|
|
"deTECtOR",
|
|
"deTECTor",
|
|
"deTECToR",
|
|
"deTECTOr",
|
|
"deTECTOR",
|
|
"dEtector",
|
|
"dEtectoR",
|
|
"dEtectOr",
|
|
"dEtectOR",
|
|
"dEtecTor",
|
|
"dEtecToR",
|
|
"dEtecTOr",
|
|
"dEtecTOR",
|
|
"dEteCtor",
|
|
"dEteCtoR",
|
|
"dEteCtOr",
|
|
"dEteCtOR",
|
|
"dEteCTor",
|
|
"dEteCToR",
|
|
"dEteCTOr",
|
|
"dEteCTOR",
|
|
"dEtEctor",
|
|
"dEtEctoR",
|
|
"dEtEctOr",
|
|
"dEtEctOR",
|
|
"dEtEcTor",
|
|
"dEtEcToR",
|
|
"dEtEcTOr",
|
|
"dEtEcTOR",
|
|
"dEtECtor",
|
|
"dEtECtoR",
|
|
"dEtECtOr",
|
|
"dEtECtOR",
|
|
"dEtECTor",
|
|
"dEtECToR",
|
|
"dEtECTOr",
|
|
"dEtECTOR",
|
|
"dETector",
|
|
"dETectoR",
|
|
"dETectOr",
|
|
"dETectOR",
|
|
"dETecTor",
|
|
"dETecToR",
|
|
"dETecTOr",
|
|
"dETecTOR",
|
|
"dETeCtor",
|
|
"dETeCtoR",
|
|
"dETeCtOr",
|
|
"dETeCtOR",
|
|
"dETeCTor",
|
|
"dETeCToR",
|
|
"dETeCTOr",
|
|
"dETeCTOR",
|
|
"dETEctor",
|
|
"dETEctoR",
|
|
"dETEctOr",
|
|
"dETEctOR",
|
|
"dETEcTor",
|
|
"dETEcToR",
|
|
"dETEcTOr",
|
|
"dETEcTOR",
|
|
"dETECtor",
|
|
"dETECtoR",
|
|
"dETECtOr",
|
|
"dETECtOR",
|
|
"dETECTor",
|
|
"dETECToR",
|
|
"dETECTOr",
|
|
"dETECTOR",
|
|
"Detector",
|
|
"DetectoR",
|
|
"DetectOr",
|
|
"DetectOR",
|
|
"DetecTor",
|
|
"DetecToR",
|
|
"DetecTOr",
|
|
"DetecTOR",
|
|
"DeteCtor",
|
|
"DeteCtoR",
|
|
"DeteCtOr",
|
|
"DeteCtOR",
|
|
"DeteCTor",
|
|
"DeteCToR",
|
|
"DeteCTOr",
|
|
"DeteCTOR",
|
|
"DetEctor",
|
|
"DetEctoR",
|
|
"DetEctOr",
|
|
"DetEctOR",
|
|
"DetEcTor",
|
|
"DetEcToR",
|
|
"DetEcTOr",
|
|
"DetEcTOR",
|
|
"DetECtor",
|
|
"DetECtoR",
|
|
"DetECtOr",
|
|
"DetECtOR",
|
|
"DetECTor",
|
|
"DetECToR",
|
|
"DetECTOr",
|
|
"DetECTOR",
|
|
"DeTector",
|
|
"DeTectoR",
|
|
"DeTectOr",
|
|
"DeTectOR",
|
|
"DeTecTor",
|
|
"DeTecToR",
|
|
"DeTecTOr",
|
|
"DeTecTOR",
|
|
"DeTeCtor",
|
|
"DeTeCtoR",
|
|
"DeTeCtOr",
|
|
"DeTeCtOR",
|
|
"DeTeCTor",
|
|
"DeTeCToR",
|
|
"DeTeCTOr",
|
|
"DeTeCTOR",
|
|
"DeTEctor",
|
|
"DeTEctoR",
|
|
"DeTEctOr",
|
|
"DeTEctOR",
|
|
"DeTEcTor",
|
|
"DeTEcToR",
|
|
"DeTEcTOr",
|
|
"DeTEcTOR",
|
|
"DeTECtor",
|
|
"DeTECtoR",
|
|
"DeTECtOr",
|
|
"DeTECtOR",
|
|
"DeTECTor",
|
|
"DeTECToR",
|
|
"DeTECTOr",
|
|
"DeTECTOR",
|
|
"DEtector",
|
|
"DEtectoR",
|
|
"DEtectOr",
|
|
"DEtectOR",
|
|
"DEtecTor",
|
|
"DEtecToR",
|
|
"DEtecTOr",
|
|
"DEtecTOR",
|
|
"DEteCtor",
|
|
"DEteCtoR",
|
|
"DEteCtOr",
|
|
"DEteCtOR",
|
|
"DEteCTor",
|
|
"DEteCToR",
|
|
"DEteCTOr",
|
|
"DEteCTOR",
|
|
"DEtEctor",
|
|
"DEtEctoR",
|
|
"DEtEctOr",
|
|
"DEtEctOR",
|
|
"DEtEcTor",
|
|
"DEtEcToR",
|
|
"DEtEcTOr",
|
|
"DEtEcTOR",
|
|
"DEtECtor",
|
|
"DEtECtoR",
|
|
"DEtECtOr",
|
|
"DEtECtOR",
|
|
"DEtECTor",
|
|
"DEtECToR",
|
|
"DEtECTOr",
|
|
"DEtECTOR",
|
|
"DETector",
|
|
"DETectoR",
|
|
"DETectOr",
|
|
"DETectOR",
|
|
"DETecTor",
|
|
"DETecToR",
|
|
"DETecTOr",
|
|
"DETecTOR",
|
|
"DETeCtor",
|
|
"DETeCtoR",
|
|
"DETeCtOr",
|
|
"DETeCtOR",
|
|
"DETeCTor",
|
|
"DETeCToR",
|
|
"DETeCTOr",
|
|
"DETeCTOR",
|
|
"DETEctor",
|
|
"DETEctoR",
|
|
"DETEctOr",
|
|
"DETEctOR",
|
|
"DETEcTor",
|
|
"DETEcToR",
|
|
"DETEcTOr",
|
|
"DETEcTOR",
|
|
"DETECtor",
|
|
"DETECtoR",
|
|
"DETECtOr",
|
|
"DETECtOR",
|
|
"DETECTor",
|
|
"DETECToR",
|
|
"DETECTOr",
|
|
"DETECTOR",
|
|
),
|
|
|
|
invoke_insensitive: $ => choice(
|
|
"invoke",
|
|
"invokE",
|
|
"invoKe",
|
|
"invoKE",
|
|
"invOke",
|
|
"invOkE",
|
|
"invOKe",
|
|
"invOKE",
|
|
"inVoke",
|
|
"inVokE",
|
|
"inVoKe",
|
|
"inVoKE",
|
|
"inVOke",
|
|
"inVOkE",
|
|
"inVOKe",
|
|
"inVOKE",
|
|
"iNvoke",
|
|
"iNvokE",
|
|
"iNvoKe",
|
|
"iNvoKE",
|
|
"iNvOke",
|
|
"iNvOkE",
|
|
"iNvOKe",
|
|
"iNvOKE",
|
|
"iNVoke",
|
|
"iNVokE",
|
|
"iNVoKe",
|
|
"iNVoKE",
|
|
"iNVOke",
|
|
"iNVOkE",
|
|
"iNVOKe",
|
|
"iNVOKE",
|
|
"Invoke",
|
|
"InvokE",
|
|
"InvoKe",
|
|
"InvoKE",
|
|
"InvOke",
|
|
"InvOkE",
|
|
"InvOKe",
|
|
"InvOKE",
|
|
"InVoke",
|
|
"InVokE",
|
|
"InVoKe",
|
|
"InVoKE",
|
|
"InVOke",
|
|
"InVOkE",
|
|
"InVOKe",
|
|
"InVOKE",
|
|
"INvoke",
|
|
"INvokE",
|
|
"INvoKe",
|
|
"INvoKE",
|
|
"INvOke",
|
|
"INvOkE",
|
|
"INvOKe",
|
|
"INvOKE",
|
|
"INVoke",
|
|
"INVokE",
|
|
"INVoKe",
|
|
"INVoKE",
|
|
"INVOke",
|
|
"INVOkE",
|
|
"INVOKe",
|
|
"INVOKE",
|
|
),
|
|
|
|
select_insensitive: $ => choice(
|
|
"select",
|
|
"selecT",
|
|
"seleCt",
|
|
"seleCT",
|
|
"selEct",
|
|
"selEcT",
|
|
"selECt",
|
|
"selECT",
|
|
"seLect",
|
|
"seLecT",
|
|
"seLeCt",
|
|
"seLeCT",
|
|
"seLEct",
|
|
"seLEcT",
|
|
"seLECt",
|
|
"seLECT",
|
|
"sElect",
|
|
"sElecT",
|
|
"sEleCt",
|
|
"sEleCT",
|
|
"sElEct",
|
|
"sElEcT",
|
|
"sElECt",
|
|
"sElECT",
|
|
"sELect",
|
|
"sELecT",
|
|
"sELeCt",
|
|
"sELeCT",
|
|
"sELEct",
|
|
"sELEcT",
|
|
"sELECt",
|
|
"sELECT",
|
|
"Select",
|
|
"SelecT",
|
|
"SeleCt",
|
|
"SeleCT",
|
|
"SelEct",
|
|
"SelEcT",
|
|
"SelECt",
|
|
"SelECT",
|
|
"SeLect",
|
|
"SeLecT",
|
|
"SeLeCt",
|
|
"SeLeCT",
|
|
"SeLEct",
|
|
"SeLEcT",
|
|
"SeLECt",
|
|
"SeLECT",
|
|
"SElect",
|
|
"SElecT",
|
|
"SEleCt",
|
|
"SEleCT",
|
|
"SElEct",
|
|
"SElEcT",
|
|
"SElECt",
|
|
"SElECT",
|
|
"SELect",
|
|
"SELecT",
|
|
"SELeCt",
|
|
"SELeCT",
|
|
"SELEct",
|
|
"SELEcT",
|
|
"SELECt",
|
|
"SELECT",
|
|
),
|
|
}
|
|
});
|