chore: generate

pull/559/head
Amaan Qureshi 2023-08-18 04:18:00 +07:00
parent bfc63872f7
commit 26cf636d86
3 changed files with 132634 additions and 143250 deletions

560
src/grammar.json generated vendored

@ -139,7 +139,7 @@
"members": [
{
"type": "SYMBOL",
"name": "_statement"
"name": "_statement_not_subshell"
},
{
"type": "SYMBOL",
@ -148,6 +148,19 @@
]
},
"_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_statement_not_subshell"
},
{
"type": "SYMBOL",
"name": "subshell"
}
]
},
"_statement_not_subshell": {
"type": "CHOICE",
"members": [
{
@ -158,6 +171,10 @@
"type": "SYMBOL",
"name": "variable_assignment"
},
{
"type": "SYMBOL",
"name": "variable_assignments"
},
{
"type": "SYMBOL",
"name": "command"
@ -206,10 +223,6 @@
"type": "SYMBOL",
"name": "list"
},
{
"type": "SYMBOL",
"name": "subshell"
},
{
"type": "SYMBOL",
"name": "compound_statement"
@ -338,22 +351,85 @@
"type": "STRING",
"value": "(("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_for_body"
},
{
"type": "STRING",
"value": ";;"
}
]
},
{
"type": "STRING",
"value": "))"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "initializer",
"name": "body",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "do_group"
},
{
"type": "SYMBOL",
"name": "compound_statement"
}
]
}
}
]
},
"_for_body": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "initializer",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "variable_assignment"
"name": "_c_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_expression"
"name": "_c_expression"
}
]
}
}
]
},
@ -372,10 +448,31 @@
"name": "condition",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
"name": "_c_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_c_expression"
}
]
}
}
]
},
{
"type": "BLANK"
@ -392,52 +489,354 @@
"name": "update",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
"name": "_c_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_c_expression"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
}
]
},
"_c_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_c_expression_not_assignment"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_variable_assignment"
},
"named": true,
"value": "variable_assignment"
}
]
},
"_c_expression_not_assignment": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_c_word"
},
{
"type": "SYMBOL",
"name": "simple_expansion"
},
{
"type": "SYMBOL",
"name": "expansion"
},
{
"type": "SYMBOL",
"name": "number"
},
{
"type": "SYMBOL",
"name": "string"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_unary_expression"
},
"named": true,
"value": "unary_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_binary_expression"
},
"named": true,
"value": "binary_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_postfix_expression"
},
"named": true,
"value": "postfix_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_parenthesized_expression"
},
"named": true,
"value": "parenthesized_expression"
}
]
},
"_c_variable_assignment": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_c_word"
},
"named": true,
"value": "variable_name"
},
{
"type": "STRING",
"value": "))"
"value": "="
},
{
"type": "SYMBOL",
"name": "_c_expression"
}
]
},
"_c_unary_expression": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
"value": "++"
},
{
"type": "BLANK"
"type": "STRING",
"value": "--"
}
]
},
{
"type": "FIELD",
"name": "body",
"type": "SYMBOL",
"name": "_c_expression_not_assignment"
}
]
}
},
"_c_binary_expression": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "do_group"
"name": "_c_word"
},
{
"type": "SYMBOL",
"name": "compound_statement"
"name": "simple_expansion"
}
]
},
{
"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": "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": "SYMBOL",
"name": "_c_expression_not_assignment"
}
]
}
},
"_c_postfix_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_c_expression_not_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
}
]
},
"_c_parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_c_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"_c_word": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[a-zA-Z_][a-zA-Z0-9_]*"
},
"named": true,
"value": "word"
},
"while_statement": {
"type": "SEQ",
"members": [
@ -1096,10 +1495,19 @@
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "redirected_statement"
}
]
},
{
"type": "STRING",
"value": "]"
@ -1128,7 +1536,11 @@
"members": [
{
"type": "STRING",
"value": "(("
"value": "("
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
@ -1385,6 +1797,22 @@
}
]
},
"variable_assignments": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "variable_assignment"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "variable_assignment"
}
}
]
},
"subscript": {
"type": "SEQ",
"members": [
@ -1404,8 +1832,21 @@
"type": "FIELD",
"name": "index",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_literal"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "unary_expression"
}
]
}
},
{
@ -1500,11 +1941,14 @@
{
"type": "FIELD",
"name": "destination",
"content": {
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_literal"
}
}
}
]
}
},
@ -2389,6 +2833,10 @@
"type": "SYMBOL",
"name": "_simple_variable_name"
},
{
"type": "SYMBOL",
"name": "_multiline_variable_name"
},
{
"type": "SYMBOL",
"name": "_special_variable_name"
@ -2447,6 +2895,10 @@
{
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "="
}
]
}
@ -2455,6 +2907,21 @@
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expansion_body"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"_expansion_body": {
"type": "CHOICE",
"members": [
{
@ -2499,6 +2966,10 @@
{
"type": "SYMBOL",
"name": "_special_variable_name"
},
{
"type": "SYMBOL",
"name": "command_substitution"
}
]
},
@ -2614,17 +3085,6 @@
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"command_substitution": {
"type": "CHOICE",
"members": [
@ -2682,6 +3142,23 @@
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "$`"
},
{
"type": "SYMBOL",
"name": "_statements"
},
{
"type": "STRING",
"value": "`"
}
]
}
]
},
@ -2794,6 +3271,22 @@
"named": true,
"value": "variable_name"
},
"_multiline_variable_name": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": -1,
"content": {
"type": "PATTERN",
"value": "(\\w|\\\\\\r?\\n)+"
}
}
},
"named": true,
"value": "variable_name"
},
"_special_variable_name": {
"type": "ALIAS",
"content": {
@ -2955,6 +3448,10 @@
[
"_expression",
"command_name"
],
[
"command",
"variable_assignments"
]
],
"precedences": [],
@ -3027,7 +3524,10 @@
"_statements2",
"_primary_expression",
"_simple_variable_name",
"_special_variable_name"
"_multiline_variable_name",
"_special_variable_name",
"_c_word",
"_statement_not_subshell"
],
"supertypes": [
"_statement",

459
src/node-types.json generated vendored

@ -155,6 +155,10 @@
"type": "variable_assignment",
"named": true
},
{
"type": "variable_assignments",
"named": true
},
{
"type": "while_statement",
"named": true
@ -201,7 +205,7 @@
"fields": {
"left": {
"multiple": false,
"required": true,
"required": false,
"types": [
{
"type": "_expression",
@ -211,7 +215,7 @@
},
"operator": {
"multiple": false,
"required": true,
"required": false,
"types": [
{
"type": "!=",
@ -345,7 +349,7 @@
},
"right": {
"multiple": false,
"required": true,
"required": false,
"types": [
{
"type": "_expression",
@ -357,6 +361,48 @@
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "word",
"named": true
}
]
}
},
{
@ -378,35 +424,151 @@
]
},
"condition": {
"multiple": false,
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"type": ",",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "word",
"named": true
}
]
},
"initializer": {
"multiple": false,
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"type": ",",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "word",
"named": true
}
]
},
"update": {
"multiple": false,
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"type": ",",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "word",
"named": true
}
]
@ -771,7 +933,7 @@
]
},
"destination": {
"multiple": false,
"multiple": true,
"required": true,
"types": [
{
@ -964,7 +1126,71 @@
"named": false
},
{
"type": "_statement",
"type": "c_style_for_statement",
"named": true
},
{
"type": "case_statement",
"named": true
},
{
"type": "command",
"named": true
},
{
"type": "compound_statement",
"named": true
},
{
"type": "declaration_command",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "function_definition",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "negated_command",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "redirected_statement",
"named": true
},
{
"type": "test_command",
"named": true
},
{
"type": "unset_command",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "variable_assignments",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
@ -1046,6 +1272,26 @@
{
"type": "_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "variable_assignment",
"named": true
}
]
}
@ -1076,6 +1322,22 @@
{
"type": "_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
}
]
}
@ -1210,9 +1472,17 @@
"type": "_primary_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
},
@ -1294,6 +1564,10 @@
{
"type": "_expression",
"named": true
},
{
"type": "redirected_statement",
"named": true
}
]
}
@ -1325,6 +1599,22 @@
"type": "_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "test_operator",
"named": true
@ -1361,7 +1651,7 @@
"fields": {
"name": {
"multiple": false,
"required": true,
"required": false,
"types": [
{
"type": "subscript",
@ -1375,7 +1665,7 @@
},
"value": {
"multiple": false,
"required": true,
"required": false,
"types": [
{
"type": "_primary_expression",
@ -1391,6 +1681,71 @@
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "variable_name",
"named": true
},
{
"type": "word",
"named": true
}
]
}
},
{
"type": "variable_assignments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable_assignment",
"named": true
}
]
}
},
{
@ -1428,7 +1783,71 @@
"named": false
},
{
"type": "_statement",
"type": "c_style_for_statement",
"named": true
},
{
"type": "case_statement",
"named": true
},
{
"type": "command",
"named": true
},
{
"type": "compound_statement",
"named": true
},
{
"type": "declaration_command",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "function_definition",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "negated_command",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "redirected_statement",
"named": true
},
{
"type": "test_command",
"named": true
},
{
"type": "unset_command",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "variable_assignments",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
@ -1468,6 +1887,10 @@
"type": "$(",
"named": false
},
{
"type": "$`",
"named": false
},
{
"type": "${",
"named": false
@ -1524,6 +1947,10 @@
"type": "**",
"named": false
},
{
"type": "**=",
"named": false
},
{
"type": "*=",
"named": false
@ -1540,6 +1967,10 @@
"type": "+=",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false

274581
src/parser.c generated vendored

File diff suppressed because it is too large Load Diff