[ { "type": "argument", "named": true, "fields": { "default": { "multiple": false, "required": false, "types": [ { "type": "braced_word", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "simple_word", "named": true } ] } } }, { "type": "arguments", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "argument", "named": true }, { "type": "simple_word", "named": true } ] } }, { "type": "array_index", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "binop_expr", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binop_expr", "named": true }, { "type": "braced_word_simple", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "ternary_expr", "named": true }, { "type": "unary_expr", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "braced_word", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "catch", "named": true }, { "type": "command", "named": true }, { "type": "comment", "named": true }, { "type": "conditional", "named": true }, { "type": "expr_cmd", "named": true }, { "type": "foreach", "named": true }, { "type": "global", "named": true }, { "type": "namespace", "named": true }, { "type": "procedure", "named": true }, { "type": "set", "named": true }, { "type": "try", "named": true }, { "type": "while", "named": true } ] } }, { "type": "braced_word_simple", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "braced_word_simple", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "catch", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "command", "named": true, "fields": { "arguments": { "multiple": false, "required": false, "types": [ { "type": "word_list", "named": true } ] }, "name": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } } }, { "type": "command_substitution", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "catch", "named": true }, { "type": "command", "named": true }, { "type": "comment", "named": true }, { "type": "conditional", "named": true }, { "type": "expr_cmd", "named": true }, { "type": "foreach", "named": true }, { "type": "global", "named": true }, { "type": "namespace", "named": true }, { "type": "procedure", "named": true }, { "type": "set", "named": true }, { "type": "try", "named": true }, { "type": "while", "named": true } ] } }, { "type": "conditional", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expr", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "else", "named": true }, { "type": "elseif", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "else", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "elseif", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expr", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "expr", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binop_expr", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "ternary_expr", "named": true }, { "type": "unary_expr", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "expr_cmd", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expr", "named": true } ] } }, { "type": "finally", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "foreach", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "braced_word", "named": true }, { "type": "braced_word_simple", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "global", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "id", "named": true, "fields": {} }, { "type": "namespace", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "word_list", "named": true } ] } }, { "type": "procedure", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] }, "body": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] }, "name": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } } }, { "type": "quoted_word", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "command_substitution", "named": true }, { "type": "escaped_character", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "set", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "source_file", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "catch", "named": true }, { "type": "command", "named": true }, { "type": "comment", "named": true }, { "type": "conditional", "named": true }, { "type": "expr_cmd", "named": true }, { "type": "foreach", "named": true }, { "type": "global", "named": true }, { "type": "namespace", "named": true }, { "type": "procedure", "named": true }, { "type": "set", "named": true }, { "type": "try", "named": true }, { "type": "while", "named": true } ] } }, { "type": "ternary_expr", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binop_expr", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "ternary_expr", "named": true }, { "type": "unary_expr", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "try", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "finally", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "unary_expr", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binop_expr", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "ternary_expr", "named": true }, { "type": "unary_expr", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "variable_substitution", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_index", "named": true }, { "type": "id", "named": true } ] } }, { "type": "while", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "expr", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "type": "word_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "braced_word", "named": true }, { "type": "command_substitution", "named": true }, { "type": "concat", "named": true }, { "type": "escaped_character", "named": true }, { "type": "quoted_word", "named": true }, { "type": "simple_word", "named": true }, { "type": "unpack", "named": true }, { "type": "variable_substitution", "named": true } ] } }, { "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": "catch", "named": false }, { "type": "comment", "named": true }, { "type": "concat", "named": true }, { "type": "else", "named": false }, { "type": "elseif", "named": false }, { "type": "eq", "named": false }, { "type": "error", "named": false }, { "type": "escaped_character", "named": true }, { "type": "expr", "named": false }, { "type": "finally", "named": false }, { "type": "foreach", "named": false }, { "type": "global", "named": false }, { "type": "if", "named": false }, { "type": "in", "named": false }, { "type": "namespace", "named": false }, { "type": "ne", "named": false }, { "type": "ni", "named": false }, { "type": "on", "named": false }, { "type": "proc", "named": false }, { "type": "set", "named": false }, { "type": "simple_word", "named": true }, { "type": "try", "named": false }, { "type": "unpack", "named": true }, { "type": "while", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "||", "named": false }, { "type": "}", "named": false }, { "type": "~", "named": false } ]