UNPKG

tree-sitter-xquery

Version:
2,350 lines (2,349 loc) 148 kB
{ "name": "xquery", "word": "identifier", "rules": { "module": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "version_declaration" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "main_module" }, { "type": "SYMBOL", "name": "library_module" } ] } ] }, "version_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "xquery" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "encoding" }, { "type": "SYMBOL", "name": "string_literal" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "version" }, { "type": "SYMBOL", "name": "string_literal" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "encoding" }, { "type": "SYMBOL", "name": "string_literal" } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "STRING", "value": ";" } ] }, "library_module": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "module_declaration" }, { "type": "SYMBOL", "name": "prolog" } ] }, "main_module": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "prolog" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "query_body" } ] }, "prolog": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_prolog_part_one" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_prolog_part_two" }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_prolog_part_one" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_prolog_part_two" } ] } ] } }, "module_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "module" }, { "type": "SYMBOL", "name": "_namespace_define" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } }, { "type": "STRING", "value": ";" } ] }, "_namespace_define": { "type": "SEQ", "members": [ { "type": "STRING", "value": "namespace" }, { "type": "SYMBOL", "name": "_ncname" }, { "type": "STRING", "value": "=" } ] }, "_prolog_part_one": { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "default_namespace_declaration" }, { "type": "SYMBOL", "name": "_setter" }, { "type": "SYMBOL", "name": "namespace_declaration" }, { "type": "SYMBOL", "name": "module_import" }, { "type": "SYMBOL", "name": "schema_import" } ] }, { "type": "STRING", "value": ";" } ] } }, "_prolog_part_two": { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "context_item_declaration" }, { "type": "SYMBOL", "name": "variable_declaration" }, { "type": "SYMBOL", "name": "function_declaration" }, { "type": "SYMBOL", "name": "option_declaration" } ] }, { "type": "STRING", "value": ";" } ] } }, "_setter": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "boundary_space_declaration" }, { "type": "SYMBOL", "name": "default_collation_declaration" }, { "type": "SYMBOL", "name": "base_uri_declaration" }, { "type": "SYMBOL", "name": "construction_declaration" }, { "type": "SYMBOL", "name": "ordering_mode_declaration" }, { "type": "SYMBOL", "name": "empty_order_declaration" }, { "type": "SYMBOL", "name": "copy_namespaces_declaration" }, { "type": "SYMBOL", "name": "decimal_format_declaration" } ] }, "boundary_space_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "boundary-space" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "preserve" }, { "type": "STRING", "value": "strip" } ] } ] }, "default_collation_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "default" }, { "type": "STRING", "value": "collation" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "base_uri_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "base-uri" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "construction_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "construction" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "preserve" }, { "type": "STRING", "value": "strip" } ] } ] }, "ordering_mode_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "ordering" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "ordered" }, { "type": "STRING", "value": "unordered" } ] } ] }, "empty_order_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "default" }, { "type": "STRING", "value": "order" }, { "type": "STRING", "value": "empty" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "greatest" }, { "type": "STRING", "value": "least" } ] } ] }, "copy_namespaces_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "copy-namespaces" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "preserve" }, { "type": "STRING", "value": "no-preserve" } ] }, { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inherit" }, { "type": "STRING", "value": "no-inherit" } ] } ] }, "decimal_format_declaration": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "decimal-format" }, { "type": "SYMBOL", "name": "_EQName" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "default" }, { "type": "STRING", "value": "decimal-format" } ] } ] }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "df_property_define" } } ] } }, "df_property_define": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "decimal-separator" }, { "type": "STRING", "value": "grouping-separator" }, { "type": "STRING", "value": "infinity" }, { "type": "STRING", "value": "minus-sign" }, { "type": "STRING", "value": "NaN" }, { "type": "STRING", "value": "percent" }, { "type": "STRING", "value": "per-mille" }, { "type": "STRING", "value": "zero-digit" }, { "type": "STRING", "value": "digit" }, { "type": "STRING", "value": "pattern-separator" }, { "type": "STRING", "value": "exponent-separator" } ] }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "string_literal" } ] }, "schema_import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "STRING", "value": "schema" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "schema_prefix" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "at" }, { "type": "SYMBOL", "name": "string_literal" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "string_literal" } ] } } ] }, { "type": "BLANK" } ] } ] }, "schema_prefix": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_namespace_define" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "default" }, { "type": "STRING", "value": "element" }, { "type": "STRING", "value": "namespace" } ] } ] }, "module_import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "STRING", "value": "module" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_namespace_define" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "source_at" }, { "type": "BLANK" } ] } ] }, "source_at": { "type": "SEQ", "members": [ { "type": "STRING", "value": "at" }, { "type": "SYMBOL", "name": "string_literal" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "string_literal" } ] } } ] }, "namespace_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "SYMBOL", "name": "_namespace_define" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "default_namespace_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "default" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "element" }, { "type": "STRING", "value": "function" } ] }, { "type": "STRING", "value": "namespace" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "context_item_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "context" }, { "type": "STRING", "value": "item" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":=" }, { "type": "FIELD", "name": "var_value", "content": { "type": "SYMBOL", "name": "_expr" } } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "external" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":=" }, { "type": "SYMBOL", "name": "_expr" } ] }, { "type": "BLANK" } ] } ] } ] } ] }, "variable_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "annotation" } }, { "type": "STRING", "value": "variable" }, { "type": "SYMBOL", "name": "variable" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_expr_single" } } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "external" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":=" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, { "type": "BLANK" } ] } ] } ] } ] }, "function_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "annotation" } }, { "type": "STRING", "value": "function" }, { "type": "SYMBOL", "name": "_EQName" }, { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "param_list" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "return_type", "content": { "type": "SYMBOL", "name": "type_declaration" } }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "body", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "enclosed_expr" }, { "type": "STRING", "value": "external" } ] } } ] }, "param_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_param" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_param" } ] } } ] }, "_param": { "type": "SEQ", "members": [ { "type": "STRING", "value": "$" }, { "type": "SYMBOL", "name": "_EQName" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "param_type", "content": { "type": "SYMBOL", "name": "type_declaration" } }, { "type": "BLANK" } ] } ] }, "option_declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "STRING", "value": "option" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_EQName" } }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "query_body": { "type": "SYMBOL", "name": "_expr" }, "_expr": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expr_single" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_expr_single" } ] } } ] } }, "_expr_single": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "flwor_expr" }, { "type": "SYMBOL", "name": "quantified_expr" }, { "type": "SYMBOL", "name": "switch_expr" }, { "type": "SYMBOL", "name": "typeswitch_expr" }, { "type": "SYMBOL", "name": "if_expr" }, { "type": "SYMBOL", "name": "try_catch_expr" }, { "type": "SYMBOL", "name": "or_expr" }, { "type": "SYMBOL", "name": "and_expr" }, { "type": "SYMBOL", "name": "comparison_expr" }, { "type": "SYMBOL", "name": "string_concat_expr" }, { "type": "SYMBOL", "name": "range_expr" }, { "type": "SYMBOL", "name": "additive_expr" }, { "type": "SYMBOL", "name": "multiplicative_expr" }, { "type": "SYMBOL", "name": "union_expr" }, { "type": "SYMBOL", "name": "intersect_except_expr" }, { "type": "SYMBOL", "name": "instance_of_expr" }, { "type": "SYMBOL", "name": "treat_expr" }, { "type": "SYMBOL", "name": "castable_expr" }, { "type": "SYMBOL", "name": "cast_expr" }, { "type": "SYMBOL", "name": "arrow_expr" }, { "type": "SYMBOL", "name": "unary_expr" }, { "type": "SYMBOL", "name": "bang_expr" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_postfix_expr" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "absolute_path_expr" }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "absolute_path_expr" }, { "type": "SYMBOL", "name": "rel_path_expr" }, { "type": "SYMBOL", "name": "_primary_expr" } ] }, "flwor_expr": { "type": "PREC", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_initial_clause" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_intermediate_clause" } }, { "type": "SYMBOL", "name": "return_clause" } ] } }, "_initial_clause": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "for_clause" }, { "type": "SYMBOL", "name": "let_clause" }, { "type": "SYMBOL", "name": "_window_clause" } ] }, "_intermediate_clause": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_initial_clause" }, { "type": "SYMBOL", "name": "where_clause" }, { "type": "SYMBOL", "name": "group_by_clause" }, { "type": "SYMBOL", "name": "order_by_clause" }, { "type": "SYMBOL", "name": "count_clause" } ] }, "for_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "SYMBOL", "name": "for_binding" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "for_binding" } ] } } ] }, "for_binding": { "type": "SEQ", "members": [ { "type": "STRING", "value": "$" }, { "type": "SYMBOL", "name": "_EQName" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "allowing" }, { "type": "STRING", "value": "empty" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_positional_var" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "in" }, { "type": "FIELD", "name": "binding_sequence", "content": { "type": "SYMBOL", "name": "_expr_single" } } ] }, "let_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "let" }, { "type": "SYMBOL", "name": "let_binding" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "let_binding" } ] } } ] }, "let_binding": { "type": "SEQ", "members": [ { "type": "STRING", "value": "$" }, { "type": "SYMBOL", "name": "_EQName" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":=" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, "_window_clause": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "tumbling_window_clause" }, { "type": "SYMBOL", "name": "sliding_window_clause" } ] }, "tumbling_window_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "STRING", "value": "tumbling" }, { "type": "STRING", "value": "window" }, { "type": "SYMBOL", "name": "variable" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "in" }, { "type": "SYMBOL", "name": "_expr_single" }, { "type": "SYMBOL", "name": "window_start_condition" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "window_end_condition" }, { "type": "BLANK" } ] } ] }, "sliding_window_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "for" }, { "type": "STRING", "value": "sliding" }, { "type": "STRING", "value": "window" }, { "type": "SYMBOL", "name": "variable" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "in" }, { "type": "SYMBOL", "name": "_expr_single" }, { "type": "SYMBOL", "name": "window_start_condition" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "window_end_condition" }, { "type": "BLANK" } ] } ] }, "window_start_condition": { "type": "SEQ", "members": [ { "type": "STRING", "value": "start" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "current_item", "content": { "type": "SYMBOL", "name": "variable" } }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_positional_var" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "previous" }, { "type": "FIELD", "name": "previous_item", "content": { "type": "SYMBOL", "name": "variable" } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "next" }, { "type": "FIELD", "name": "next_item", "content": { "type": "SYMBOL", "name": "variable" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "when" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, "window_end_condition": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "only" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "end" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "current_item", "content": { "type": "SYMBOL", "name": "variable" } }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_positional_var" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "previous" }, { "type": "FIELD", "name": "previous_item", "content": { "type": "SYMBOL", "name": "variable" } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "next" }, { "type": "FIELD", "name": "next_item", "content": { "type": "SYMBOL", "name": "variable" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "when" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, "_positional_var": { "type": "SEQ", "members": [ { "type": "STRING", "value": "at" }, { "type": "FIELD", "name": "positional_variable", "content": { "type": "SYMBOL", "name": "variable" } } ] }, "current_item": { "type": "SEQ", "members": [ { "type": "STRING", "value": "$" }, { "type": "SYMBOL", "name": "_EQName" } ] }, "previous_item": { "type": "SEQ", "members": [ { "type": "STRING", "value": "" } ] }, "next_item": { "type": "SEQ", "members": [ { "type": "STRING", "value": "" } ] }, "count_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "count" }, { "type": "SYMBOL", "name": "variable" } ] }, "where_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "where" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, "group_by_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "group" }, { "type": "STRING", "value": "by" }, { "type": "SYMBOL", "name": "grouping_spec" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "grouping_spec" } ] } } ] }, "grouping_spec": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "grouping_var", "content": { "type": "SYMBOL", "name": "variable" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":=" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "collation" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, { "type": "BLANK" } ] } ] }, "order_by_clause": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "stable" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "order" }, { "type": "STRING", "value": "by" }, { "type": "SYMBOL", "name": "_order_spec_list" } ] } }, "_order_spec_list": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_order_spec" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "_order_spec" } ] } } ] }, "_order_spec": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "order_expr", "content": { "type": "SYMBOL", "name": "_expr_single" } }, { "type": "FIELD", "name": "order_modifier", "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "order_direction" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "order_length" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "order_collation" }, { "type": "BLANK" } ] } ] } } ] }, "order_direction": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "ascending" }, { "type": "STRING", "value": "descending" } ] } ] }, "order_length": { "type": "SEQ", "members": [ { "type": "STRING", "value": "empty" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "greatest" }, { "type": "STRING", "value": "least" } ] } ] }, "order_collation": { "type": "SEQ", "members": [ { "type": "STRING", "value": "collation" }, { "type": "FIELD", "name": "uri", "content": { "type": "SYMBOL", "name": "string_literal" } } ] }, "return_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "return" }, { "type": "SYMBOL", "name": "_expr_single" } ] }, "quantified_expr": { "type": "PREC", "value": 2, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "some" }, { "type": "STRING", "value": "every" } ] }, { "type": "FIELD", "name": "quantifier", "content": { "type": "SYMBOL", "name": "variable" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_declaration" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "in" }, { "type": "FIELD", "name": "in_binding", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_expr_single" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "variable"