[ { "type": "application_command", "named": true, "fields": { "command": { "multiple": true, "required": true, "types": [ { "type": "do_javascript", "named": true }, { "type": "do_shell_script", "named": true }, { "type": "identifier", "named": true }, { "type": "property_name", "named": true }, { "type": "system_attribute", "named": true } ] }, "prefix": { "multiple": false, "required": false, "types": [ { "type": "its", "named": false }, { "type": "my", "named": false } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "command_argument", "named": true }, { "type": "given_clause", "named": true }, { "type": "using_clause", "named": true }, { "type": "with_clause", "named": true }, { "type": "without_clause", "named": true } ] } }, { "type": "application_expression", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "string", "named": true } ] } } }, { "type": "argument_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "binary_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_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": "and", "named": false }, { "type": "begin with", "named": false }, { "type": "begins with", "named": false }, { "type": "comes after", "named": false }, { "type": "comes before", "named": false }, { "type": "contain", "named": false }, { "type": "contains", "named": false }, { "type": "div", "named": false }, { "type": "does not contain", "named": false }, { "type": "doesn't contain", "named": false }, { "type": "end with", "named": false }, { "type": "ends with", "named": false }, { "type": "equal to", "named": false }, { "type": "equals", "named": false }, { "type": "greater than", "named": false }, { "type": "is", "named": false }, { "type": "is contained by", "named": false }, { "type": "is equal", "named": false }, { "type": "is equal to", "named": false }, { "type": "is greater than", "named": false }, { "type": "is greater than or equal", "named": false }, { "type": "is greater than or equal to", "named": false }, { "type": "is in", "named": false }, { "type": "is less than", "named": false }, { "type": "is less than or equal", "named": false }, { "type": "is less than or equal to", "named": false }, { "type": "is not", "named": false }, { "type": "is not contained by", "named": false }, { "type": "is not equal", "named": false }, { "type": "is not equal to", "named": false }, { "type": "is not in", "named": false }, { "type": "isn't", "named": false }, { "type": "isn't equal to", "named": false }, { "type": "less than", "named": false }, { "type": "mod", "named": false }, { "type": "or", "named": false }, { "type": "start with", "named": false }, { "type": "starts with", "named": false }, { "type": "through", "named": false }, { "type": "thru", "named": false }, { "type": "where", "named": false }, { "type": "whose", "named": false }, { "type": "÷", "named": false }, { "type": "≠", "named": false }, { "type": "≤", "named": false }, { "type": "≥", "named": false } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "boolean", "named": true, "fields": {} }, { "type": "boolean_parameter", "named": true, "fields": { "parameter": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "command_argument", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "comment", "named": true, "extra": true, "fields": {} }, { "type": "considering_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "considering_terms", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "considering_term", "named": true, "fields": {} }, { "type": "considering_terms", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "considering_term", "named": true } ] } }, { "type": "direct_parameter", "named": true, "fields": { "parameter": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "number", "named": true }, { "type": "string", "named": true } ] } } }, { "type": "element_access", "named": true, "fields": { "element": { "multiple": false, "required": true, "types": [ { "type": "property_name", "named": true } ] }, "index": { "multiple": false, "required": false, "types": [ { "type": "number", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "string", "named": true } ] }, "object": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "else_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "else_if_clause", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "error_clause", "named": true, "fields": { "from": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "number": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "partial": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "to": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "error_statement", "named": true, "fields": { "message": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "error_clause", "named": true } ] } }, { "type": "exit_statement", "named": true, "fields": {} }, { "type": "expression_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "given_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "labeled_parameter", "named": true } ] } }, { "type": "given_parameter", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "labeled_parameter", "named": true } ] } }, { "type": "handler_call", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "object": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "argument_list", "named": true } ] } }, { "type": "handler_definition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "labeled_handler", "named": true }, { "type": "positional_handler", "named": true }, { "type": "simple_handler", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "else_clause", "named": true }, { "type": "else_if_clause", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "ignoring_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "considering_terms", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "labeled_handler", "named": true, "fields": { "end_name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "boolean_parameter", "named": true }, { "type": "considering_statement", "named": true }, { "type": "direct_parameter", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "given_parameter", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "labeled_parameter", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "labeled_parameter", "named": true, "fields": { "label": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "parameter": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "method_call", "named": true, "fields": { "argument": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "method": { "multiple": false, "required": true, "types": [ { "type": "method_call_label", "named": true } ] }, "object": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "missing_value", "named": true, "fields": {} }, { "type": "number", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "integer", "named": true }, { "type": "real", "named": true } ] } }, { "type": "objc_selector", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "on_error_clause", "named": true, "fields": { "from_var": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "message_var": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true }, { "type": "string", "named": true } ] }, "number_var": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "partial_var": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "to_var": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "parameter_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "parenthesized_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "application_command", "named": true }, { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "path_to_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_command", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, { "type": "positional_handler", "named": true, "fields": { "end_name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true }, { "type": "objc_selector", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "boolean_parameter", "named": true }, { "type": "considering_statement", "named": true }, { "type": "direct_parameter", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "given_parameter", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "labeled_parameter", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "property_access", "named": true, "fields": { "object": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "property": { "multiple": false, "required": true, "types": [ { "type": "property_name", "named": true } ] } } }, { "type": "property_name", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "property_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "real", "named": true, "fields": {} }, { "type": "record", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "record_entry", "named": true } ] } }, { "type": "record_entry", "named": true, "fields": { "key": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "property_name", "named": true }, { "type": "string", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "reference_expression", "named": true, "fields": { "target": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "reference_prefix_expression", "named": true, "fields": { "prefix": { "multiple": false, "required": true, "types": [ { "type": "its", "named": false }, { "type": "my", "named": false } ] }, "target": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "repeat_forever", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "repeat_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "repeat_forever", "named": true }, { "type": "repeat_times", "named": true }, { "type": "repeat_until", "named": true }, { "type": "repeat_while", "named": true }, { "type": "repeat_with", "named": true }, { "type": "repeat_with_in", "named": true } ] } }, { "type": "repeat_times", "named": true, "fields": { "count": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "repeat_until", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "repeat_while", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "repeat_with", "named": true, "fields": { "end": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "start": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "step": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "variable": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "repeat_with_in", "named": true, "fields": { "list": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "variable": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "return_statement", "named": true, "fields": { "value": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "script_reference", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "string", "named": true } ] } }, { "type": "script_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "handler_definition", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "property_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "set_statement", "named": true, "fields": { "target": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "simple_handler", "named": true, "fields": { "end_name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "parameter_list", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "source_file", "named": true, "root": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "handler_definition", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "property_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "string", "named": true, "fields": {} }, { "type": "tell_statement", "named": true, "fields": { "statement": { "multiple": false, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] }, "target": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "text_constant", "named": true, "fields": {} }, { "type": "timeout_statement", "named": true, "fields": { "duration": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "transaction_statement", "named": true, "fields": { "session": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "try_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "application_command", "named": true }, { "type": "considering_statement", "named": true }, { "type": "error_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "ignoring_statement", "named": true }, { "type": "on_error_clause", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "script_statement", "named": true }, { "type": "set_statement", "named": true }, { "type": "tell_statement", "named": true }, { "type": "timeout_statement", "named": true }, { "type": "transaction_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "type_cast", "named": true, "fields": { "type": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "unary_expression", "named": true, "fields": { "operand": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "use_statement", "named": true, "fields": { "alias": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "string", "named": true } ] }, "version": { "multiple": false, "required": false, "types": [ { "type": "string", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "string", "named": true } ] } }, { "type": "using_clause", "named": true, "fields": { "modifiers": { "multiple": false, "required": true, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "with_clause", "named": true, "fields": { "option": { "multiple": false, "required": true, "types": [ { "type": "property_name", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "application_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "boolean", "named": true }, { "type": "current_application", "named": true }, { "type": "element_access", "named": true }, { "type": "handler_call", "named": true }, { "type": "identifier", "named": true }, { "type": "list", "named": true }, { "type": "method_call", "named": true }, { "type": "missing_value", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "path_to_expression", "named": true }, { "type": "property_access", "named": true }, { "type": "property_name", "named": true }, { "type": "record", "named": true }, { "type": "reference_expression", "named": true }, { "type": "reference_prefix_expression", "named": true }, { "type": "script_reference", "named": true }, { "type": "string", "named": true }, { "type": "text_constant", "named": true }, { "type": "type_cast", "named": true }, { "type": "unary_expression", "named": true } ] } } }, { "type": "without_clause", "named": true, "fields": { "option": { "multiple": false, "required": true, "types": [ { "type": "property_name", "named": true } ] } } }, { "type": "\"", "named": false }, { "type": "#", "named": false }, { "type": "&", "named": false }, { "type": "'s", "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": "AppleScript", "named": false }, { "type": "^", "named": false }, { "type": "a ref to", "named": false }, { "type": "a reference to", "named": false }, { "type": "additions", "named": false }, { "type": "and", "named": false }, { "type": "application", "named": false }, { "type": "as", "named": false }, { "type": "begin with", "named": false }, { "type": "begins with", "named": false }, { "type": "by", "named": false }, { "type": "case", "named": false }, { "type": "comes after", "named": false }, { "type": "comes before", "named": false }, { "type": "considering", "named": false }, { "type": "contain", "named": false }, { "type": "contains", "named": false }, { "type": "copy", "named": false }, { "type": "current_application", "named": true }, { "type": "diacriticals", "named": false }, { "type": "div", "named": false }, { "type": "do_javascript", "named": true }, { "type": "do_shell_script", "named": true }, { "type": "does not contain", "named": false }, { "type": "doesn't contain", "named": false }, { "type": "else", "named": false }, { "type": "end", "named": false }, { "type": "end with", "named": false }, { "type": "ends with", "named": false }, { "type": "equal to", "named": false }, { "type": "equals", "named": false }, { "type": "error", "named": false }, { "type": "exists", "named": false }, { "type": "exit", "named": false }, { "type": "expansion", "named": false }, { "type": "false", "named": false }, { "type": "framework", "named": false }, { "type": "from", "named": false }, { "type": "given", "named": false }, { "type": "greater than", "named": false }, { "type": "hyphens", "named": false }, { "type": "identifier", "named": true }, { "type": "if", "named": false }, { "type": "ignoring", "named": false }, { "type": "in", "named": false }, { "type": "integer", "named": true }, { "type": "is", "named": false }, { "type": "is contained by", "named": false }, { "type": "is equal", "named": false }, { "type": "is equal to", "named": false }, { "type": "is greater than", "named": false }, { "type": "is greater than or equal", "named": false }, { "type": "is greater than or equal to", "named": false }, { "type": "is in", "named": false }, { "type": "is less than", "named": false }, { "type": "is less than or equal", "named": false }, { "type": "is less than or equal to", "named": false }, { "type": "is not", "named": false }, { "type": "is not contained by", "named": false }, { "type": "is not equal", "named": false }, { "type": "is not equal to", "named": false }, { "type": "is not in", "named": false }, { "type": "isn't", "named": false }, { "type": "isn't equal to", "named": false }, { "type": "its", "named": false }, { "type": "less than", "named": false }, { "type": "method_call_label", "named": true }, { "type": "missing", "named": false }, { "type": "mod", "named": false }, { "type": "my", "named": false }, { "type": "no", "named": false }, { "type": "not", "named": false }, { "type": "number", "named": false }, { "type": "numeric strings", "named": false }, { "type": "of", "named": false }, { "type": "on", "named": false }, { "type": "or", "named": false }, { "type": "partial", "named": false }, { "type": "path_to_command", "named": true }, { "type": "property", "named": false }, { "type": "punctuation", "named": false }, { "type": "ref to", "named": false }, { "type": "reference to", "named": false }, { "type": "repeat", "named": false }, { "type": "result", "named": false }, { "type": "return", "named": false }, { "type": "script", "named": false }, { "type": "scripting", "named": false }, { "type": "seconds", "named": false }, { "type": "set", "named": false }, { "type": "start with", "named": false }, { "type": "starts with", "named": false }, { "type": "system_attribute", "named": true }, { "type": "tell", "named": false }, { "type": "then", "named": false }, { "type": "through", "named": false }, { "type": "thru", "named": false }, { "type": "timeout", "named": false }, { "type": "times", "named": false }, { "type": "to", "named": false }, { "type": "transaction", "named": false }, { "type": "true", "named": false }, { "type": "try", "named": false }, { "type": "until", "named": false }, { "type": "use", "named": false }, { "type": "using", "named": false }, { "type": "value", "named": false }, { "type": "version", "named": false }, { "type": "where", "named": false }, { "type": "while", "named": false }, { "type": "white space", "named": false }, { "type": "whose", "named": false }, { "type": "with", "named": false }, { "type": "without", "named": false }, { "type": "yes", "named": false }, { "type": "{", "named": false }, { "type": "}", "named": false }, { "type": "÷", "named": false }, { "type": "≠", "named": false }, { "type": "≤", "named": false }, { "type": "≥", "named": false } ]