mirror of https://gitee.com/bigwinds/arangodb
98 lines
3.2 KiB
EBNF
98 lines
3.2 KiB
EBNF
/* converted on Thu May 10, 2012, 22:39 (UTC+02) by bison-to-w3c v0.27.400 which is Copyright (c) 2011-2012 by Gunther Rademacher <grd@gmx.net> */
|
|
|
|
query ::= statement_block_statement* return_statement
|
|
statement_block_statement
|
|
::= for_statement
|
|
| let_statement
|
|
| filter_statement
|
|
| collect_statement
|
|
| sort_statement
|
|
| limit_statement
|
|
for_statement
|
|
::= T_FOR variable_name T_IN expression
|
|
filter_statement
|
|
::= T_FILTER expression
|
|
let_statement
|
|
::= T_LET variable_name T_ASSIGN expression
|
|
collect_statement
|
|
::= T_COLLECT collect_element ( T_COMMA collect_element )* optional_into
|
|
collect_element
|
|
::= variable_name T_ASSIGN expression
|
|
| expression
|
|
optional_into
|
|
::= ( T_INTO variable_name )?
|
|
sort_statement
|
|
::= T_SORT sort_element ( T_COMMA sort_element )*
|
|
sort_element
|
|
::= expression sort_direction
|
|
sort_direction
|
|
::= ( T_ASC | T_DESC )?
|
|
limit_statement
|
|
::= T_LIMIT signed_number
|
|
| T_LIMIT signed_number T_COMMA signed_number
|
|
return_statement
|
|
::= T_RETURN expression
|
|
expression
|
|
::= T_OPEN expression T_CLOSE
|
|
| T_OPEN query T_CLOSE
|
|
| operator_unary
|
|
| operator_binary
|
|
| operator_ternary
|
|
| T_STRING T_OPEN optional_function_call_arguments T_CLOSE
|
|
| compound_type
|
|
| atomic_value
|
|
| T_STRING ( '.' T_STRING | T_LIST_OPEN expression T_LIST_CLOSE )* ( T_EXPAND ( '.' T_STRING | T_LIST_OPEN expression T_LIST_CLOSE )+ )*
|
|
operator_unary
|
|
::= T_PLUS expression
|
|
| T_MINUS expression
|
|
| T_NOT expression
|
|
operator_binary
|
|
::= expression T_OR expression
|
|
| expression T_AND expression
|
|
| expression T_PLUS expression
|
|
| expression T_MINUS expression
|
|
| expression T_TIMES expression
|
|
| expression T_DIV expression
|
|
| expression T_MOD expression
|
|
| expression T_EQ expression
|
|
| expression T_NE expression
|
|
| expression T_LT expression
|
|
| expression T_GT expression
|
|
| expression T_LE expression
|
|
| expression T_GE expression
|
|
| expression T_IN expression
|
|
operator_ternary
|
|
::= expression T_QUESTION expression T_COLON expression
|
|
optional_function_call_arguments
|
|
::= ( expression ( T_COMMA expression )* )?
|
|
compound_type
|
|
::= list
|
|
| array
|
|
list ::= T_LIST_OPEN optional_list_elements T_LIST_CLOSE
|
|
optional_list_elements
|
|
::= ( expression ( T_COMMA expression )* )?
|
|
array ::= T_DOC_OPEN optional_array_elements T_DOC_CLOSE
|
|
optional_array_elements
|
|
::= ( array_element ( T_COMMA array_element )* )?
|
|
array_element
|
|
::= array_element_name T_COLON expression
|
|
atomic_value
|
|
::= value_literal
|
|
| bind_parameter
|
|
value_literal
|
|
::= T_QUOTED_STRING
|
|
| T_NUMBER
|
|
| T_NULL
|
|
| T_TRUE
|
|
| T_FALSE
|
|
bind_parameter
|
|
::= T_PARAMETER
|
|
array_element_name
|
|
::= T_STRING
|
|
| T_QUOTED_STRING
|
|
variable_name
|
|
::= T_STRING
|
|
signed_number
|
|
::= T_NUMBER
|
|
| '-' T_NUMBER
|