{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "cfquery",
"rules": {
"program": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
"doctype": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<!"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_doctype"
},
"named": false,
"value": "doctype"
},
{
"type": "PATTERN",
"value": "[^>]+"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"xml_decl": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<?"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[xX][mM][lL]"
}
}
},
"named": false,
"value": "xml"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "tag_attributes"
}
},
{
"type": "STRING",
"value": "?>"
}
]
},
"_doctype": {
"type": "PATTERN",
"value": "[Dd][Oo][Cc][Tt][Yy][Pp][Ee]"
},
"cf_selfclose_void_tag_end": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_cf_self_closing_void_tag_delimiter"
},
"named": false,
"value": "/>"
},
{
"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": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][aA][rR]"
},
"named": true,
"value": "cf_var"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_cf_tag_expression"
},
{
"type": "SYMBOL",
"name": "cf_selfclose_void_tag_end"
}
]
}
},
"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"
}
]
}
},
"text": {
"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": "_hash"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag"
},
{
"type": "SYMBOL",
"name": "cfquery_segment"
}
]
},
"cfquery_segment": {
"type": "SYMBOL",
"name": "_cfquery_sql_statement"
},
"query_operator": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">="
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": ">"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<="
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "<>"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "IN"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "="
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "BETWEEN"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "EXISTS"
}
}
]
},
"_cfquery_sql_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_union_statement"
},
{
"type": "SYMBOL",
"name": "cfquery_select_statement"
},
{
"type": "SYMBOL",
"name": "cfquery_insert_statement"
},
{
"type": "SYMBOL",
"name": "cfquery_update_statement"
},
{
"type": "SYMBOL",
"name": "cfquery_delete_statement"
}
]
},
"cfquery_select_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
},
"named": true,
"value": "keyword_select"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][iI][sS][tT][iI][nN][cC][tT]"
},
"named": true,
"value": "keyword_distinct"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_top_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "columns",
"content": {
"type": "SYMBOL",
"name": "cfquery_select_list"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_from_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_where_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_group_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_order_by_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_limit_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_union_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_select_statement"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][nN][iI][oO][nN]"
},
"named": true,
"value": "keyword_union"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
},
"named": true,
"value": "keyword_all"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "cfquery_select_statement"
}
]
}
}
]
},
"cfquery_top_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][oO][pP]"
},
"named": true,
"value": "keyword_top"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "parameter"
}
]
}
]
},
"cfquery_select_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "FIELD",
"name": "column",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "column",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]"
},
"named": true,
"value": "keyword_as"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "FIELD",
"name": "column",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "column",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]"
},
"named": true,
"value": "keyword_as"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
]
}
]
}
}
]
},
"cfquery_from_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
},
"named": true,
"value": "keyword_from"
},
{
"type": "FIELD",
"name": "tables",
"content": {
"type": "SYMBOL",
"name": "cfquery_from_table_list"
}
}
]
},
"cfquery_from_table_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_table_reference"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_table_reference"
}
}
]
}
}
]
},
"cfquery_table_reference": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS]"
},
"named": true,
"value": "keyword_as"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cfquery_join_clause"
}
}
]
},
"cfquery_join_clause": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "join_type",
"content": {
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][nN][eE][rR]"
},
"named": true,
"value": "keyword_inner"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][eE][fF][tT]"
},
"named": true,
"value": "keyword_left"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[rR][iI][gG][hH][tT]"
},
"named": true,
"value": "keyword_right"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][uU][lL][lL]"
},
"named": true,
"value": "keyword_full"
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][uU][tT][eE][rR]"
},
"named": true,
"value": "keyword_outer"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[jJ][oO][iI][nN]"
},
"named": true,
"value": "keyword_join"
},
{
"type": "FIELD",
"name": "table",
"content": {
"type": "SYMBOL",
"name": "cfquery_table_reference"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][nN]"
},
"named": true,
"value": "keyword_on"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
},
"cfquery_where_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][rR][eE]"
},
"named": true,
"value": "keyword_where"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
},
"cfquery_group_by_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[gG][rR][oO][uU][pP]"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": true,
"value": "keyword_group_by"
},
{
"type": "SYMBOL",
"name": "cfquery_group_by_expression_list"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_having_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_group_by_expression_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
}
]
},
"cfquery_having_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[hH][aA][vV][iI][nN][gG]"
},
"named": true,
"value": "keyword_having"
},
{
"type": "SYMBOL",
"name": "cfquery_expression"
}
]
},
"cfquery_order_by_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[oO][rR][dD][eE][rR]"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "PATTERN",
"value": "[bB][yY]"
}
]
},
"named": true,
"value": "keyword_order_by"
},
{
"type": "SYMBOL",
"name": "cfquery_order_by_expression_list"
}
]
},
"cfquery_order_by_expression_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_order_by_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_order_by_expression"
}
}
]
}
}
]
},
"cfquery_order_by_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][sS][cC]"
},
"named": true,
"value": "keyword_asc"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][sS][cC]"
},
"named": true,
"value": "keyword_desc"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_limit_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT]"
},
"named": true,
"value": "keyword_limit"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "parameter"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][fF][fF][sS][eE][tT]"
},
"named": true,
"value": "keyword_offset"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "parameter"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_insert_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][sS][eE][rR][tT]"
},
"named": true,
"value": "keyword_insert"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][oO]"
},
"named": true,
"value": "keyword_into"
},
{
"type": "FIELD",
"name": "table",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "columns",
"content": {
"type": "SYMBOL",
"name": "cfquery_column_list"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[vV][aA][lL][uU][eE][sS]"
},
"named": true,
"value": "keyword_values"
},
{
"type": "FIELD",
"name": "values",
"content": {
"type": "SYMBOL",
"name": "cfquery_value_list"
}
}
]
},
"cfquery_column_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "cfquery_column_list_body"
},
{
"type": "STRING",
"value": ")"
}
]
},
"cfquery_column_list_body": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
}
]
},
"cfquery_value_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "cfquery_value_list_body"
},
{
"type": "STRING",
"value": ")"
}
]
},
"cfquery_value_list_body": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
}
]
},
"cfquery_update_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[uU][pP][dD][aA][tT][eE]"
},
"named": true,
"value": "keyword_update"
},
{
"type": "FIELD",
"name": "table",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[sS][eE][tT]"
},
"named": true,
"value": "keyword_set"
},
{
"type": "SYMBOL",
"name": "cfquery_assignment_list"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_where_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_assignment_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_assignment"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_assignment"
}
}
]
}
}
]
},
"cfquery_assignment": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "column",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
},
"cfquery_delete_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][eE][tT][eE]"
},
"named": true,
"value": "keyword_delete"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[fF][rR][oO][mM]"
},
"named": true,
"value": "keyword_from"
},
{
"type": "FIELD",
"name": "table",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_where_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"cfquery_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_exists_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_case_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_between_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_in_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_binary_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_unary_expression"
},
{
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
]
},
"cfquery_between_expression": {
"type": "PREC",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[bB][eE][tT][wW][eE][eE][nN]"
},
"named": true,
"value": "keyword_between"
},
{
"type": "FIELD",
"name": "lower",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
},
"named": true,
"value": "keyword_and"
},
{
"type": "FIELD",
"name": "upper",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
}
]
}
},
"cfquery_in_expression": {
"type": "PREC",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
},
"named": true,
"value": "keyword_in"
},
{
"type": "FIELD",
"name": "set",
"content": {
"type": "SYMBOL",
"name": "cfquery_in_list"
}
}
]
}
},
"cfquery_in_list": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "cfquery_in_list_body"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SYMBOL",
"name": "cfquery_subquery"
}
]
},
"cfquery_in_list_body": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
}
]
},
"cfquery_subquery": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "cfquery_select_statement"
},
{
"type": "STRING",
"value": ")"
}
]
},
"cfquery_exists_expression": {
"type": "PREC",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][xX][iI][sS][tT][sS]"
},
"named": true,
"value": "keyword_exists"
},
{
"type": "SYMBOL",
"name": "cfquery_subquery"
}
]
}
},
"cfquery_case_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
},
"named": true,
"value": "keyword_case"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "cfquery_when_clause"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_else_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
},
"named": true,
"value": "keyword_end"
}
]
},
"cfquery_when_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
},
"named": true,
"value": "keyword_when"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
},
"named": true,
"value": "keyword_then"
},
{
"type": "FIELD",
"name": "result",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
},
"cfquery_else_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"named": true,
"value": "keyword_else"
},
{
"type": "FIELD",
"name": "result",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
},
"cfquery_binary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
},
"named": true,
"value": "keyword_or"
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
},
"named": true,
"value": "keyword_and"
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"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": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[lL][iI][kK][eE]"
},
"named": true,
"value": "keyword_like"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][lL][iI][kK][eE]"
},
"named": true,
"value": "keyword_ilike"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 5,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 6,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
},
"named": true,
"value": "keyword_mod"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "cfquery_primary_expression"
}
}
]
}
}
]
},
"cfquery_unary_expression": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
},
"named": true,
"value": "keyword_not"
},
{
"type": "FIELD",
"name": "operand",
"content": {
"type": "SYMBOL",
"name": "cfquery_expression"
}
}
]
}
},
"cfquery_primary_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "cfquery_parenthesized_expression"
},
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "SYMBOL",
"name": "qualified_identifier"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "parameter"
},
{
"type": "SYMBOL",
"name": "hash_param"
}
]
},
"cfquery_parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "cfquery_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"parameter": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
]
},
"hash_param": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "SYMBOL",
"name": "cf_identifier_path"
},
{
"type": "STRING",
"value": "#"
}
]
},
"cf_identifier_path": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "STRING",
"value": "]"
}
]
}
]
}
}
]
},
"qualified_identifier": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
"named": true,
"value": "identifier"
},
"function_call": {
"type": "ALIAS",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "function_call_args"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"named": true,
"value": "identifier"
},
"function_call_args": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "first",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "rest",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
}
]
},
"_cfoutput_node": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "doctype"
},
{
"type": "SYMBOL",
"name": "entity"
},
{
"type": "SYMBOL",
"name": "element"
},
{
"type": "SYMBOL",
"name": "_cf_tags"
},
{
"type": "SYMBOL",
"name": "_hash_expression"
},
{
"type": "SYMBOL",
"name": "script_element"
},
{
"type": "SYMBOL",
"name": "style_element"
},
{
"type": "SYMBOL",
"name": "text"
},
{
"type": "SYMBOL",
"name": "erroneous_end_tag"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag"
},
{
"type": "SYMBOL",
"name": "xml_decl"
}
]
},
"_cf_open_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[<<][cC][fF]"
}
}
},
"named": false,
"value": "<cf"
}
},
"_cf_close_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[<<][//][cC][fF]"
}
}
},
"named": false,
"value": "</cf"
}
},
"element": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "start_tag"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "end_tag"
},
{
"type": "SYMBOL",
"name": "implicit_end_tag"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "self_closing_tag"
}
]
},
"script_element": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "script_start_tag"
},
"named": true,
"value": "start_tag"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "raw_text"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "end_tag"
}
]
},
"start_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_start_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "tag_attributes"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"tag_attributes": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attribute"
},
{
"type": "SYMBOL",
"name": "quoted_attribute_value"
},
{
"type": "SYMBOL",
"name": "_cf_tags"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
},
"script_start_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_script_start_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "tag_attributes"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"style_start_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_style_start_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "tag_attributes"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
},
"self_closing_tag": {
"type": "PREC_RIGHT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_start_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "tag_attributes"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "/>"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
}
]
}
},
"end_tag": {
"type": "PREC_RIGHT",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "</"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_end_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"erroneous_end_tag": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "</"
},
{
"type": "SYMBOL",
"name": "erroneous_end_tag_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"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": ">"
}
]
}
},
"style_element": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "style_start_tag"
},
"named": true,
"value": "start_tag"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "raw_text"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "end_tag"
}
]
},
"hash_empty": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "STRING",
"value": "#"
}
]
},
"hash_value": {
"type": "PATTERN",
"value": "[a-zA-Z0-9_-]+"
},
"_cf_tag_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash_expression"
}
]
},
"attribute": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attribute_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attribute_value"
},
{
"type": "SYMBOL",
"name": "quoted_attribute_value"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"attribute_name": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^<>\"'=\\s#]+"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
},
"attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "_cf_tags"
}
},
{
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SYMBOL",
"name": "_hash"
}
},
{
"type": "PREC_LEFT",
"value": 3,
"content": {
"type": "PATTERN",
"value": "[^\"'=\\s\\n\\r\\t#]+"
}
}
]
},
"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"
},
{
"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]+"
},
"cf_tag": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "cf_start_tag"
},
{
"type": "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": "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": "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_xml_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_xml_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_attribute"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
},
{
"type": "SYMBOL",
"name": "cf_xml_content"
},
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "SYMBOL",
"name": "_end_cf_xml_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"cf_query_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_query_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_attribute"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
},
{
"type": "SYMBOL",
"name": "cf_query_content"
},
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "SYMBOL",
"name": "_end_cf_query_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"cf_script_tag": {
"type": "PREC_RIGHT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_cf_open_tag"
},
{
"type": "SYMBOL",
"name": "_start_cf_script_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "cf_attribute"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
},
{
"type": "SYMBOL",
"name": "cf_script_content"
},
{
"type": "SYMBOL",
"name": "_cf_close_tag"
},
{
"type": "SYMBOL",
"name": "_end_cf_script_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_close_cf_tag_delim"
},
"named": false,
"value": ">"
}
]
}
},
"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": "_cfoutput_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_return_tag"
},
{
"type": "SYMBOL",
"name": "cf_tag"
},
{
"type": "SYMBOL",
"name": "cf_xml_tag"
},
{
"type": "SYMBOL",
"name": "cf_query_tag"
},
{
"type": "SYMBOL",
"name": "cf_script_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"
}
]
}
]
}
},
"entity": {
"type": "PATTERN",
"value": "&(([xX][0-9a-fA-F]{1,6}|[0-9]{1,5})|[A-Za-z]{1,30});"
},
"quoted_cf_attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_expression"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^'\\s\\n\\r\\t#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_expression"
},
{
"type": "STRING",
"value": "\"\""
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\"\\s\\n\\r\\t#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
}
]
},
"quoted_attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_cf_tags"
},
{
"type": "SYMBOL",
"name": "_hash"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^'\\s\\n\\r\\t#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_cf_tags"
},
{
"type": "SYMBOL",
"name": "_hash"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\"\\s\\n\\r\\t#]+"
},
"named": true,
"value": "attribute_value"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
}
]
},
"namespace_export": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "as"
},
{
"type": "SYMBOL",
"name": "_module_export_name"
}
]
},
"export_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "export_specifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "export_specifier"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"export_specifier": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_module_export_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "as"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "_module_export_name"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_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": "generator_function_declaration"
},
{
"type": "SYMBOL",
"name": "lexical_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
}
]
},
"import": {
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "import"
}
},
"import_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "import_attribute"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"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": "STRING",
"value": "with"
},
{
"type": "SYMBOL",
"name": "object"
}
]
},
"statement": {
"type": "CHOICE",
"members": [
{
"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": "STRING",
"value": "var"
},
{
"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"
}
]
},
"lexical_declaration": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"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": "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": "STRING",
"value": "else"
},
{
"type": "SYMBOL",
"name": "statement"
}
]
},
"if_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "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": "STRING",
"value": "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": "STRING",
"value": "for"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "initializer",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "lexical_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "expression_statement"
},
{
"type": "SYMBOL",
"name": "empty_statement"
}
]
}
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression_statement"
},
{
"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": "STRING",
"value": "for"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "BLANK"
}
]
},
{
"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": "STRING",
"value": "var"
}
},
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "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": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "of"
}
]
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_expressions"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"while_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "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": "STRING",
"value": "do"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "STRING",
"value": "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": "STRING",
"value": "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": "STRING",
"value": "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": "STRING",
"value": "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": "STRING",
"value": "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": "SEQ",
"members": [
{
"type": "STRING",
"value": "debugger"
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_semicolon"
}
]
},
"throw_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "throw"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "arguments"
},
{
"type": "SYMBOL",
"name": "string"
}
]
},
{
"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": "STRING",
"value": "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": "STRING",
"value": "default"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
},
"catch_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "catch"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"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": "STRING",
"value": "finally"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expressions"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_expressions": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
},
"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": "yield_expression"
},
{
"type": "SYMBOL",
"name": "pair"
},
{
"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": "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": "function_expression"
},
{
"type": "SYMBOL",
"name": "arrow_function"
},
{
"type": "SYMBOL",
"name": "generator_function"
},
{
"type": "SYMBOL",
"name": "meta_property"
},
{
"type": "SYMBOL",
"name": "call_expression"
}
]
},
"yield_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "yield"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "BLANK"
}
]
}
]
}
]
}
},
"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": "assignment_expression"
},
{
"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": "assignment_expression"
},
{
"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": "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": "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": "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": "spread_element"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"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": "]"
}
]
},
"function_expression": {
"type": "PREC",
"value": "literal",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"function_declaration": {
"type": "PREC_RIGHT",
"value": "declaration",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "private"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "public"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "remote"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "static"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "final"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "abstract"
}
}
]
},
"named": true,
"value": "access_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "any"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "array"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "binary"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "boolean"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "date"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "function"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "guid"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "numeric"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "query"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "string"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "struct"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "uuid"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "variablename"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "void"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "xml"
}
}
]
},
"named": true,
"value": "return_type"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
},
"generator_function": {
"type": "PREC",
"value": "literal",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "function"
},
{
"type": "STRING",
"value": "*"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"generator_function_declaration": {
"type": "PREC_RIGHT",
"value": "declaration",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "function"
},
{
"type": "STRING",
"value": "*"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "_call_signature"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "BLANK"
}
]
}
]
}
},
"arrow_function": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"type": "BLANK"
}
]
},
{
"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": "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": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "function_dec_parameters"
},
"named": true,
"value": "formal_parameters"
}
},
"_formal_parameter": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
},
{
"type": "SYMBOL",
"name": "pair_pattern"
}
]
},
"function_dec_parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_function_dec_parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_function_dec_parameter"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_function_dec_parameter": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "required"
}
},
"named": true,
"value": "required"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "any"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "array"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "binary"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "boolean"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "date"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "function"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "guid"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "numeric"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "query"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "string"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "struct"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "uuid"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "variablename"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "void"
}
},
{
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "xml"
}
}
]
},
"named": true,
"value": "type"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
}
]
},
"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": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
},
{
"type": "SYMBOL",
"name": "import"
}
]
}
},
{
"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": "STRING",
"value": "new"
},
{
"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"
}
]
}
}
]
}
},
"await_expression": {
"type": "PREC",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
},
"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": "SYMBOL",
"name": "import"
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "variables"
},
{
"type": "STRING",
"value": "arguments"
},
{
"type": "STRING",
"value": "session"
},
{
"type": "STRING",
"value": "application"
},
{
"type": "STRING",
"value": "server"
},
{
"type": "STRING",
"value": "cgi"
},
{
"type": "STRING",
"value": "form"
},
{
"type": "STRING",
"value": "url"
},
{
"type": "STRING",
"value": "cookie"
},
{
"type": "STRING",
"value": "client"
},
{
"type": "STRING",
"value": "request"
},
{
"type": "STRING",
"value": "local"
}
]
},
"named": true,
"value": "cf_scope_identifier"
}
]
},
"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": "SYMBOL",
"name": "_expressions"
}
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"_lhs_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "subscript_expression"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"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": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
"_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": "ternary",
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "STRING",
"value": "||"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"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": "instanceof"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "private_property_identifier"
}
]
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "STRING",
"value": "in"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
}
}
]
}
}
]
},
"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"
},
{
"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"
},
{
"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": "TOKEN",
"content": {
"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": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"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-zA-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": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_reserved_identifier"
},
"named": true,
"value": "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]+\\}"
}
}
]
}
},
"meta_property": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "new"
},
{
"type": "STRING",
"value": "."
},
{
"type": "STRING",
"value": "target"
}
]
},
"true": {
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "true"
}
},
"false": {
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "false"
}
},
"null": {
"type": "TOKEN",
"content": {
"type": "STRING",
"value": "null"
}
},
"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": "_hash"
},
{
"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": "_hash"
},
{
"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": "STRING",
"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"
}
}
]
}
},
"component": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[cC][oO][mM][pP][oO][nN][eE][nN][tT]"
}
}
},
"named": false,
"value": "component"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"field_definition": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "FIELD",
"name": "decorator",
"content": {
"type": "SYMBOL",
"name": "decorator"
}
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "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": "STRING",
"value": "static"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "static"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "STRING",
"value": "get"
},
{
"type": "PATTERN",
"value": "\\s*\\n"
}
]
}
},
"named": false,
"value": "static get"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "async"
},
{
"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"
}
}
]
},
"sequence_pair": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "pair"
}
]
}
}
]
}
},
"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": "private_property_identifier"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "computed_property_name"
},
{
"type": "SYMBOL",
"name": "_hash"
}
]
},
"_hash": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "hash_expression"
},
{
"type": "SYMBOL",
"name": "hash_empty"
}
]
},
"_hash_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "hash_expression"
},
{
"type": "SYMBOL",
"name": "hash_empty"
}
]
},
"hash_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"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": "STRING",
"value": "get"
},
{
"type": "STRING",
"value": "set"
},
{
"type": "STRING",
"value": "static"
},
{
"type": "STRING",
"value": "export"
},
{
"type": "STRING",
"value": "let"
}
]
},
"_semicolon": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"extras": [
{
"type": "SYMBOL",
"name": "cf_comment"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "PATTERN",
"value": "[\\s\\p{Zs}\\uFEFF\\u2028\\u2029\\u2060\\u200B]"
}
],
"conflicts": [
[
"primary_expression",
"_property_name"
],
[
"primary_expression",
"method_definition"
],
[
"primary_expression",
"rest_pattern"
],
[
"primary_expression",
"pattern"
],
[
"primary_expression",
"_for_header"
],
[
"array",
"array_pattern"
],
[
"object",
"object_pattern"
],
[
"assignment_expression",
"pattern"
],
[
"assignment_expression",
"object_assignment_pattern"
],
[
"labeled_statement",
"_property_name"
],
[
"computed_property_name",
"array"
],
[
"binary_expression",
"_initializer"
],
[
"tag_attributes",
"attribute_name"
],
[
"arrow_function",
"binary_expression"
],
[
"arrow_function",
"call_expression"
],
[
"arrow_function",
"subscript_expression"
],
[
"arrow_function",
"member_expression"
],
[
"arrow_function",
"member_expression",
"subscript_expression"
],
[
"arrow_function",
"update_expression"
],
[
"arrow_function",
"ternary_expression"
],
[
"arrow_function",
"elvis_expression"
],
[
"function_expression",
"primary_expression"
],
[
"pair",
"binary_expression"
],
[
"call_expression",
"pair"
],
[
"subscript_expression",
"pair"
],
[
"member_expression",
"subscript_expression",
"pair"
],
[
"member_expression",
"pair"
],
[
"update_expression",
"pair"
],
[
"ternary_expression",
"pair"
],
[
"elvis_expression",
"pair"
],
[
"hash_expression",
"hash_empty"
],
[
"assignment_expression",
"_property_name"
],
[
"switch_case",
"_property_name"
],
[
"call_expression",
"_property_name"
],
[
"binary_expression",
"_property_name"
]
],
"precedences": [
[
{
"type": "STRING",
"value": "member"
},
{
"type": "STRING",
"value": "template_call"
},
{
"type": "STRING",
"value": "call"
},
{
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "STRING",
"value": "unary_void"
},
{
"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": "ternary"
},
{
"type": "SYMBOL",
"name": "ternary_expression"
}
],
[
{
"type": "STRING",
"value": "elvis"
},
{
"type": "SYMBOL",
"name": "elvis_expression"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "logical_and"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "logical_xor"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_shift"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "bitwise_and"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "bitwise_xor"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "bitwise_or"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "logical_or"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_plus"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_times"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_exp"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_relation"
}
],
[
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "STRING",
"value": "binary_equality"
}
],
[
{
"type": "STRING",
"value": "unary_void"
},
{
"type": "SYMBOL",
"name": "unary_expression"
}
],
[
{
"type": "STRING",
"value": "assign"
},
{
"type": "SYMBOL",
"name": "primary_expression"
}
],
[
{
"type": "STRING",
"value": "member"
},
{
"type": "STRING",
"value": "template_call"
},
{
"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"
}
],
[
{
"type": "SYMBOL",
"name": "meta_property"
},
{
"type": "SYMBOL",
"name": "import"
}
],
[
{
"type": "SYMBOL",
"name": "import_statement"
},
{
"type": "SYMBOL",
"name": "import"
}
],
[
{
"type": "SYMBOL",
"name": "lexical_declaration"
},
{
"type": "SYMBOL",
"name": "primary_expression"
}
]
],
"externals": [
{
"type": "SYMBOL",
"name": "_automatic_semicolon"
},
{
"type": "SYMBOL",
"name": "_ternary_qmark"
},
{
"type": "SYMBOL",
"name": "_elvis_operator"
},
{
"type": "STRING",
"value": "||"
},
{
"type": "SYMBOL",
"name": "_start_tag_name"
},
{
"type": "SYMBOL",
"name": "_script_start_tag_name"
},
{
"type": "SYMBOL",
"name": "_style_start_tag_name"
},
{
"type": "SYMBOL",
"name": "_end_tag_name"
},
{
"type": "SYMBOL",
"name": "_start_cf_tag_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_tag_name"
},
{
"type": "SYMBOL",
"name": "erroneous_end_tag_name"
},
{
"type": "SYMBOL",
"name": "erroneous_cf_end_tag_name"
},
{
"type": "STRING",
"value": "/>"
},
{
"type": "SYMBOL",
"name": "_cf_self_closing_tag_delimiter"
},
{
"type": "SYMBOL",
"name": "_cf_self_closing_void_tag_delimiter"
},
{
"type": "SYMBOL",
"name": "implicit_end_tag"
},
{
"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_return_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_xml_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_xml_name"
},
{
"type": "SYMBOL",
"name": "cf_xml_content"
},
{
"type": "SYMBOL",
"name": "_start_cf_query_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_query_name"
},
{
"type": "SYMBOL",
"name": "cf_query_content"
},
{
"type": "SYMBOL",
"name": "_start_cf_script_name"
},
{
"type": "SYMBOL",
"name": "_end_cf_script_name"
},
{
"type": "SYMBOL",
"name": "cf_script_content"
},
{
"type": "SYMBOL",
"name": "_start_cf_output_name"
}
],
"inline": [
"_call_signature",
"_formal_parameter",
"_expressions",
"_semicolon",
"_identifier",
"_reserved_identifier",
"_lhs_expression"
],
"supertypes": [
"statement",
"declaration",
"expression",
"primary_expression",
"pattern",
"_cf_tags"
],
"reserved": {}
}