1666 lines
27 KiB
JSON
1666 lines
27 KiB
JSON
[
|
|
{
|
|
"type": "_expression",
|
|
"named": true,
|
|
"subtypes": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "binary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "parenthesized_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "postfix_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "ternary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "unary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "word",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true,
|
|
"subtypes": [
|
|
{
|
|
"type": "ansii_c_string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "command_substitution",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "expansion",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "process_substitution",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "raw_string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "simple_expansion",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "string_expansion",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "word",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "_statement",
|
|
"named": true,
|
|
"subtypes": [
|
|
{
|
|
"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": "subshell",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "test_command",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "unset_command",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_assignment",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "while_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "binary_expression",
|
|
"named": true,
|
|
"fields": {
|
|
"left": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"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": "test_operator",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "||",
|
|
"named": false
|
|
}
|
|
]
|
|
},
|
|
"right": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "regex",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "c_style_for_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"body": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "compound_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "do_group",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"initializer": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"update": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "case_item",
|
|
"named": true,
|
|
"fields": {
|
|
"fallthrough": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": ";&",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": ";;&",
|
|
"named": false
|
|
}
|
|
]
|
|
},
|
|
"termination": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": ";;",
|
|
"named": false
|
|
}
|
|
]
|
|
},
|
|
"value": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "case_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"value": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "case_item",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "command",
|
|
"named": true,
|
|
"fields": {
|
|
"argument": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "==",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "=~",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "regex",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "command_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "file_redirect",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_assignment",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "command_name",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "command_substitution",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "file_redirect",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "compound_statement",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "declaration_command",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_assignment",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "do_group",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "elif_clause",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "else_clause",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "expansion",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "regex",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "special_variable_name",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "subscript",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "file_redirect",
|
|
"named": true,
|
|
"fields": {
|
|
"descriptor": {
|
|
"multiple": false,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "file_descriptor",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"destination": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "for_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"body": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "do_group",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"value": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"variable": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function_definition",
|
|
"named": true,
|
|
"fields": {
|
|
"body": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "compound_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "subshell",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "test_command",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "word",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "command_substitution",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "expansion",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "simple_expansion",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "heredoc_redirect",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "heredoc_start",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "herestring_redirect",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "if_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"condition": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "\n",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "&",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": ";",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": ";;",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "elif_clause",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "else_clause",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "list",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "negated_command",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "command",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "subshell",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "test_command",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "parenthesized_expression",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "pipeline",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "postfix_expression",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "process_substitution",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "program",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "redirected_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"body": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"redirect": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "file_redirect",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_redirect",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "herestring_redirect",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "simple_expansion",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "special_variable_name",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "command_substitution",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "expansion",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "simple_expansion",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "string_expansion",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "raw_string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "subscript",
|
|
"named": true,
|
|
"fields": {
|
|
"index": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "subshell",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "heredoc_body",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "ternary_expression",
|
|
"named": true,
|
|
"fields": {
|
|
"alternative": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"consequence": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "test_command",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "unary_expression",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "test_operator",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "unset_command",
|
|
"named": true,
|
|
"fields": {},
|
|
"children": {
|
|
"multiple": true,
|
|
"required": false,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "variable_assignment",
|
|
"named": true,
|
|
"fields": {
|
|
"name": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "subscript",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"value": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "_primary_expression",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "array",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "concatenation",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "while_statement",
|
|
"named": true,
|
|
"fields": {
|
|
"body": {
|
|
"multiple": false,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "do_group",
|
|
"named": true
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"multiple": true,
|
|
"required": true,
|
|
"types": [
|
|
{
|
|
"type": "\n",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "&",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": ";",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": ";;",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "_statement",
|
|
"named": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "word",
|
|
"named": true,
|
|
"fields": {}
|
|
},
|
|
{
|
|
"type": "\n",
|
|
"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
|
|
},
|
|
{
|
|
"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
|
|
},
|
|
{
|
|
"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
|
|
},
|
|
{
|
|
"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": "ansii_c_string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "case",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "comment",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "declare",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "do",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "done",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "elif",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "else",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "esac",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "export",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "fi",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "file_descriptor",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "for",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "function",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "heredoc_start",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "if",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "in",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "local",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "raw_string",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "readonly",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "regex",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "special_variable_name",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "test_operator",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "then",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "typeset",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "unset",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "unsetenv",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "variable_name",
|
|
"named": true
|
|
},
|
|
{
|
|
"type": "while",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "{",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "|",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "|&",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "||",
|
|
"named": false
|
|
},
|
|
{
|
|
"type": "}",
|
|
"named": false
|
|
}
|
|
] |