tree-sitter-xquery
Version:
XQuery tree-sitter
2,350 lines (2,349 loc) • 148 kB
JSON
{
"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"