Merge pull request #190 from ruricolist/master

Update tree-sitter-javascript to 2cc5803
a_star_module
Martin Jambon 2021-10-19 18:48:52 +07:00 committed by GitHub
commit 6aac031ad8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 242987 additions and 236291 deletions

@ -159,8 +159,8 @@ declare module Foo {
(switch_statement
value: (parenthesized_expression (identifier))
body: (switch_body
(switch_case value: (number) (break_statement))
(switch_default (break_statement))))
(switch_case value: (number) body: (break_statement))
(switch_default body: (break_statement))))
(throw_statement (string (string_fragment)))
(try_statement
body: (statement_block)

@ -61,6 +61,7 @@ module.exports = function defineGrammar(dialect) {
[$.call_expression, $.binary_expression, $.unary_expression],
[$.call_expression, $.binary_expression, $.update_expression],
[$.call_expression, $.binary_expression, $.type_assertion],
[$.call_expression, $.binary_expression, $.await_expression],
[$.nested_identifier, $.nested_type_identifier, $.primary_expression],
[$.nested_identifier, $.nested_type_identifier],

@ -1,4 +1,4 @@
{
{
"name": "tree-sitter-typescript",
"version": "0.20.0",
"description": "Typescript grammar for tree-sitter",
@ -19,7 +19,7 @@
"main": "./bindings/node",
"devDependencies": {
"tree-sitter-cli": "^0.20.0",
"tree-sitter-javascript": "github:tree-sitter/tree-sitter-javascript#2c5b138"
"tree-sitter-javascript": "github:tree-sitter/tree-sitter-javascript#2cc5803"
},
"scripts": {
"build": "npm run build-typescript && npm run build-tsx",

540
tsx/src/grammar.json vendored

@ -820,17 +820,21 @@
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"type": "SEQ",
@ -1213,21 +1217,25 @@
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "var"
},
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "var"
},
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"type": "FIELD",
@ -1251,17 +1259,21 @@
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "of"
}
]
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "of"
}
]
}
},
{
"type": "FIELD",
@ -1569,8 +1581,12 @@
"value": ":"
},
{
"type": "SYMBOL",
"name": "statement"
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
}
@ -1624,10 +1640,14 @@
"value": ":"
},
{
"type": "REPEAT",
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
@ -1644,10 +1664,14 @@
"value": ":"
},
{
"type": "REPEAT",
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
@ -3579,17 +3603,21 @@
}
},
"await_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
"type": "PREC",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
},
"member_expression": {
"type": "PREC",
@ -3837,69 +3865,73 @@
}
},
{
"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": "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",
@ -4001,7 +4033,7 @@
"members": [
{
"type": "PREC_LEFT",
"value": "binary_and",
"value": "logical_and",
"content": {
"type": "SEQ",
"members": [
@ -4034,7 +4066,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "logical_or",
"content": {
"type": "SEQ",
"members": [
@ -4067,7 +4099,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4100,7 +4132,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4133,7 +4165,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4166,7 +4198,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_and",
"value": "bitwise_and",
"content": {
"type": "SEQ",
"members": [
@ -4199,7 +4231,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "bitwise_xor",
"content": {
"type": "SEQ",
"members": [
@ -4232,7 +4264,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "bitwise_or",
"content": {
"type": "SEQ",
"members": [
@ -4529,7 +4561,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4562,7 +4594,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4595,7 +4627,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4628,7 +4660,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4793,7 +4825,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_in",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
@ -4827,184 +4859,58 @@
]
},
"unary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "~"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "typeof"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "void"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "delete"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
}
]
]
}
},
"update_expression": {
"type": "PREC_LEFT",
@ -6674,8 +6580,17 @@
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "pattern"
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
}
}
]
@ -10270,6 +10185,11 @@
"binary_expression",
"type_assertion"
],
[
"call_expression",
"binary_expression",
"await_expression"
],
[
"nested_identifier",
"nested_type_identifier",
@ -10471,10 +10391,6 @@
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "STRING",
"value": "unary_not"
},
{
"type": "STRING",
"value": "unary_void"
@ -10491,6 +10407,10 @@
"type": "STRING",
"value": "binary_plus"
},
{
"type": "STRING",
"value": "binary_shift"
},
{
"type": "STRING",
"value": "binary_compare"
@ -10501,23 +10421,31 @@
},
{
"type": "STRING",
"value": "binary_in"
"value": "binary_equality"
},
{
"type": "STRING",
"value": "binary_and"
"value": "bitwise_and"
},
{
"type": "STRING",
"value": "binary_or"
"value": "bitwise_xor"
},
{
"type": "STRING",
"value": "ternary"
"value": "bitwise_or"
},
{
"type": "SYMBOL",
"name": "await_expression"
"type": "STRING",
"value": "logical_and"
},
{
"type": "STRING",
"value": "logical_or"
},
{
"type": "STRING",
"value": "ternary"
},
{
"type": "SYMBOL",

@ -919,6 +919,72 @@
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "%=",
"named": false
},
{
"type": "&&=",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "**=",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": ">>>=",
"named": false
},
{
"type": "??=",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
@ -2143,6 +2209,24 @@
}
]
},
"kind": {
"multiple": false,
"required": false,
"types": [
{
"type": "const",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "var",
"named": false
}
]
},
"left": {
"multiple": false,
"required": true,
@ -2181,6 +2265,20 @@
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "in",
"named": false
},
{
"type": "of",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
@ -3411,6 +3509,16 @@
"type": "labeled_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement",
"named": true
}
]
},
"label": {
"multiple": false,
"required": true,
@ -3421,22 +3529,27 @@
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "lexical_declaration",
"named": true,
"fields": {},
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "const",
"named": false
},
{
"type": "let",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
@ -4382,6 +4495,10 @@
"multiple": false,
"required": true,
"types": [
{
"type": "assignment_pattern",
"named": true
},
{
"type": "pattern",
"named": true
@ -4973,6 +5090,16 @@
"type": "switch_case",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
@ -4987,31 +5114,22 @@
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "switch_default",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
}
},
{

244081
tsx/src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -820,17 +820,21 @@
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"type": "SEQ",
@ -1213,21 +1217,25 @@
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "var"
},
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
"type": "FIELD",
"name": "kind",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "var"
},
{
"type": "STRING",
"value": "let"
},
{
"type": "STRING",
"value": "const"
}
]
}
},
{
"type": "FIELD",
@ -1251,17 +1259,21 @@
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "of"
}
]
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "in"
},
{
"type": "STRING",
"value": "of"
}
]
}
},
{
"type": "FIELD",
@ -1569,8 +1581,12 @@
"value": ":"
},
{
"type": "SYMBOL",
"name": "statement"
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
]
}
@ -1624,10 +1640,14 @@
"value": ":"
},
{
"type": "REPEAT",
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
@ -1644,10 +1664,14 @@
"value": ":"
},
{
"type": "REPEAT",
"type": "FIELD",
"name": "body",
"content": {
"type": "SYMBOL",
"name": "statement"
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "statement"
}
}
}
]
@ -3575,17 +3599,21 @@
}
},
"await_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
"type": "PREC",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "await"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
},
"member_expression": {
"type": "PREC",
@ -3833,69 +3861,73 @@
}
},
{
"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": "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",
@ -3997,7 +4029,7 @@
"members": [
{
"type": "PREC_LEFT",
"value": "binary_and",
"value": "logical_and",
"content": {
"type": "SEQ",
"members": [
@ -4030,7 +4062,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "logical_or",
"content": {
"type": "SEQ",
"members": [
@ -4063,7 +4095,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4096,7 +4128,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4129,7 +4161,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_times",
"value": "binary_shift",
"content": {
"type": "SEQ",
"members": [
@ -4162,7 +4194,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_and",
"value": "bitwise_and",
"content": {
"type": "SEQ",
"members": [
@ -4195,7 +4227,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "bitwise_xor",
"content": {
"type": "SEQ",
"members": [
@ -4228,7 +4260,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_or",
"value": "bitwise_or",
"content": {
"type": "SEQ",
"members": [
@ -4525,7 +4557,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4558,7 +4590,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4591,7 +4623,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4624,7 +4656,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_relation",
"value": "binary_equality",
"content": {
"type": "SEQ",
"members": [
@ -4789,7 +4821,7 @@
},
{
"type": "PREC_LEFT",
"value": "binary_in",
"value": "binary_relation",
"content": {
"type": "SEQ",
"members": [
@ -4823,184 +4855,58 @@
]
},
"unary_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "~"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_not",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "+"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "typeof"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "void"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": "unary_void",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "operator",
"content": {
},
{
"type": "STRING",
"value": "delete"
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
]
}
},
{
"type": "FIELD",
"name": "argument",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
}
]
]
}
},
"update_expression": {
"type": "PREC_LEFT",
@ -6670,8 +6576,17 @@
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "pattern"
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "pattern"
},
{
"type": "SYMBOL",
"name": "assignment_pattern"
}
]
}
}
]
@ -10266,6 +10181,11 @@
"binary_expression",
"type_assertion"
],
[
"call_expression",
"binary_expression",
"await_expression"
],
[
"nested_identifier",
"nested_type_identifier",
@ -10467,10 +10387,6 @@
"type": "SYMBOL",
"name": "update_expression"
},
{
"type": "STRING",
"value": "unary_not"
},
{
"type": "STRING",
"value": "unary_void"
@ -10487,6 +10403,10 @@
"type": "STRING",
"value": "binary_plus"
},
{
"type": "STRING",
"value": "binary_shift"
},
{
"type": "STRING",
"value": "binary_compare"
@ -10497,23 +10417,31 @@
},
{
"type": "STRING",
"value": "binary_in"
"value": "binary_equality"
},
{
"type": "STRING",
"value": "binary_and"
"value": "bitwise_and"
},
{
"type": "STRING",
"value": "binary_or"
"value": "bitwise_xor"
},
{
"type": "STRING",
"value": "ternary"
"value": "bitwise_or"
},
{
"type": "SYMBOL",
"name": "await_expression"
"type": "STRING",
"value": "logical_and"
},
{
"type": "STRING",
"value": "logical_or"
},
{
"type": "STRING",
"value": "ternary"
},
{
"type": "SYMBOL",

@ -911,6 +911,72 @@
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "%=",
"named": false
},
{
"type": "&&=",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "**=",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": ">>>=",
"named": false
},
{
"type": "??=",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
@ -2135,6 +2201,24 @@
}
]
},
"kind": {
"multiple": false,
"required": false,
"types": [
{
"type": "const",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "var",
"named": false
}
]
},
"left": {
"multiple": false,
"required": true,
@ -2173,6 +2257,20 @@
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "in",
"named": false
},
{
"type": "of",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
@ -3403,6 +3501,16 @@
"type": "labeled_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement",
"named": true
}
]
},
"label": {
"multiple": false,
"required": true,
@ -3413,22 +3521,27 @@
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "lexical_declaration",
"named": true,
"fields": {},
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "const",
"named": false
},
{
"type": "let",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
@ -4374,6 +4487,10 @@
"multiple": false,
"required": true,
"types": [
{
"type": "assignment_pattern",
"named": true
},
{
"type": "pattern",
"named": true
@ -4965,6 +5082,16 @@
"type": "switch_case",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
@ -4979,31 +5106,22 @@
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "switch_default",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
}
},
{

233748
typescript/src/parser.c vendored

File diff suppressed because it is too large Load Diff