{
"name": "angular",
"rules": {
"document": {
"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": "STRING",
"value": ">"
}
]
},
"_doctype": {
"type": "PATTERN",
"value": "[Dd][Oo][Cc][Tt][Yy][Pp][Ee]"
},
"_node": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "icu_expression"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "interpolation"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "_any_statement"
}
},
{
"type": "SYMBOL",
"name": "at_sign"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "doctype"
},
{
"type": "SYMBOL",
"name": "entity"
},
{
"type": "SYMBOL",
"name": "text"
},
{
"type": "SYMBOL",
"name": "element"
},
{
"type": "SYMBOL",
"name": "script_element"
},
{
"type": "SYMBOL",
"name": "style_element"
},
{
"type": "SYMBOL",
"name": "erroneous_end_tag"
}
]
}
]
},
"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"
}
]
},
"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"
}
]
},
"start_tag": {
"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": "attribute"
}
},
{
"type": "STRING",
"value": ">"
}
]
},
"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": "attribute"
}
},
{
"type": "STRING",
"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": "attribute"
}
},
{
"type": "STRING",
"value": ">"
}
]
},
"self_closing_tag": {
"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": "attribute"
}
},
{
"type": "STRING",
"value": "/>"
}
]
},
"end_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "</"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_end_tag_name"
},
"named": true,
"value": "tag_name"
},
{
"type": "STRING",
"value": ">"
}
]
},
"erroneous_end_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "</"
},
{
"type": "SYMBOL",
"name": "erroneous_end_tag_name"
},
{
"type": "STRING",
"value": ">"
}
]
},
"attribute": {
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "property_binding"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "two_way_binding"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "animation_binding"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "event_binding"
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "structural_directive"
}
},
{
"type": "SYMBOL",
"name": "_normal_attribute"
}
]
},
"attribute_name": {
"type": "PATTERN",
"value": "[^<>\\*.\\[\\]\\(\\)\"'=\\s]+"
},
"attribute_value": {
"type": "PATTERN",
"value": "[^<>\"'=\\s]+"
},
"entity": {
"type": "PATTERN",
"value": "&(#([xX][0-9a-fA-F]{1,6}|[0-9]{1,5})|[A-Za-z]{1,30});?"
},
"quoted_attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^']+"
},
"named": true,
"value": "attribute_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\"]+"
},
"named": true,
"value": "attribute_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "\""
}
]
}
]
},
"text": {
"type": "PATTERN",
"value": "[^<>{}&@\\s]([^<>{}&@]*[^<>{}&@\\s])?"
},
"statement_block": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "STRING",
"value": "}"
}
]
}
},
"_any_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "for_statement"
},
{
"type": "SYMBOL",
"name": "defer_statement"
},
{
"type": "SYMBOL",
"name": "switch_statement"
},
{
"type": "SYMBOL",
"name": "let_statement"
},
{
"type": "SYMBOL",
"name": "_alternative_statement"
}
]
},
"_alternative_statement": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "SYMBOL",
"name": "else_statement"
}
},
{
"type": "FIELD",
"name": "alternative_condition",
"content": {
"type": "SYMBOL",
"name": "else_if_statement"
}
},
{
"type": "FIELD",
"name": "empty",
"content": {
"type": "SYMBOL",
"name": "empty_statement"
}
},
{
"type": "FIELD",
"name": "placeholder",
"content": {
"type": "SYMBOL",
"name": "placeholder_statement"
}
},
{
"type": "FIELD",
"name": "loading",
"content": {
"type": "SYMBOL",
"name": "loading_statement"
}
},
{
"type": "FIELD",
"name": "error",
"content": {
"type": "SYMBOL",
"name": "error_statement"
}
}
]
},
"let_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "let_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "SYMBOL",
"name": "assignment_expression"
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"switch_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "switch_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "switch_body"
}
}
]
}
},
"switch_body": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "case_statement"
},
{
"type": "SYMBOL",
"name": "default_statement"
}
]
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"case_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "case_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"default_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "default_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"defer_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "defer_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "defer_trigger"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"placeholder_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "placeholder_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "placeholder_minimum"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"loading_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "loading_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loading_condition"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"error_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "error_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"defer_trigger": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "defer_trigger_condition"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "defer_trigger_condition"
}
}
]
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"placeholder_minimum": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "minimum",
"content": {
"type": "SYMBOL",
"name": "timed_expression"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"loading_condition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "timed_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "timed_expression"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"defer_trigger_condition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "prefetch"
},
"named": true,
"value": "prefetch_keyword"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "when"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "trigger",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "on"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "trigger",
"content": {
"type": "SYMBOL",
"name": "_primitive"
}
}
]
}
]
}
]
},
"timed_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "after"
},
{
"type": "STRING",
"value": "minimum"
}
]
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "number"
}
}
]
},
"for_statement": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "for_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "declaration",
"content": {
"type": "SYMBOL",
"name": "for_declaration"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "references",
"content": {
"type": "SYMBOL",
"name": "for_references"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"empty_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "empty_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
},
"for_declaration": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "of"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ";"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "track"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "track",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
}
]
},
"for_references": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "FIELD",
"name": "reference",
"content": {
"type": "SYMBOL",
"name": "for_reference"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "FIELD",
"name": "reference",
"content": {
"type": "SYMBOL",
"name": "for_reference"
}
}
]
}
}
]
},
"for_reference": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "let"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "assignment_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "assignment_expression"
}
}
]
}
}
]
},
"if_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "if_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "if_condition"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "reference",
"content": {
"type": "SYMBOL",
"name": "if_reference"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_alternative_statement"
}
},
{
"type": "BLANK"
}
]
}
]
}
},
"else_if_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "else_if_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "if_condition"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "reference",
"content": {
"type": "SYMBOL",
"name": "if_reference"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"else_statement": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "else_start"
},
"named": true,
"value": "control_keyword"
},
{
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement_block"
}
}
]
}
},
"if_condition": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
},
"if_reference": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "as"
},
"named": true,
"value": "special_keyword"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"_any_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "ternary_expression"
},
{
"type": "SYMBOL",
"name": "nullish_coalescing_expression"
},
{
"type": "PREC",
"value": 3,
"content": {
"type": "SYMBOL",
"name": "conditional_expression"
}
}
]
},
"assignment_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
}
]
},
"icu_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
},
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "icu_clause"
},
{
"type": "STRING",
"value": ","
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "icu_case"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"icu_clause": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "plural"
},
{
"type": "STRING",
"value": "select"
}
]
},
"icu_case": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "icu_category"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_node"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"icu_category": {
"type": "PATTERN",
"value": "[^{}]+",
"flags": "i"
},
"interpolation": {
"type": "PREC_RIGHT",
"value": 5,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_interpolation_start"
},
"named": false,
"value": "{{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_interpolation_end"
},
"named": false,
"value": "}}"
}
]
}
},
"structural_directive": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_double_quote"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "structural_declaration"
},
{
"type": "SYMBOL",
"name": "structural_expression"
}
]
},
{
"type": "SYMBOL",
"name": "_double_quote"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"structural_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_alias"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_structural_let_expression"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_then_template_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_else_template_expression"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_context_expression"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"structural_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "let"
},
"named": true,
"value": "special_keyword"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "structural_assignment"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "STRING",
"value": ","
}
]
},
{
"type": "SYMBOL",
"name": "structural_assignment"
}
]
}
}
]
}
]
},
"structural_assignment": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "let"
},
"named": true,
"value": "special_keyword"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "of"
}
]
}
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_alias"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_alias"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"_alias": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "as"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "alias",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
"_then_template_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "then"
},
"named": true,
"value": "special_keyword"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"_else_template_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "else"
},
"named": true,
"value": "special_keyword"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
},
"_context_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "context"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "named",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
},
"_structural_let_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "let"
},
"named": true,
"value": "special_keyword"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_alias"
},
{
"type": "BLANK"
}
]
}
]
},
"property_binding": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "binding_name"
},
{
"type": "STRING",
"value": "]"
},
{
"type": "SYMBOL",
"name": "_binding_assignment"
}
]
},
"event_binding": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "binding_name"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "_binding_assignment"
}
]
},
"two_way_binding": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "[("
},
{
"type": "SYMBOL",
"name": "binding_name"
},
{
"type": "STRING",
"value": ")]"
},
{
"type": "SYMBOL",
"name": "_binding_assignment"
}
]
},
"animation_binding": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "[@"
},
{
"type": "SYMBOL",
"name": "binding_name"
},
{
"type": "STRING",
"value": "]"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "trigger",
"content": {
"type": "SYMBOL",
"name": "_binding_assignment"
}
},
{
"type": "BLANK"
}
]
}
]
},
"_binding_assignment": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "_double_quote"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
},
{
"type": "SYMBOL",
"name": "assignment_expression"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
},
{
"type": "SYMBOL",
"name": "assignment_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
{
"type": "SYMBOL",
"name": "_double_quote"
}
]
},
"binding_name": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "member_expression"
}
]
}
]
},
"_attribute_node": {
"type": "CHOICE",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^\"]"
}
},
{
"type": "SYMBOL",
"name": "_escape_sequence"
}
]
}
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "interpolation"
}
}
]
},
"_normal_attribute": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attribute_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_double_quote"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^\"{]+"
}
},
"named": true,
"value": "string_content"
},
{
"type": "SYMBOL",
"name": "_escape_sequence"
},
{
"type": "SYMBOL",
"name": "interpolation"
}
]
}
},
{
"type": "SYMBOL",
"name": "_double_quote"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_single_quote"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^'{]+"
}
},
"named": true,
"value": "string_content"
},
{
"type": "SYMBOL",
"name": "_escape_sequence"
},
{
"type": "SYMBOL",
"name": "interpolation"
}
]
}
},
{
"type": "SYMBOL",
"name": "_single_quote"
}
]
}
]
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"expression": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_primitive"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "pipes",
"content": {
"type": "SYMBOL",
"name": "pipe_sequence"
}
},
{
"type": "BLANK"
}
]
}
]
}
},
"unary_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "!"
},
"named": true,
"value": "unary_operator"
}
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
}
]
}
}
]
},
"binary_expression": {
"type": "PREC_LEFT",
"value": 2,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
}
]
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "SYMBOL",
"name": "_binary_op"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
"ternary_expression": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "?"
},
"named": true,
"value": "ternary_operator"
},
{
"type": "FIELD",
"name": "consequence",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "group"
},
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
}
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": ":"
},
"named": true,
"value": "ternary_operator"
},
{
"type": "FIELD",
"name": "alternative",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "group"
},
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
}
}
]
}
},
"nullish_coalescing_expression": {
"type": "PREC_RIGHT",
"value": 4,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "??"
},
"named": true,
"value": "coalescing_operator"
},
{
"type": "FIELD",
"name": "default",
"content": {
"type": "SYMBOL",
"name": "_primitive"
}
}
]
}
},
"conditional_expression": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_primitive"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
}
]
}
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "||"
},
{
"type": "STRING",
"value": "&&"
}
]
},
"named": true,
"value": "conditional_operator"
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "conditional_expression"
}
]
}
}
]
}
},
"pipe_sequence": {
"type": "PREC_LEFT",
"value": 3,
"content": {
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "|"
},
"named": true,
"value": "pipe_operator"
},
{
"type": "SYMBOL",
"name": "pipe_call"
}
]
}
}
},
"pipe_call": {
"type": "PREC_LEFT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "pipe_arguments"
}
},
{
"type": "BLANK"
}
]
}
]
}
},
"pipe_arguments": {
"type": "PREC_LEFT",
"value": 3,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
}
]
}
}
]
}
},
"_primitive": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "object"
},
{
"type": "SYMBOL",
"name": "array"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "group"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "member_expression"
},
{
"type": "SYMBOL",
"name": "bracket_expression"
}
]
},
"object": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pair"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "pair"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"pair": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "key",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "string"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_any_expression"
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"array": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_any_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_any_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"identifier": {
"type": "PATTERN",
"value": "[a-zA-Z_\\$][a-zA-Z_0-9\\-\\$]*"
},
"_escape_sequence": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^xu0-7]"
},
{
"type": "PATTERN",
"value": "[0-7]{1,3}"
},
{
"type": "PATTERN",
"value": "x[0-9a-fA-F]{2}"
},
{
"type": "PATTERN",
"value": "u[0-9a-fA-F]{4}"
},
{
"type": "PATTERN",
"value": "u\\{[0-9a-fA-F]+\\}"
},
{
"type": "PATTERN",
"value": "[\\r?][\\n\\u2028\\u2029]"
}
]
}
]
}
},
"string": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_double_quote"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^\"]"
}
},
{
"type": "SYMBOL",
"name": "_escape_sequence"
}
]
}
},
{
"type": "SYMBOL",
"name": "_double_quote"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_single_quote"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^']"
}
},
{
"type": "SYMBOL",
"name": "_escape_sequence"
}
]
}
},
{
"type": "SYMBOL",
"name": "_single_quote"
}
]
}
]
},
"number_fragment": {
"type": "PATTERN",
"value": "\\-?[0-9]+\\.?[0-9]*"
},
"number": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "number_fragment"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "number_fragment"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "ms"
},
{
"type": "STRING",
"value": "s"
}
]
},
"named": true,
"value": "unit"
}
]
}
]
},
"group": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_any_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"call_expression": {
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "arguments"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"arguments": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
}
]
}
]
}
}
]
},
"member_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "SYMBOL",
"name": "_primitive"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "STRING",
"value": "?."
},
{
"type": "STRING",
"value": "!."
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "property",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "FIELD",
"name": "call",
"content": {
"type": "SYMBOL",
"name": "call_expression"
}
}
]
}
]
}
]
}
]
},
"bracket_expression": {
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "object",
"content": {
"type": "SYMBOL",
"name": "_primitive"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?."
},
{
"type": "STRING",
"value": "!"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "["
},
{
"type": "FIELD",
"name": "property",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "static_member_expression"
},
{
"type": "SYMBOL",
"name": "bracket_expression"
},
{
"type": "SYMBOL",
"name": "member_expression"
}
]
}
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"static_member_expression": {
"type": "SYMBOL",
"name": "_any_expression"
},
"_closing_bracket": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": -1,
"content": {
"type": "STRING",
"value": "}"
}
}
},
"_single_quote": {
"type": "STRING",
"value": "'"
},
"_double_quote": {
"type": "STRING",
"value": "\""
},
"_binary_op": {
"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": ">="
}
]
}
},
"extras": [
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "PATTERN",
"value": "\\s+"
}
],
"conflicts": [],
"precedences": [],
"externals": [
{
"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": "erroneous_end_tag_name"
},
{
"type": "STRING",
"value": "/>"
},
{
"type": "SYMBOL",
"name": "_implicit_end_tag"
},
{
"type": "SYMBOL",
"name": "raw_text"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "SYMBOL",
"name": "_interpolation_start"
},
{
"type": "SYMBOL",
"name": "_interpolation_end"
},
{
"type": "SYMBOL",
"name": "if_start"
},
{
"type": "SYMBOL",
"name": "else_start"
},
{
"type": "SYMBOL",
"name": "for_start"
},
{
"type": "SYMBOL",
"name": "switch_start"
},
{
"type": "SYMBOL",
"name": "case_start"
},
{
"type": "SYMBOL",
"name": "default_start"
},
{
"type": "SYMBOL",
"name": "defer_start"
},
{
"type": "SYMBOL",
"name": "let_start"
},
{
"type": "SYMBOL",
"name": "empty_start"
},
{
"type": "SYMBOL",
"name": "placeholder_start"
},
{
"type": "SYMBOL",
"name": "loading_start"
},
{
"type": "SYMBOL",
"name": "error_start"
},
{
"type": "SYMBOL",
"name": "else_if_start"
},
{
"type": "SYMBOL",
"name": "at_sign"
}
],
"inline": [],
"supertypes": []
}