49
|
1 syntax ::= select expr_list from var_defs where condition
|
|
2
|
|
3 name ::= <\w>+
|
|
4
|
|
5 fqdn ::= name[.name...]
|
|
6
|
|
7 string ::= '[{<^'>+|<'>{2}}...]'
|
|
8
|
|
9 number ::= [{+|-}] <\d>+
|
|
10
|
|
11 math_op ::= {+|-|*|/}
|
|
12
|
|
13 compare_op ::= {<\>>|<\<>|==|!=}
|
|
14
|
|
15 log_op ::= {OR|AND}
|
|
16
|
|
17 not_op ::= NOT
|
|
18
|
|
19 expr ::= {string|number|fqdn} [math_op {string|number|fqdn|( expr )} ...]
|
|
20
|
|
21 expr_list ::= expr [, expr ...]
|
|
22
|
|
23 type ::= name [<\<>type [, type ...]<\>>]
|
|
24
|
|
25 condition ::= [not_op] expr compare_op expr [log_op {condition|( condition )} ...]
|
|
26
|
|
27 var_defs ::= name as type [, name as type ...]
|