[
{
"type": "address",
"named": true,
"fields": {
"access": {
"multiple": false,
"required": false,
"types": [
{
"type": "access_class",
"named": true
}
]
},
"location": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "access_class",
"named": true
},
{
"type": "memory_space",
"named": true
}
]
}
},
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "format_expression",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_declaration",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_type_pattern",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "option_expression",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "=",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "comment",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"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
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^^",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
}
},
{
"type": "bitmask",
"named": true,
"fields": {}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"function": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
}
},
{
"type": "character",
"named": true,
"fields": {}
},
{
"type": "command_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"command": {
"multiple": true,
"required": false,
"types": [
{
"type": "AddSticker",
"named": false
},
{
"type": "EXPORT",
"named": false
},
{
"type": "PATtern",
"named": false
},
{
"type": "Var",
"named": false
},
{
"type": "WRITE",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "integer",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "comment",
"named": true
}
]
}
},
{
"type": "elif_block",
"named": true,
"fields": {
"command": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "else_block",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "file_handle",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro",
"named": true
}
]
}
},
{
"type": "format_expression",
"named": true,
"fields": {
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
}
]
}
}
},
{
"type": "hll_abstract_array_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
}
]
},
"size": {
"multiple": true,
"required": false,
"types": [
{
"type": "*",
"named": false
},
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_abstract_function_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_parameter_list",
"named": true
}
]
}
}
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
}
]
}
},
{
"type": "hll_abstract_pointer_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
{
"type": "hll_array_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"size": {
"multiple": true,
"required": false,
"types": [
{
"type": "*",
"named": false
},
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"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
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"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": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_argument_list",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_cast_expression",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_type_descriptor",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_char_literal",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "character",
"named": true
},
{
"type": "hll_escape_sequence",
"named": true
}
]
}
},
{
"type": "hll_comma_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_comma_expression",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_conditional_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_declaration",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_enum_specifier",
"named": true
},
{
"type": "hll_primitive_type",
"named": true
},
{
"type": "hll_sized_type_specifier",
"named": true
},
{
"type": "hll_struct_specifier",
"named": true
},
{
"type": "hll_type_identifier",
"named": true
},
{
"type": "hll_union_specifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_enum_specifier",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_type_identifier",
"named": true
}
]
}
}
},
{
"type": "hll_field_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_field_identifier",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "->",
"named": false
},
{
"type": ".",
"named": false
}
]
}
}
},
{
"type": "hll_function_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_parameter_list",
"named": true
}
]
}
}
},
{
"type": "hll_parameter_declaration",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
},
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_enum_specifier",
"named": true
},
{
"type": "hll_primitive_type",
"named": true
},
{
"type": "hll_sized_type_specifier",
"named": true
},
{
"type": "hll_struct_specifier",
"named": true
},
{
"type": "hll_type_identifier",
"named": true
},
{
"type": "hll_union_specifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_parameter_declaration",
"named": true
}
]
}
},
{
"type": "hll_parenthesized_declarator",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
{
"type": "hll_parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_comma_expression",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
{
"type": "hll_pointer_declarator",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_array_declarator",
"named": true
},
{
"type": "hll_function_declarator",
"named": true
},
{
"type": "hll_parenthesized_declarator",
"named": true
},
{
"type": "hll_pointer_declarator",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_pointer_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "&",
"named": false
},
{
"type": "*",
"named": false
}
]
}
}
},
{
"type": "hll_range_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "..",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_sized_type_specifier",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_type_identifier",
"named": true
}
]
}
}
},
{
"type": "hll_sizeof_expression",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_type_descriptor",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_string_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_escape_sequence",
"named": true
}
]
}
},
{
"type": "hll_struct_specifier",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_type_identifier",
"named": true
}
]
}
}
},
{
"type": "hll_subscript_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_range_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
}
}
},
{
"type": "hll_type_descriptor",
"named": true,
"fields": {
"declarator": {
"multiple": false,
"required": false,
"types": [
{
"type": "hll_abstract_array_declarator",
"named": true
},
{
"type": "hll_abstract_function_declarator",
"named": true
},
{
"type": "hll_abstract_parenthesized_declarator",
"named": true
},
{
"type": "hll_abstract_pointer_declarator",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_enum_specifier",
"named": true
},
{
"type": "hll_primitive_type",
"named": true
},
{
"type": "hll_sized_type_specifier",
"named": true
},
{
"type": "hll_struct_specifier",
"named": true
},
{
"type": "hll_type_identifier",
"named": true
},
{
"type": "hll_union_specifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "hll_type_qualifier",
"named": true
}
]
}
},
{
"type": "hll_type_pattern",
"named": true,
"fields": {}
},
{
"type": "hll_type_qualifier",
"named": true,
"fields": {}
},
{
"type": "hll_unary_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "hll_union_specifier",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_type_identifier",
"named": true
}
]
}
}
},
{
"type": "hll_update_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "symbol",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "if_block",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "elif_block",
"named": true
},
{
"type": "else_block",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "integer",
"named": true,
"fields": {}
},
{
"type": "labeled_expression",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "literal",
"named": true,
"fields": {}
},
{
"type": "macro",
"named": true,
"fields": {}
},
{
"type": "macro_definition",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"macro": {
"multiple": true,
"required": true,
"types": [
{
"type": "macro",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "comment",
"named": true
}
]
}
},
{
"type": "macro_text_expansion",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "macro",
"named": true
}
]
}
},
{
"type": "memory_space",
"named": true,
"fields": {
"machine": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"segment": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"space": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
}
},
{
"type": "option_expression",
"named": true,
"fields": {
"option": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "parameter_declaration",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"macro": {
"multiple": true,
"required": true,
"types": [
{
"type": "macro",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "comment",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "recursive_macro_expansion",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "repeat_block",
"named": true,
"fields": {
"command": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "script",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro",
"named": true
}
]
}
},
{
"type": "subroutine_block",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"subroutine": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "comment",
"named": true
}
]
}
},
{
"type": "subroutine_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"subroutine": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "comment",
"named": true
}
]
}
},
{
"type": "symbol",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"argument": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"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": "while_block",
"named": true,
"fields": {
"command": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bitmask",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "character",
"named": true
},
{
"type": "file_handle",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "frequency",
"named": true
},
{
"type": "hll_assignment_expression",
"named": true
},
{
"type": "hll_binary_expression",
"named": true
},
{
"type": "hll_call_expression",
"named": true
},
{
"type": "hll_cast_expression",
"named": true
},
{
"type": "hll_char_literal",
"named": true
},
{
"type": "hll_conditional_expression",
"named": true
},
{
"type": "hll_field_expression",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_parenthesized_expression",
"named": true
},
{
"type": "hll_pointer_expression",
"named": true
},
{
"type": "hll_sizeof_expression",
"named": true
},
{
"type": "hll_string_literal",
"named": true
},
{
"type": "hll_subscript_expression",
"named": true
},
{
"type": "hll_unary_expression",
"named": true
},
{
"type": "hll_update_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_text_expansion",
"named": true
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "time",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_expression",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "if_block",
"named": true
},
{
"type": "labeled_expression",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "parameter_declaration",
"named": true
},
{
"type": "recursive_macro_expansion",
"named": true
},
{
"type": "repeat_block",
"named": true
},
{
"type": "subroutine_block",
"named": true
},
{
"type": "subroutine_call_expression",
"named": true
},
{
"type": "while_block",
"named": true
}
]
}
},
{
"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": "AddSticker",
"named": false
},
{
"type": "EXPORT",
"named": false
},
{
"type": "GLOBAL",
"named": false
},
{
"type": "IF",
"named": false
},
{
"type": "L\"",
"named": false
},
{
"type": "L'",
"named": false
},
{
"type": "LOCAL",
"named": false
},
{
"type": "Local",
"named": false
},
{
"type": "NEWGLOBAL",
"named": false
},
{
"type": "NEWLOCAL",
"named": false
},
{
"type": "OS",
"named": false
},
{
"type": "PATtern",
"named": false
},
{
"type": "PRIVATE",
"named": false
},
{
"type": "Ref",
"named": false
},
{
"type": "TREE",
"named": false
},
{
"type": "U\"",
"named": false
},
{
"type": "U'",
"named": false
},
{
"type": "Var",
"named": false
},
{
"type": "WRITE",
"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": "access_class",
"named": true
},
{
"type": "command",
"named": false
},
{
"type": "comment",
"named": true
},
{
"type": "const",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "float",
"named": true
},
{
"type": "fragment",
"named": false
},
{
"type": "frequency",
"named": true
},
{
"type": "function",
"named": false
},
{
"type": "hll_escape_sequence",
"named": true
},
{
"type": "hll_field_identifier",
"named": true
},
{
"type": "hll_number_literal",
"named": true
},
{
"type": "hll_primitive_type",
"named": true
},
{
"type": "hll_type_identifier",
"named": true
},
{
"type": "long",
"named": false
},
{
"type": "name",
"named": false
},
{
"type": "path",
"named": true
},
{
"type": "percentage",
"named": true
},
{
"type": "short",
"named": false
},
{
"type": "signed",
"named": false
},
{
"type": "sizeof",
"named": false
},
{
"type": "struct",
"named": false
},
{
"type": "subcommand",
"named": false
},
{
"type": "subfunction",
"named": false
},
{
"type": "time",
"named": true
},
{
"type": "type",
"named": false
},
{
"type": "u\"",
"named": false
},
{
"type": "u'",
"named": false
},
{
"type": "u8\"",
"named": false
},
{
"type": "u8'",
"named": false
},
{
"type": "union",
"named": false
},
{
"type": "unsigned",
"named": false
},
{
"type": "volatile",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "~",
"named": false
}
]