blob: 75df0e3f9ebd51dca53041b5f6b874a7e7cd2bb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
query = tablename '?' statement .
statement = '(' + statement + ')'
| booleanstatement
| logicalstatement .
booleanstatement = statement '&' statement
| statement '|' statement
| '!' statement .
logicalstatement = logicalstatement ('<'|'>'|'<='|'=>'|'=='|'!='|'~')
logicalstatement .
| value .
| variable .
value = floatnumber | decimalnumber | hexnumber |
octalnumber | string .
variable = identifier .
tablename = identifier .
identifier = UnicodeLetter { UnicodeLetter | UnicodeDigit } .
floatnumber = decimals "." [ decimals ] [ exponent ] |
decimals exponent |
"." decimals [ exponent ] |
[ "+" | "-" ] "nan" | [ "+" | "-" ] "inf" .
decimals = decimal_digit { decimal_digit } .
exponent = ( "e" | "E" ) [ "+" | "-" ] decimals .
decimalnumber = ( "1" ... "9" ) { decimal_digit } | "0" .
hexnumber = 0" ( "x" | "X" ) hex_digit { hex_digit }.
octalnumber = "0" octal_digit { octal_digit } .
decimal_digit = "0" ... "9" .
hex_digit = "0" ... "9" | "A" ... "F" | "a" ... "f" .
octal_digit = "0" ... "7" .
string = '"' { normalchar | escapedchar } '"'.
normalchar = Char - '"' - "\" .
escapedchar = "\" Char .
# Char, UnicodeLetter and UnicodeDigit are assumed to be predefined.
# Example: materials ? (30 <= shearmodulus <= 50)
|