{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "cfquery",
"word": "identifier",
"rules": {
"program": {
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "PREC",
"value": "query_repeat",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
}
]
},
"cf_selfclose_void_tag_end": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_cf_self_closing_void_tag_delimiter"
},
"named": true,
"value": "self_closing_tag_delimiter"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"cf_set_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_set_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_kw_var"
},
"named": true,
"value": "cf_var"
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_kw_final"
},
"named": true,
"value": "cf_var"
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
}
]
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
}
]
},
{
"type": "SYMBOL",
"name": "cf_selfclose_void_tag_end"
}
]
}
},
"text": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": -1,
"content": {
"type": "PATTERN",
"value": "[^<>&\\s#\\r\\n\\u2028\\u2029]([^<>&#]*[^<>&\\s#\\r\\n\\u2028\\u2029])?"
}
}
},
"_node": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_cf_tags"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag"
},
{
"type": "SYMBOL",
"name": "text"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "SYMBOL",
"name": "_query_node"
}
]
},
"_cf_open_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<Cf"
},
{
"type": "STRING",
"value": "<cf"
},
{
"type": "STRING",
"value": "<CF"
}
]
},
"named": false,
"value": "<cf"
}
},
"_cf_close_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "</Cf"
},
{
"type": "STRING",
"value": "</cf"
},
{
"type": "STRING",
"value": "</CF"
}
]
},
"named": false,
"value": "</cf"
}
},
"cf_tag_attributes": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_attribute"
},
{
"type": "SYMBOL",
"name": "quoted_cf_attribute_value"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
},
"_query_node": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "query_keyword"
},
{
"type": "SYMBOL",
"name": "query_identifier"
},
{
"type": "SYMBOL",
"name": "quoted_query_value"
},
{
"type": "SYMBOL",
"name": "double_quoted_query_value"
},
{
"type": "SYMBOL",
"name": "bracketed_query_value"
},
{
"type": "SYMBOL",
"name": "backtick_quoted_query_value"
},
{
"type": "SYMBOL",
"name": "query_star"
},
{
"type": "SYMBOL",
"name": "query_function"
},
{
"type": "SYMBOL",
"name": "query_function_name"
},
{
"type": "SYMBOL",
"name": "query_alias"
},
{
"type": "SYMBOL",
"name": "query_math_expression"
},
{
"type": "SYMBOL",
"name": "query_concat_expression"
},
{
"type": "SYMBOL",
"name": "query_comparison_expression"
},
{
"type": "SYMBOL",
"name": "query_assignment_expression"
},
{
"type": "SYMBOL",
"name": "parenthesized_query_node"
},
{
"type": "SYMBOL",
"name": "query_number"
},
{
"type": "SYMBOL",
"name": "null"
},
{
"type": "SYMBOL",
"name": "query_comma"
},
{
"type": "SYMBOL",
"name": "query_semicolon"
},
{
"type": "SYMBOL",
"name": "query_operator"
},
{
"type": "SYMBOL",
"name": "query_open_paren"
},
{
"type": "SYMBOL",
"name": "query_close_paren"
}
]
},
"parenthesized_query_node": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "PREC",
"value": "query_repeat",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"query_function": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "query_function_name"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "parenthesized_query_node"
}
}
]
}
},
"query_alias": {
"type": "PREC_RIGHT",
"value": "assign",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "STRING",
"value": "."
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
]
}
},
"query_comma": {
"type": "PATTERN",
"value": "[,]"
},
"query_semicolon": {
"type": "PATTERN",
"value": "[;]"
},
"query_operator": {
"type": "PREC",
"value": -1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": ">="
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "STRING",
"value": "!="
},
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": "="
}
]
}
},
"query_open_paren": {
"type": "STRING",
"value": "("
},
"query_close_paren": {
"type": "PREC",
"value": -1,
"content": {
"type": "STRING",
"value": ")"
}
},
"query_assignment_expression": {
"type": "PREC_RIGHT",
"value": "assign",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
]
}
},
"query_comparison_expression": {
"type": "PREC_LEFT",
"value": "binary_compare",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": ">="
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "STRING",
"value": "!="
},
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": ">"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
]
}
},
"query_math_expression": {
"type": "PREC_LEFT",
"value": "binary_plus",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "STRING",
"value": "%"
},
{
"type": "STRING",
"value": "&"
},
{
"type": "STRING",
"value": "|"
},
{
"type": "STRING",
"value": "^"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
]
}
},
"query_concat_expression": {
"type": "PREC_LEFT",
"value": "binary_plus",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "STRING",
"value": "+"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "BLANK"
}
]
}
]
}
},
"bracketed_query_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^'\\s\\n\\r\\t\\[\\]#]+"
},
"named": true,
"value": "query_value"
}
]
}
},
{
"type": "STRING",
"value": "]"
}
]
},
"backtick_quoted_query_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "`"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^`\\s\\n\\r\\t#]+"
},
"named": true,
"value": "query_value"
}
]
}
},
{
"type": "STRING",
"value": "`"
}
]
},
"quoted_query_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[^'#]+"
}
}
},
"named": true,
"value": "query_value"
}
]
}
},
{
"type": "STRING",
"value": "'"
}
]
},
"double_quoted_query_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[^\"#]+"
}
}
},
"named": true,
"value": "query_value"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
},
"query_star": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "\\*"
},
"named": true,
"value": "star"
},
"query_number": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "-?[0-9]+"
},
"named": true,
"value": "number"
},
"query_keyword": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
},
{
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
},
{
"type": "PATTERN",
"value": "[wW][hH][eE][rR][eE]"
},
{
"type": "PATTERN",
"value": "[aA][nN][dD]"
},
{
"type": "PATTERN",
"value": "[oO][rR]"
},
{
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
{
"type": "PATTERN",
"value": "[iI][nN]"
},
{
"type": "PATTERN",
"value": "[iI][sS]"
},
{
"type": "PATTERN",
"value": "[aA][sS]"
},
{
"type": "PATTERN",
"value": "[oO][nN]"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
},
{
"type": "PATTERN",
"value": "[jJ][oO][iI][nN]"
},
{
"type": "PATTERN",
"value": "[iI][nN][nN][eE][rR]"
},
{
"type": "PATTERN",
"value": "[lL][eE][fF][tT]"
},
{
"type": "PATTERN",
"value": "[rR][iI][gG][hH][tT]"
},
{
"type": "PATTERN",
"value": "[oO][uU][tT][eE][rR]"
},
{
"type": "PATTERN",
"value": "[cC][rR][oO][sS][sS]"
},
{
"type": "PATTERN",
"value": "[fF][uU][lL][lL]"
},
{
"type": "PATTERN",
"value": "[oO][rR][dD][eE][rR]"
},
{
"type": "PATTERN",
"value": "[gG][rR][oO][uU][pP]"
},
{
"type": "PATTERN",
"value": "[hH][aA][vV][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT]"
},
{
"type": "PATTERN",
"value": "[oO][fF][fF][sS][eE][tT]"
},
{
"type": "PATTERN",
"value": "[uU][nN][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
{
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
},
{
"type": "PATTERN",
"value": "[iI][nN][sS][eE][rR][tT]"
},
{
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
{
"type": "PATTERN",
"value": "[vV][aA][lL][uU][eE][sS]"
},
{
"type": "PATTERN",
"value": "[uU][pP][dD][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[dD][eE][lL][eE][tT][eE]"
},
{
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
{
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
},
{
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
{
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
{
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
{
"type": "PATTERN",
"value": "[bB][eE][tT][wW][eE][eE][nN]"
},
{
"type": "PATTERN",
"value": "[lL][iI][kK][eE]"
},
{
"type": "PATTERN",
"value": "[tT][oO][pP]"
},
{
"type": "PATTERN",
"value": "[dD][eE][sS][cC]"
},
{
"type": "PATTERN",
"value": "[aA][sS][cC]"
},
{
"type": "PATTERN",
"value": "[oO][vV][eE][rR]"
},
{
"type": "PATTERN",
"value": "[pP][aA][rR][tT][iI][tT][iI][oO][nN]"
},
{
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
},
{
"type": "PATTERN",
"value": "[mM][eE][rR][gG][eE]"
},
{
"type": "PATTERN",
"value": "[uU][sS][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[mM][aA][tT][cC][hH][eE][dD]"
},
{
"type": "PATTERN",
"value": "[pP][iI][vV][oO][tT]"
},
{
"type": "PATTERN",
"value": "[uU][nN][pP][iI][vV][oO][tT]"
},
{
"type": "PATTERN",
"value": "[fF][eE][tT][cC][hH]"
},
{
"type": "PATTERN",
"value": "[nN][eE][xX][tT]"
},
{
"type": "PATTERN",
"value": "[oO][nN][lL][yY]"
},
{
"type": "PATTERN",
"value": "[rR][oO][wW][sS]"
},
{
"type": "PATTERN",
"value": "[fF][oO][rR]"
},
{
"type": "PATTERN",
"value": "[tT][rR][uU][nN][cC][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[tT][aA][bB][lL][eE]"
},
{
"type": "PATTERN",
"value": "[eE][xX][eE][cC]"
},
{
"type": "PATTERN",
"value": "[wW][iI][nN][dD][oO][wW]"
},
{
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
},
{
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
{
"type": "PATTERN",
"value": "[gG][oO]"
},
{
"type": "PATTERN",
"value": "[eE][oO][fF]"
}
]
}
},
"query_function_name": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[cC][aA][sS][tT]"
},
{
"type": "PATTERN",
"value": "[cC][oO][uU][nN][tT]"
},
{
"type": "PATTERN",
"value": "[sS][uU][mM]"
},
{
"type": "PATTERN",
"value": "[aA][vV][gG]"
},
{
"type": "PATTERN",
"value": "[mM][iI][nN]"
},
{
"type": "PATTERN",
"value": "[mM][aA][xX]"
},
{
"type": "PATTERN",
"value": "[cC][oO][aA][lL][eE][sS][cC][eE]"
},
{
"type": "PATTERN",
"value": "[nN][uU][lL][lL][iI][fF]"
},
{
"type": "PATTERN",
"value": "[iI][fF][nN][uU][lL][lL]"
},
{
"type": "PATTERN",
"value": "[iI][sS][nN][uU][lL][lL]"
},
{
"type": "PATTERN",
"value": "[eE][xX][iI][sS][tT][sS]"
},
{
"type": "PATTERN",
"value": "[tT][rR][iI][mM]"
},
{
"type": "PATTERN",
"value": "[lL][tT][rR][iI][mM]"
},
{
"type": "PATTERN",
"value": "[rR][tT][rR][iI][mM]"
},
{
"type": "PATTERN",
"value": "[uU][pP][pP][eE][rR]"
},
{
"type": "PATTERN",
"value": "[lL][oO][wW][eE][rR]"
},
{
"type": "PATTERN",
"value": "[lL][eE][nN]"
},
{
"type": "PATTERN",
"value": "[lL][eE][nN][gG][tT][hH]"
},
{
"type": "PATTERN",
"value": "[sS][uU][bB][sS][tT][rR][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[sS][uU][bB][sS][tT][rR]"
},
{
"type": "PATTERN",
"value": "[rR][eE][pP][lL][aA][cC][eE]"
},
{
"type": "PATTERN",
"value": "[cC][oO][nN][cC][aA][tT]"
},
{
"type": "PATTERN",
"value": "[cC][oO][nN][vV][eE][rR][tT]"
},
{
"type": "PATTERN",
"value": "[rR][oO][uU][nN][dD]"
},
{
"type": "PATTERN",
"value": "[fF][lL][oO][oO][rR]"
},
{
"type": "PATTERN",
"value": "[cC][eE][iI][lL][iI][nN][gG]"
},
{
"type": "PATTERN",
"value": "[aA][bB][sS]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][aA][dD][dD]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][dD][iI][fF][fF]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][pP][aA][rR][tT]"
},
{
"type": "PATTERN",
"value": "[gG][eE][tT][dD][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[yY][eE][aA][rR]"
},
{
"type": "PATTERN",
"value": "[mM][oO][nN][tT][hH]"
},
{
"type": "PATTERN",
"value": "[dD][aA][yY]"
},
{
"type": "PATTERN",
"value": "[rR][oO][wW][_][nN][uU][mM][bB][eE][rR]"
},
{
"type": "PATTERN",
"value": "[rR][aA][nN][kK]"
},
{
"type": "PATTERN",
"value": "[dD][eE][nN][sS][eE][_][rR][aA][nN][kK]"
},
{
"type": "PATTERN",
"value": "[nN][tT][iI][lL][eE]"
},
{
"type": "PATTERN",
"value": "[lL][eE][aA][dD]"
},
{
"type": "PATTERN",
"value": "[lL][aA][gG]"
},
{
"type": "PATTERN",
"value": "[fF][iI][rR][sS][tT][_][vV][aA][lL][uU][eE]"
},
{
"type": "PATTERN",
"value": "[lL][aA][sS][tT][_][vV][aA][lL][uU][eE]"
},
{
"type": "PATTERN",
"value": "[sS][tT][rR][iI][nN][gG][_][aA][gG][gG]"
},
{
"type": "PATTERN",
"value": "[gG][rR][oO][uU][pP][_][cC][oO][nN][cC][aA][tT]"
},
{
"type": "PATTERN",
"value": "[jJ][sS][oO][nN][_][vV][aA][lL][uU][eE]"
},
{
"type": "PATTERN",
"value": "[jJ][sS][oO][nN][_][qQ][uU][eE][rR][yY]"
},
{
"type": "PATTERN",
"value": "[iI][iI][fF]"
},
{
"type": "PATTERN",
"value": "[sS][iI][gG][nN]"
},
{
"type": "PATTERN",
"value": "[pP][oO][wW][eE][rR]"
},
{
"type": "PATTERN",
"value": "[sS][qQ][rR][tT]"
},
{
"type": "PATTERN",
"value": "[lL][oO][gG]"
},
{
"type": "PATTERN",
"value": "[lL][oO][gG]10"
},
{
"type": "PATTERN",
"value": "[eE][xX][pP]"
},
{
"type": "PATTERN",
"value": "[mM][oO][dD]"
},
{
"type": "PATTERN",
"value": "[lL][eE][fF][tT]"
},
{
"type": "PATTERN",
"value": "[rR][iI][gG][hH][tT]"
},
{
"type": "PATTERN",
"value": "[rR][eE][vV][eE][rR][sS][eE]"
},
{
"type": "PATTERN",
"value": "[sS][tT][uU][fF][fF]"
},
{
"type": "PATTERN",
"value": "[sS][pP][aA][cC][eE]"
},
{
"type": "PATTERN",
"value": "[rR][eE][pP][lL][iI][cC][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[cC][hH][aA][rR][iI][nN][dD][eE][xX]"
},
{
"type": "PATTERN",
"value": "[pP][aA][tT][iI][nN][dD][eE][xX]"
},
{
"type": "PATTERN",
"value": "[fF][oO][rR][mM][aA][tT]"
},
{
"type": "PATTERN",
"value": "[sS][tT][rR]"
},
{
"type": "PATTERN",
"value": "[aA][sS][cC][iI][iI]"
},
{
"type": "PATTERN",
"value": "[uU][nN][iI][cC][oO][dD][eE]"
},
{
"type": "PATTERN",
"value": "[nN][eE][wW][iI][dD]"
},
{
"type": "PATTERN",
"value": "[sS][cC][oO][pP][eE][_][iI][dD][eE][nN][tT][iI][tT][yY]"
},
{
"type": "PATTERN",
"value": "[oO][bB][jJ][eE][cC][tT][_][iI][dD]"
},
{
"type": "PATTERN",
"value": "[oO][bB][jJ][eE][cC][tT][_][nN][aA][mM][eE]"
},
{
"type": "PATTERN",
"value": "[cC][oO][lL][_][lL][eE][nN][gG][tT][hH]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][nN][aA][mM][eE]"
},
{
"type": "PATTERN",
"value": "[eE][oO][mM][oO][nN][tT][hH]"
},
{
"type": "PATTERN",
"value": "[gG][eE][tT][uU][tT][cC][dD][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[sS][yY][sS][dD][aA][tT][eE][tT][iI][mM][eE]"
},
{
"type": "PATTERN",
"value": "[cC][uU][rR][rR][eE][nN][tT][_][tT][iI][mM][eE][sS][tT][aA][mM][pP]"
},
{
"type": "PATTERN",
"value": "[cC][uU][rR][rR][eE][nN][tT][_][dD][aA][tT][eE]"
},
{
"type": "PATTERN",
"value": "[cC][hH][eE][cC][kK][sS][uU][mM]"
},
{
"type": "PATTERN",
"value": "[hH][aA][sS][hH][bB][yY][tT][eE][sS]"
},
{
"type": "PATTERN",
"value": "[rR][oO][wW][sS]"
},
{
"type": "PATTERN",
"value": "[cC][hH][aA][rR]"
},
{
"type": "PATTERN",
"value": "[vV][aA][rR][cC][hH][aA][rR]"
},
{
"type": "PATTERN",
"value": "[nN][vV][aA][rR][cC][hH][aA][rR]"
},
{
"type": "PATTERN",
"value": "[nN][cC][hH][aA][rR]"
},
{
"type": "PATTERN",
"value": "[dD][eE][cC][iI][mM][aA][lL]"
},
{
"type": "PATTERN",
"value": "[nN][uU][mM][eE][rR][iI][cC]"
},
{
"type": "PATTERN",
"value": "[vV][aA][rR][bB][iI][nN][aA][rR][yY]"
},
{
"type": "PATTERN",
"value": "[bB][iI][nN][aA][rR][yY]"
},
{
"type": "PATTERN",
"value": "[fF][lL][oO][aA][tT]"
},
{
"type": "PATTERN",
"value": "[rR][eE][aA][lL]"
},
{
"type": "PATTERN",
"value": "[dD][oO][uU][bB][lL][eE]"
},
{
"type": "PATTERN",
"value": "[iI][nN][tT][eE][gG][eE][rR]"
},
{
"type": "PATTERN",
"value": "[iI][nN][tT]"
},
{
"type": "PATTERN",
"value": "[bB][iI][gG][iI][nN][tT]"
},
{
"type": "PATTERN",
"value": "[sS][mM][aA][lL][lL][iI][nN][tT]"
},
{
"type": "PATTERN",
"value": "[tT][iI][nN][yY][iI][nN][tT]"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][tT][iI][mM][eE]2"
},
{
"type": "PATTERN",
"value": "[dD][aA][tT][eE][tT][iI][mM][eE]"
},
{
"type": "PATTERN",
"value": "[sS][mM][aA][lL][lL][dD][aA][tT][eE][tT][iI][mM][eE]"
},
{
"type": "PATTERN",
"value": "[tT][iI][mM][eE]"
},
{
"type": "PATTERN",
"value": "[tT][eE][xX][tT]"
},
{
"type": "PATTERN",
"value": "[nN][tT][eE][xX][tT]"
},
{
"type": "PATTERN",
"value": "[iI][mM][aA][gG][eE]"
},
{
"type": "PATTERN",
"value": "[mM][oO][nN][eE][yY]"
},
{
"type": "PATTERN",
"value": "[sS][mM][aA][lL][lL][mM][oO][nN][eE][yY]"
},
{
"type": "PATTERN",
"value": "[bB][iI][tT]"
},
{
"type": "PATTERN",
"value": "[uU][nN][iI][qQ][uU][eE][iI][dD][eE][nN][tT][iI][fF][iI][eE][rR]"
},
{
"type": "PATTERN",
"value": "[xX][mM][lL]"
},
{
"type": "PATTERN",
"value": "[sS][qQ][lL][_][vV][aA][rR][iI][aA][nN][tT]"
},
{
"type": "PATTERN",
"value": "[cC][lL][oO][bB]"
},
{
"type": "PATTERN",
"value": "[bB][lL][oO][bB]"
},
{
"type": "PATTERN",
"value": "[nN][cC][lL][oO][bB]"
},
{
"type": "PATTERN",
"value": "[bB][oO][oO][lL][eE][aA][nN]"
},
{
"type": "PATTERN",
"value": "[nN][uU][mM][bB][eE][rR]"
},
{
"type": "PATTERN",
"value": "[vV][aA][rR][cC][hH][aA][rR]2"
}
]
}
},
"query_identifier": {
"type": "CHOICE",
"members": [
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@@"
},
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,*\\[\\]|^&\"'<=>+,#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "\\?"
},
"named": true,
"value": "placeholder"
}
]
},
"erroneous_cf_end_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "</"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"_cf_tag_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
},
"cf_attribute": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cf_attribute_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quoted_cf_attribute_value"
},
{
"type": "SYMBOL",
"name": "cf_attribute_value"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"cf_attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^'\"\\s\\n\\r\\t#:;<>]+"
},
"named": true,
"value": "attribute_value"
}
]
},
"cf_attribute_name": {
"type": "PATTERN",
"value": "[^<>\"'/=\\s\\n\\r\\t#0-9][^<>\"'/=\\s\\n\\r\\t#]*"
},
"cf_tag": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cf_start_tag"
},
{
"type": "REPEAT",
"content": {
"type": "PREC",
"value": "query_repeat",
"content": {
"type": "SYMBOL",
"name": "_node"
}
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_end_tag"
},
{
"type": "SYMBOL",
"name": "implicit_cf_end_tag"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "cf_start_tag_with_selfclose"
}
]
},
"cf_start_tag_with_selfclose": {
"type": "PREC_RIGHT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_start_cf_tag_name"
},
"named": true,
"value": "cf_tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_tag_attributes"
}
},
{
"type": "SYMBOL",
"name": "_cf_self_closing_tag_delimiter"
}
]
}
},
"cf_start_tag": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_start_cf_tag_name"
},
"named": true,
"value": "cf_tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_tag_attributes"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"cf_end_tag": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_end_cf_tag_name"
},
"named": true,
"value": "cf_tag_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"cf_tag_name": {
"type": "PATTERN",
"value": "[a-zA-Z][a-zA-Z0-9_]*"
},
"cf_return_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_return_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "cf_selfclose_void_tag_end"
}
]
}
},
"cf_output_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_output_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_attribute"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "SYMBOL",
"name": "_end_cf_tag_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"_cf_tags": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_selfclose_tag"
},
{
"type": "SYMBOL",
"name": "cf_if_tag"
},
{
"type": "SYMBOL",
"name": "cf_set_tag"
},
{
"type": "SYMBOL",
"name": "cf_tag"
},
{
"type": "SYMBOL",
"name": "cf_return_tag"
},
{
"type": "SYMBOL",
"name": "cf_output_tag"
}
]
}
},
"cf_selfclose_tag": {
"type": "PREC_RIGHT",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_void_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_attribute"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "cf_selfclose_void_tag_end"
}
]
}
},
"cf_if_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_if_name"
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_if_alt"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "SYMBOL",
"name": "_end_cf_if_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"cf_elseif_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_start_cf_elseif_name"
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"cf_else_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_start_cf_else_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"cf_if_alt": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_elseif_tag"
},
{
"type": "SYMBOL",
"name": "cf_else_tag"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cf_if_alt"
},
{
"type": "BLANK"
}
]
}
]
}
},
"quoted_cf_attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^'#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "STRING",
"value": "\"\""
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\"#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
}
]
},
"_module_export_name": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
"declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "function_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
}
]
},
"import_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_import"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "import_clause"
},
{
"type": "SYMBOL",
"name": "_from_clause"
}
]
},
{
"type": "FIELD",
"name": "source",
"content": {
"type": "SYMBOL",
"name": "string"
}
},
{
"type": "FIELD",
"name": "source",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "FIELD",
"name": "source",
"content": {
"type": "SYMBOL",
"name": "import_path"
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "import_attribute"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"import_path": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "*"
}
]
}
]
}
}
]
},
"path": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
"import_clause": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "namespace_import"
},
{
"type": "SYMBOL",
"name": "named_imports"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "namespace_import"
},
{
"type": "SYMBOL",
"name": "named_imports"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"_from_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "from"
},
{
"type": "FIELD",
"name": "source",
"content": {
"type": "SYMBOL",
"name": "string"
}
}
]
},
"namespace_import": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "as"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"named_imports": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "import_specifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "import_specifier"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"import_specifier": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_module_export_name"
}
},
{
"type": "STRING",
"value": "as"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
]
},
"import_attribute": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_with"
},
{
"type": "SYMBOL",
"name": "object"
}
]
},
"statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "import_statement"
},
{
"type": "SYMBOL",
"name": "debugger_statement"
},
{
"type": "SYMBOL",
"name": "expression_statement"
},
{
"type": "SYMBOL",
"name": "declaration"
},
{
"type": "SYMBOL",
"name": "statement_block"
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "switch_statement"
},
{
"type": "SYMBOL",
"name": "for_statement"
},
{
"type": "SYMBOL",
"name": "for_in_statement"
},
{
"type": "SYMBOL",
"name": "while_statement"
},
{
"type": "SYMBOL",
"name": "do_statement"
},
{
"type": "SYMBOL",
"name": "try_statement"
},
{
"type": "SYMBOL",
"name": "with_statement"
},
{
"type": "SYMBOL",
"name": "break_statement"
},
{
"type": "SYMBOL",
"name": "continue_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "SYMBOL",
"name": "throw_statement"
},
{
"type": "SYMBOL",
"name": "empty_statement"
},
{
"type": "SYMBOL",
"name": "labeled_statement"
}
]
},
"expression_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"variable_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_var"
},
{
"type": "SYMBOL",
"name": "_kw_final"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_final"
},
{
"type": "SYMBOL",
"name": "_kw_var"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_var"
},
{
"type": "SYMBOL",
"name": "_kw_final"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "variable_declarator"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "variable_declarator"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"variable_declarator": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_initializer"
},
{
"type": "BLANK"
}
]
}
]
},
"statement_block": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "STRING",
"value": "}"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
},
"else_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_else"
},
{
"type": "SYMBOL",
"name": "statement"
}
]
},
"if_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_if"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "parenthesized_expression"
}
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "SYMBOL",
"name": "else_clause"
}
},
{
"type": "BLANK"
}
]
}
]
}
},
"switch_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_switch"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "parenthesized_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "switch_body"
}
}
]
},
"for_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_for"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "initializer",
"content": {
"type": "SYMBOL",
"name": "variable_declaration"
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "initializer",
"content": {
"type": "SYMBOL",
"name": "_expressions"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "FIELD",
"name": "initializer",
"content": {
"type": "SYMBOL",
"name": "empty_statement"
}
}
]
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SYMBOL",
"name": "empty_statement"
}
]
}
},
{
"type": "FIELD",
"name": "increment",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
"for_in_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_for"
},
{
"type": "SYMBOL",
"name": "_for_header"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
"_for_header": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_lhs_expression"
},
{
"type": "SYMBOL",
"name": "parenthesized_expression"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "kind",
"content": {
"type": "SYMBOL",
"name": "_kw_var"
}
},
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_initializer"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_in"
},
{
"type": "STRING",
"value": "of"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expressions"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"while_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_while"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "parenthesized_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
"do_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_do"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "SYMBOL",
"name": "_kw_while"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "parenthesized_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
},
"try_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_try"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "handler",
"content": {
"type": "SYMBOL",
"name": "catch_clause"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "finalizer",
"content": {
"type": "SYMBOL",
"name": "finally_clause"
}
},
{
"type": "BLANK"
}
]
}
]
},
"with_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_with"
},
{
"type": "FIELD",
"name": "object",
"content": {
"type": "SYMBOL",
"name": "parenthesized_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
},
"break_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_break"
},
{
"type": "FIELD",
"name": "label",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "statement_identifier"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"continue_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_continue"
},
{
"type": "FIELD",
"name": "label",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "statement_identifier"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"debugger_statement": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_debugger"
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
}
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"throw_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_throw"
},
{
"type": "CHOICE",
"members": [
{
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "arguments"
}
},
{
"type": "SYMBOL",
"name": "_expressions"
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"empty_statement": {
"type": "STRING",
"value": ";"
},
"labeled_statement": {
"type": "PREC_DYNAMIC",
"value": -1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "label",
"content": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "statement_identifier"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
}
},
"switch_body": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "switch_case"
},
{
"type": "SYMBOL",
"name": "switch_default"
}
]
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"switch_case": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_case"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_expressions"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
},
"switch_default": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_default"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
},
"catch_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_catch"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "type",
"content": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "nested_identifier"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
"named": true,
"value": "catch_type"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_var"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "parameter",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"finally_clause": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_finally"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "STRING",
"value": ")"
}
]
},
"_expressions": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "sequence_expression"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
},
"expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "primary_expression"
},
{
"type": "SYMBOL",
"name": "assignment_expression"
},
{
"type": "SYMBOL",
"name": "augmented_assignment_expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "ternary_expression"
},
{
"type": "SYMBOL",
"name": "elvis_expression"
},
{
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "SYMBOL",
"name": "new_expression"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "SYMBOL",
"name": "object_pattern"
}
]
},
"primary_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subscript_expression"
},
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "this"
},
{
"type": "SYMBOL",
"name": "super"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "regex"
},
{
"type": "SYMBOL",
"name": "true"
},
{
"type": "SYMBOL",
"name": "false"
},
{
"type": "SYMBOL",
"name": "null"
},
{
"type": "SYMBOL",
"name": "object"
},
{
"type": "SYMBOL",
"name": "array"
},
{
"type": "SYMBOL",
"name": "ordered_struct"
},
{
"type": "SYMBOL",
"name": "function_expression"
},
{
"type": "SYMBOL",
"name": "arrow_function"
},
{
"type": "SYMBOL",
"name": "call_expression"
}
]
},
"object": {
"type": "PREC",
"value": "object",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "cf_pair"
},
{
"type": "SYMBOL",
"name": "spread_element"
},
{
"type": "SYMBOL",
"name": "method_definition"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "shorthand_property_identifier"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "cf_pair"
},
{
"type": "SYMBOL",
"name": "spread_element"
},
{
"type": "SYMBOL",
"name": "method_definition"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "shorthand_property_identifier"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
}
},
"object_pattern": {
"type": "PREC",
"value": "object",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pair_pattern"
},
{
"type": "SYMBOL",
"name": "cf_pair"
},
{
"type": "SYMBOL",
"name": "rest_pattern"
},
{
"type": "SYMBOL",
"name": "object_assignment_pattern"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "shorthand_property_identifier_pattern"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pair_pattern"
},
{
"type": "SYMBOL",
"name": "cf_pair"
},
{
"type": "SYMBOL",
"name": "rest_pattern"
},
{
"type": "SYMBOL",
"name": "object_assignment_pattern"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "shorthand_property_identifier_pattern"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
}
},
"assignment_pattern": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "pattern"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"object_assignment_pattern": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_reserved_identifier"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"named": true,
"value": "shorthand_property_identifier_pattern"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"array": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "spread_element"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "spread_element"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"ordered_struct": {
"type": "PREC",
"value": 1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": ":"
},
{
"type": "STRING",
"value": "]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "]"
}
]
}
]
}
},
"array_pattern": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"nested_identifier": {
"type": "PREC",
"value": "member",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "nested_identifier"
},
"named": true,
"value": "member_expression"
}
]
}
},
{
"type": "PATTERN",
"value": "[.:]"
},
{
"type": "FIELD",
"name": "property",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "property_identifier"
}
}
]
}
},
"function_expression": {
"type": "PREC",
"value": "literal",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "assignment_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"access_type": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_public"
},
{
"type": "SYMBOL",
"name": "_kw_private"
},
{
"type": "SYMBOL",
"name": "_kw_package"
},
{
"type": "SYMBOL",
"name": "_kw_remote"
},
{
"type": "SYMBOL",
"name": "_kw_static"
},
{
"type": "SYMBOL",
"name": "_kw_final"
},
{
"type": "SYMBOL",
"name": "_kw_abstract"
}
]
},
"parameter_type": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_kw_component"
},
"named": true,
"value": "identifier"
}
]
},
"function_declaration": {
"type": "PREC_RIGHT",
"value": "declaration",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "access_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_function"
},
{
"type": "SYMBOL",
"name": "path"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "array_return_suffix"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_kw_function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "assignment_expression"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
},
"array_return_suffix": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"arrow_function": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "parameter",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "=>"
},
{
"type": "STRING",
"value": "->"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "statement_block"
}
]
}
}
]
},
"_call_signature": {
"type": "FIELD",
"name": "parameters",
"content": {
"type": "SYMBOL",
"name": "formal_parameters"
}
},
"_formal_parameter": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Required"
},
{
"type": "STRING",
"value": "required"
},
{
"type": "STRING",
"value": "REQUIRED"
}
]
},
"named": false,
"value": "required"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "parameter_type"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "parameter_attribute"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Required"
},
{
"type": "STRING",
"value": "required"
},
{
"type": "STRING",
"value": "REQUIRED"
}
]
},
"named": false,
"value": "required"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "parameter_attribute"
}
}
]
}
]
},
"parameter_attribute": {
"type": "PREC_DYNAMIC",
"value": -2,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "string"
}
]
}
},
"optional_chain": {
"type": "STRING",
"value": "?."
},
"static_chain": {
"type": "STRING",
"value": "::"
},
"call_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": "call",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "primary_expression"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "arguments"
}
}
]
}
},
{
"type": "PREC",
"value": "member",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "primary_expression"
}
},
{
"type": "FIELD",
"name": "optional_chain",
"content": {
"type": "SYMBOL",
"name": "optional_chain"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "arguments"
}
}
]
}
}
]
},
"new_expression": {
"type": "PREC_RIGHT",
"value": "new",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_kw_new"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "prefix",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_new_type_prefix"
},
"named": true,
"value": "type_prefix"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "constructor",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "primary_expression"
},
{
"type": "SYMBOL",
"name": "new_expression"
}
]
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "arguments"
}
},
{
"type": "BLANK"
}
]
}
}
]
}
},
"_new_type_prefix": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "java"
},
{
"type": "STRING",
"value": "cfml"
}
]
},
{
"type": "STRING",
"value": ":"
}
]
}
},
"member_expression": {
"type": "PREC",
"value": "member",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "primary_expression"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "FIELD",
"name": "optional_chain",
"content": {
"type": "SYMBOL",
"name": "optional_chain"
}
},
{
"type": "FIELD",
"name": "static_chain",
"content": {
"type": "SYMBOL",
"name": "static_chain"
}
}
]
},
{
"type": "FIELD",
"name": "property",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "private_property_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "property_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_kw_new"
},
"named": true,
"value": "property_identifier"
}
]
}
}
]
}
},
"subscript_expression": {
"type": "PREC_RIGHT",
"value": "member",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "primary_expression"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "optional_chain",
"content": {
"type": "SYMBOL",
"name": "optional_chain"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "["
},
{
"type": "FIELD",
"name": "index",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "SYMBOL",
"name": "slice_expression"
}
]
}
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"slice_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "start",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "end",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "step",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"_lhs_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "null"
},
{
"type": "SYMBOL",
"name": "subscript_expression"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_kw_function"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "_destructuring_pattern"
}
]
},
"assignment_expression": {
"type": "PREC_RIGHT",
"value": "assign",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "_lhs_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hash_expression"
},
"named": true,
"value": "hash_expression"
}
]
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
}
}
]
}
},
"_augmented_assignment_lhs": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "subscript_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "identifier"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "parenthesized_expression"
}
]
},
"augmented_assignment_expression": {
"type": "PREC_RIGHT",
"value": "assign",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_augmented_assignment_lhs"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+="
},
{
"type": "STRING",
"value": "-="
},
{
"type": "STRING",
"value": "*="
},
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "%="
},
{
"type": "STRING",
"value": "^="
},
{
"type": "STRING",
"value": "&="
},
{
"type": "STRING",
"value": "|="
},
{
"type": "STRING",
"value": ">>="
},
{
"type": "STRING",
"value": ">>>="
},
{
"type": "STRING",
"value": "<<="
},
{
"type": "STRING",
"value": "**="
},
{
"type": "STRING",
"value": "&&="
},
{
"type": "STRING",
"value": "||="
},
{
"type": "STRING",
"value": "??="
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
"_initializer": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"_destructuring_pattern": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "array_pattern"
}
]
},
"spread_element": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "..."
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"ternary_expression": {
"type": "PREC_RIGHT",
"value": "ternary",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_ternary_qmark"
},
"named": false,
"value": "?"
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
"elvis_expression": {
"type": "PREC_RIGHT",
"value": "elvis",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_elvis_operator"
},
"named": false,
"value": "?:"
},
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
"binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": "logical_and",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "logical_and",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "logical_or",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "logical_or"
},
{
"type": "STRING",
"value": "||"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "logical_or",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "logical_xor",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[xX][oO][rR]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">>"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">>>"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "bitwise_and",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "&"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "bitwise_xor",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "bitwise_or",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "|"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_plus",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_plus",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "*"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "/"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "%"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "\\"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_RIGHT",
"value": "binary_exp",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "**"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[lL][tT]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[lL][tT][eE]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[lL][eE]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "=="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "==="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[eE][qQ]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[eE][qQ][uU][aA][lL]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<>"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "!="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "!=="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[nN][eE][qQ]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][tT][aA][iI][nN][sS]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[cC][tT]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[dD][oO][eE][sS]\\s+[nN][oO][tT]\\s+[cC][oO][nN][tT][aA][iI][nN]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[nN][cC][tT]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">="
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[gG][tT][eE]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[gG][eE]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[gG][tT]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[gG][rR][eE][aA][tT][eE][rR]\\s+[tT][hH][aA][nN]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[lL][eE][sS][sS]\\s+[tT][hH][aA][nN]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[gG][rR][eE][aA][tT][eE][rR]\\s+[tT][hH][aA][nN]\\s+[oO][rR]\\s+[eE][qQ][uU][aA][lL]\\s+[tT][oO]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[lL][eE][sS][sS]\\s+[tT][hH][aA][nN]\\s+[oO][rR]\\s+[eE][qQ][uU][aA][lL]\\s+[tT][oO]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]\\s+[eE][qQ][uU][aA][lL]"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "ternary",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "??"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_kw_instanceof"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_kw_in"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
}
]
},
"unary_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
"named": false,
"value": "not"
}
]
},
"unary_expression": {
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "unary_operator"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
"update_expression": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
]
}
},
"sequence_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
}
},
"string": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "STRING",
"value": "\"\""
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "unescaped_double_string_fragment"
},
"named": true,
"value": "string_fragment"
}
]
}
}
]
},
{
"type": "STRING",
"value": "\""
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "unescaped_single_string_fragment"
},
"named": true,
"value": "string_fragment"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "STRING",
"value": "''"
}
]
}
}
]
},
{
"type": "STRING",
"value": "'"
}
]
}
]
},
"unescaped_double_string_fragment": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[^\"#]+"
}
}
},
"unescaped_single_string_fragment": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[^'#]+"
}
}
},
"comment": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "//"
},
{
"type": "PATTERN",
"value": "[^\\r\\n\\u2028\\u2029]*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "PATTERN",
"value": "[^\\r\\n\\u2028\\u2029]*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/*"
},
{
"type": "PATTERN",
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"type": "STRING",
"value": "/"
}
]
}
]
},
"template_substitution": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "${"
},
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "STRING",
"value": "}"
}
]
},
"regex": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/"
},
{
"type": "FIELD",
"name": "pattern",
"content": {
"type": "SYMBOL",
"name": "regex_pattern"
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "STRING",
"value": "/"
}
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "flags",
"content": {
"type": "SYMBOL",
"name": "regex_flags"
}
},
{
"type": "BLANK"
}
]
}
]
},
"regex_pattern": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PREC",
"value": -1,
"content": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "PATTERN",
"value": "."
}
]
},
{
"type": "PATTERN",
"value": "[^\\]\\n\\\\]"
}
]
}
},
{
"type": "STRING",
"value": "]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "PATTERN",
"value": "."
}
]
},
{
"type": "PATTERN",
"value": "[^/\\\\\\[\\n]"
}
]
}
}
}
},
"regex_flags": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[a-z]+"
}
},
"number": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0x"
},
{
"type": "STRING",
"value": "0X"
}
]
},
{
"type": "PATTERN",
"value": "[\\da-fA-F](_?[\\da-fA-F])*"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "[1-9]"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "_"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "e"
},
{
"type": "STRING",
"value": "E"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "e"
},
{
"type": "STRING",
"value": "E"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "[1-9]"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "_"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "e"
},
{
"type": "STRING",
"value": "E"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
}
]
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0b"
},
{
"type": "STRING",
"value": "0B"
}
]
},
{
"type": "PATTERN",
"value": "[0-1](_?[0-1])*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0o"
},
{
"type": "STRING",
"value": "0O"
}
]
},
{
"type": "PATTERN",
"value": "[0-7](_?[0-7])*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0x"
},
{
"type": "STRING",
"value": "0X"
}
]
},
{
"type": "PATTERN",
"value": "[\\da-fA-F](_?[\\da-fA-F])*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0b"
},
{
"type": "STRING",
"value": "0B"
}
]
},
{
"type": "PATTERN",
"value": "[0-1](_?[0-1])*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "0o"
},
{
"type": "STRING",
"value": "0O"
}
]
},
{
"type": "PATTERN",
"value": "[0-7](_?[0-7])*"
}
]
},
{
"type": "PATTERN",
"value": "\\d(_?\\d)*"
}
]
},
{
"type": "STRING",
"value": "n"
}
]
}
]
}
},
"_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "undefined"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"identifier": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,|^&<=>+#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,|^&<=>+#\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
"private_property_identifier": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "~"
},
{
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}0-9:;`\"'@#&?.,\\[\\]|^&<=>+\\-*#/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#&?.,\\[\\]|^&<=>+\\-*#/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B\\u2028\\u2029]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
}
}
]
}
},
"this": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "This"
},
{
"type": "STRING",
"value": "this"
},
{
"type": "STRING",
"value": "THIS"
}
]
},
"named": false,
"value": "this"
},
"super": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Super"
},
{
"type": "STRING",
"value": "super"
},
{
"type": "STRING",
"value": "SUPER"
}
]
},
"named": false,
"value": "super"
},
"true": {
"type": "STRING",
"value": "true"
},
"false": {
"type": "STRING",
"value": "false"
},
"null": {
"type": "STRING",
"value": "null"
},
"undefined": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Undefined"
},
{
"type": "STRING",
"value": "undefined"
},
{
"type": "STRING",
"value": "UNDEFINED"
}
]
},
"named": false,
"value": "undefined"
},
"arguments": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "SYMBOL",
"name": "spread_element"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
},
{
"type": "SYMBOL",
"name": "spread_element"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"decorator": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "decorator_member_expression"
},
"named": true,
"value": "member_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "decorator_call_expression"
},
"named": true,
"value": "call_expression"
}
]
}
]
},
"decorator_member_expression": {
"type": "PREC",
"value": "member",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "decorator_member_expression"
},
"named": true,
"value": "member_expression"
}
]
}
},
{
"type": "PATTERN",
"value": "[.:]"
},
{
"type": "FIELD",
"name": "property",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "property_identifier"
}
}
]
}
},
"decorator_call_expression": {
"type": "PREC",
"value": "call",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "decorator_member_expression"
},
"named": true,
"value": "member_expression"
}
]
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "arguments"
}
}
]
}
},
"field_definition": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "FIELD",
"name": "decorator",
"content": {
"type": "SYMBOL",
"name": "decorator"
}
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_static"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "property",
"content": {
"type": "SYMBOL",
"name": "_property_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_initializer"
},
{
"type": "BLANK"
}
]
}
]
},
"formal_parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_formal_parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_formal_parameter"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"pattern": {
"type": "PREC_DYNAMIC",
"value": -1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_lhs_expression"
},
{
"type": "SYMBOL",
"name": "rest_pattern"
}
]
}
},
"rest_pattern": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "..."
},
{
"type": "SYMBOL",
"name": "_lhs_expression"
}
]
}
},
"method_definition": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "FIELD",
"name": "decorator",
"content": {
"type": "SYMBOL",
"name": "decorator"
}
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_static"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[sS][tT][aA][tT][iI][cC]"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "PATTERN",
"value": "[gG][eE][tT]"
},
{
"type": "PATTERN",
"value": "\\s*\\n"
}
]
}
},
"named": false,
"value": "static get"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "get"
},
{
"type": "STRING",
"value": "set"
},
{
"type": "STRING",
"value": "*"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_property_name"
}
},
{
"type": "FIELD",
"name": "parameters",
"content": {
"type": "SYMBOL",
"name": "formal_parameters"
}
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"pair": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "key",
"content": {
"type": "SYMBOL",
"name": "_property_name"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"cf_pair": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "key",
"content": {
"type": "SYMBOL",
"name": "_property_name"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"pair_pattern": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "key",
"content": {
"type": "SYMBOL",
"name": "_property_name"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
}
}
]
},
"_property_name": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_reserved_identifier"
}
]
},
"named": true,
"value": "property_identifier"
},
{
"type": "SYMBOL",
"name": "null"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "computed_property_name"
},
{
"type": "SYMBOL",
"name": "_hash_always_eval"
}
]
},
"_hash_always_eval": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hash_expression"
},
"named": true,
"value": "hash_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hash_empty"
},
"named": true,
"value": "hash_empty"
}
]
},
"_hash": {
"type": "STRING",
"value": "#"
},
"_hash_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "#"
}
]
},
"_hash_empty": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "#"
}
}
]
},
"computed_property_name": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "]"
}
]
},
"_reserved_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_kw_new"
},
{
"type": "SYMBOL",
"name": "_kw_get"
},
{
"type": "SYMBOL",
"name": "_kw_set"
},
{
"type": "SYMBOL",
"name": "_kw_static"
},
{
"type": "SYMBOL",
"name": "_kw_export"
},
{
"type": "SYMBOL",
"name": "_kw_let"
},
{
"type": "SYMBOL",
"name": "_kw_component"
},
{
"type": "SYMBOL",
"name": "_kw_public"
},
{
"type": "SYMBOL",
"name": "_kw_private"
},
{
"type": "SYMBOL",
"name": "_kw_package"
},
{
"type": "SYMBOL",
"name": "_kw_remote"
},
{
"type": "SYMBOL",
"name": "_kw_abstract"
},
{
"type": "SYMBOL",
"name": "_kw_final"
},
{
"type": "SYMBOL",
"name": "_kw_debugger"
}
]
},
"_semicolon": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "STRING",
"value": ";"
}
]
},
"_kw_abstract": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Abstract"
},
{
"type": "STRING",
"value": "abstract"
},
{
"type": "STRING",
"value": "ABSTRACT"
}
]
},
"named": false,
"value": "abstract"
},
"_kw_break": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Break"
},
{
"type": "STRING",
"value": "break"
},
{
"type": "STRING",
"value": "BREAK"
}
]
},
"named": false,
"value": "break"
},
"_kw_case": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Case"
},
{
"type": "STRING",
"value": "case"
},
{
"type": "STRING",
"value": "CASE"
}
]
},
"named": false,
"value": "case"
},
"_kw_catch": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Catch"
},
{
"type": "STRING",
"value": "catch"
},
{
"type": "STRING",
"value": "CATCH"
}
]
},
"named": false,
"value": "catch"
},
"_kw_component": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Component"
},
{
"type": "STRING",
"value": "component"
},
{
"type": "STRING",
"value": "COMPONENT"
}
]
},
"named": false,
"value": "component"
},
"_kw_continue": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Continue"
},
{
"type": "STRING",
"value": "continue"
},
{
"type": "STRING",
"value": "CONTINUE"
}
]
},
"named": false,
"value": "continue"
},
"_kw_debugger": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Debugger"
},
{
"type": "STRING",
"value": "debugger"
},
{
"type": "STRING",
"value": "DEBUGGER"
}
]
},
"named": false,
"value": "debugger"
},
"_kw_default": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Default"
},
{
"type": "STRING",
"value": "default"
},
{
"type": "STRING",
"value": "DEFAULT"
}
]
},
"named": false,
"value": "default"
},
"_kw_do": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Do"
},
{
"type": "STRING",
"value": "do"
},
{
"type": "STRING",
"value": "DO"
}
]
},
"named": false,
"value": "do"
},
"_kw_else": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Else"
},
{
"type": "STRING",
"value": "else"
},
{
"type": "STRING",
"value": "ELSE"
}
]
},
"named": false,
"value": "else"
},
"_kw_export": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Export"
},
{
"type": "STRING",
"value": "export"
},
{
"type": "STRING",
"value": "EXPORT"
}
]
},
"named": false,
"value": "export"
},
"_kw_final": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Final"
},
{
"type": "STRING",
"value": "final"
},
{
"type": "STRING",
"value": "FINAL"
}
]
},
"named": false,
"value": "final"
},
"_kw_finally": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Finally"
},
{
"type": "STRING",
"value": "finally"
},
{
"type": "STRING",
"value": "FINALLY"
}
]
},
"named": false,
"value": "finally"
},
"_kw_for": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "For"
},
{
"type": "STRING",
"value": "for"
},
{
"type": "STRING",
"value": "FOR"
}
]
},
"named": false,
"value": "for"
},
"_kw_function": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Function"
},
{
"type": "STRING",
"value": "function"
},
{
"type": "STRING",
"value": "FUNCTION"
}
]
},
"named": false,
"value": "function"
},
"_kw_get": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Get"
},
{
"type": "STRING",
"value": "get"
},
{
"type": "STRING",
"value": "GET"
}
]
},
"named": false,
"value": "get"
},
"_kw_if": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "If"
},
{
"type": "STRING",
"value": "if"
},
{
"type": "STRING",
"value": "IF"
}
]
},
"named": false,
"value": "if"
},
"_kw_import": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Import"
},
{
"type": "STRING",
"value": "import"
},
{
"type": "STRING",
"value": "IMPORT"
}
]
},
"named": false,
"value": "import"
},
"_kw_in": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "In"
},
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "IN"
}
]
},
"named": false,
"value": "in"
},
"_kw_instanceof": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "InstanceOf"
},
{
"type": "STRING",
"value": "instanceof"
},
{
"type": "STRING",
"value": "INSTANCEOF"
},
{
"type": "STRING",
"value": "instanceOf"
}
]
},
"named": false,
"value": "instanceof"
},
"_kw_let": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Let"
},
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "LET"
}
]
},
"named": false,
"value": "let"
},
"_kw_new": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "New"
},
{
"type": "STRING",
"value": "new"
},
{
"type": "STRING",
"value": "NEW"
}
]
},
"named": false,
"value": "new"
},
"_kw_package": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Package"
},
{
"type": "STRING",
"value": "package"
},
{
"type": "STRING",
"value": "PACKAGE"
}
]
},
"named": false,
"value": "package"
},
"_kw_private": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Private"
},
{
"type": "STRING",
"value": "private"
},
{
"type": "STRING",
"value": "PRIVATE"
}
]
},
"named": false,
"value": "private"
},
"_kw_public": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Public"
},
{
"type": "STRING",
"value": "public"
},
{
"type": "STRING",
"value": "PUBLIC"
}
]
},
"named": false,
"value": "public"
},
"_kw_remote": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Remote"
},
{
"type": "STRING",
"value": "remote"
},
{
"type": "STRING",
"value": "REMOTE"
}
]
},
"named": false,
"value": "remote"
},
"_kw_return": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Return"
},
{
"type": "STRING",
"value": "return"
},
{
"type": "STRING",
"value": "RETURN"
}
]
},
"named": false,
"value": "return"
},
"_kw_set": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Set"
},
{
"type": "STRING",
"value": "set"
},
{
"type": "STRING",
"value": "SET"
}
]
},
"named": false,
"value": "set"
},
"_kw_static": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Static"
},
{
"type": "STRING",
"value": "static"
},
{
"type": "STRING",
"value": "STATIC"
}
]
},
"named": false,
"value": "static"
},
"_kw_switch": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Switch"
},
{
"type": "STRING",
"value": "switch"
},
{
"type": "STRING",
"value": "SWITCH"
}
]
},
"named": false,
"value": "switch"
},
"_kw_throw": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Throw"
},
{
"type": "STRING",
"value": "throw"
},
{
"type": "STRING",
"value": "THROW"
}
]
},
"named": false,
"value": "throw"
},
"_kw_try": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Try"
},
{
"type": "STRING",
"value": "try"
},
{
"type": "STRING",
"value": "TRY"
}
]
},
"named": false,
"value": "try"
},
"_kw_var": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Var"
},
{
"type": "STRING",
"value": "var"
},
{
"type": "STRING",
"value": "VAR"
}
]
},
"named": false,
"value": "var"
},
"_kw_while": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "While"
},
{
"type": "STRING",
"value": "while"
},
{
"type": "STRING",
"value": "WHILE"
}
]
},
"named": false,
"value": "while"
},
"_kw_with": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "With"
},
{
"type": "STRING",
"value": "with"
},
{
"type": "STRING",
"value": "WITH"
}
]
},
"named": false,
"value": "with"
},
"_kw_xml": {
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "Xml"
},
{
"type": "STRING",
"value": "xml"
},
{
"type": "STRING",
"value": "XML"
}
]
},
"named": false,
"value": "xml"
}
},
"extras": [
{
"type": "SYMBOL",
"name": "cf_comment"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "PATTERN",
"value": "[\\s\\p{Zs}\\uFEFF\\u2028\\u2029\\u2060\\u200B]"
}
],
"conflicts": [
[
"primary_expression",
"new_expression"
],
[
"new_expression",
"pattern"
],
[
"primary_expression",
"new_expression",
"_property_name"
],
[
"variable_declaration",
"primary_expression",
"_property_name"
],
[
"variable_declaration",
"access_type"
],
[
"variable_declaration",
"primary_expression"
],
[
"object",
"object_pattern"
],
[
"primary_expression",
"pattern"
],
[
"assignment_expression",
"pattern"
],
[
"primary_expression",
"path"
],
[
"primary_expression",
"parameter_type"
],
[
"primary_expression",
"parameter_type",
"pattern"
],
[
"parameter_type",
"pattern"
],
[
"primary_expression",
"_property_name"
],
[
"primary_expression",
"method_definition"
],
[
"primary_expression",
"rest_pattern"
],
[
"primary_expression",
"_for_header"
],
[
"array",
"array_pattern"
],
[
"assignment_expression",
"object_assignment_pattern"
],
[
"labeled_statement",
"_property_name"
],
[
"computed_property_name",
"array"
],
[
"assignment_expression",
"_initializer",
"binary_expression"
],
[
"assignment_expression",
"_hash_always_eval"
],
[
"method_definition",
"access_type"
],
[
"switch_case",
"expression"
],
[
"expression",
"parenthesized_expression"
],
[
"function_expression",
"pattern"
],
[
"expression",
"expression_statement"
],
[
"expression",
"arguments"
],
[
"parenthesized_expression",
"expression",
"arguments"
],
[
"parenthesized_expression",
"arguments"
],
[
"sequence_expression",
"arguments"
],
[
"expression",
"assignment_expression"
],
[
"expression",
"return_statement"
],
[
"expression",
"throw_statement"
],
[
"expression",
"for_statement"
],
[
"expression",
"_cf_tag_expression"
],
[
"expression",
"function_expression"
],
[
"assignment_expression",
"_property_name"
],
[
"object_assignment_pattern",
"_property_name"
],
[
"object_assignment_pattern",
"assignment_expression",
"_property_name"
],
[
"call_expression",
"_property_name"
],
[
"_for_header",
"expression"
],
[
"parameter_attribute",
"assignment_expression",
"pattern"
],
[
"cf_output_tag",
"query_comparison_expression"
],
[
"cf_output_tag",
"query_assignment_expression"
],
[
"parenthesized_query_node",
"query_open_paren"
]
],
"precedences": [
[
{
"type": "STRING",
"value": "member"
},
{
"type": "STRING",
"value": "call"
},
{
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "STRING",
"value": "unary_void"
},
{
"type": "STRING",
"value": "binary_is"
},
{
"type": "STRING",
"value": "binary_not"
},
{
"type": "STRING",
"value": "binary_exp"
},
{
"type": "STRING",
"value": "binary_times"
},
{
"type": "STRING",
"value": "binary_plus"
},
{
"type": "STRING",
"value": "binary_shift"
},
{
"type": "STRING",
"value": "binary_compare"
},
{
"type": "STRING",
"value": "binary_relation"
},
{
"type": "STRING",
"value": "binary_equality"
},
{
"type": "STRING",
"value": "bitwise_and"
},
{
"type": "STRING",
"value": "bitwise_xor"
},
{
"type": "STRING",
"value": "bitwise_or"
},
{
"type": "STRING",
"value": "logical_and"
},
{
"type": "STRING",
"value": "logical_xor"
},
{
"type": "STRING",
"value": "logical_or"
},
{
"type": "STRING",
"value": "ternary"
},
{
"type": "STRING",
"value": "elvis"
},
{
"type": "SYMBOL",
"name": "sequence_expression"
},
{
"type": "SYMBOL",
"name": "arrow_function"
},
{
"type": "STRING",
"value": "query_repeat"
}
],
[
{
"type": "STRING",
"value": "assign"
},
{
"type": "SYMBOL",
"name": "primary_expression"
},
{
"type": "STRING",
"value": "query_repeat"
}
],
[
{
"type": "STRING",
"value": "member"
},
{
"type": "STRING",
"value": "new"
},
{
"type": "STRING",
"value": "call"
},
{
"type": "SYMBOL",
"name": "expression"
}
],
[
{
"type": "STRING",
"value": "declaration"
},
{
"type": "STRING",
"value": "literal"
}
],
[
{
"type": "SYMBOL",
"name": "primary_expression"
},
{
"type": "SYMBOL",
"name": "statement_block"
},
{
"type": "STRING",
"value": "object"
}
]
],
"externals": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "SYMBOL",
"name": "_ternary_qmark"
},
{
"type": "SYMBOL",
"name": "_elvis_operator"
},
{
"type": "SYMBOL",
"name": "logical_or"
},
{
"type": "SYMBOL",
"name": "_start_cf_tag_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_tag_name"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag_name"
},
{
"type": "SYMBOL",
"name": "_cf_self_closing_tag_delimiter"
},
{
"type": "SYMBOL",
"name": "_cf_self_closing_void_tag_delimiter"
},
{
"type": "SYMBOL",
"name": "implicit_cf_end_tag"
},
{
"type": "SYMBOL",
"name": "raw_text"
},
{
"type": "SYMBOL",
"name": "cf_comment"
},
{
"type": "SYMBOL",
"name": "_close_tag_delim"
},
{
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
{
"type": "SYMBOL",
"name": "html_text"
},
{
"type": "SYMBOL",
"name": "_start_cf_void_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_set_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_if_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_if_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_elseif_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_else_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_return_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_output_name"
}
],
"inline": [
"_kw_abstract",
"_kw_break",
"_kw_case",
"_kw_catch",
"_kw_component",
"_kw_continue",
"_kw_debugger",
"_kw_default",
"_kw_do",
"_kw_else",
"_kw_export",
"_kw_final",
"_kw_finally",
"_kw_for",
"_kw_function",
"_kw_get",
"_kw_if",
"_kw_import",
"_kw_in",
"_kw_instanceof",
"_kw_let",
"_kw_new",
"_kw_package",
"_kw_private",
"_kw_public",
"_kw_remote",
"_kw_return",
"_kw_set",
"_kw_static",
"_kw_switch",
"_kw_throw",
"_kw_try",
"_kw_var",
"_kw_while",
"_kw_with",
"_call_signature",
"_formal_parameter",
"_expressions",
"_semicolon",
"_identifier",
"_reserved_identifier",
"_lhs_expression"
],
"supertypes": [
"statement",
"declaration",
"expression",
"primary_expression",
"pattern"
],
"reserved": {}
}