author | Eugen Sawin <sawine@me73.com> |
Fri, 25 Mar 2011 15:57:06 +0100 | |
changeset 6 | 189c28168c97 |
permissions | -rw-r--r-- |
sawine@1 | 1 |
prog ::= { rule } |
sawine@1 | 2 |
rule ::= pttrn |
sawine@1 | 3 |
| constrnt |
sawine@1 | 4 |
| flowp |
sawine@1 | 5 |
| COM |
sawine@1 | 6 |
flowp ::= FLOWP STRING "(" flowp_entry ")" |
sawine@1 | 7 |
flowp_entry ::= pttrn_lbl ":" constrnt_lbl |
sawine@1 | 8 |
pttrn_lbl ::= STRING |
sawine@1 | 9 |
constrnt_lbl ::= STRING |
sawine@1 | 10 |
constrnt ::= CONSTRNT STRING "(" cterm ")" |
sawine@1 | 11 |
cterm ::= TIMESEP AT string IS INTEGER si_unit |
sawine@1 | 12 |
| TIMESEP AT string_array IS INTEGER si_unit |
sawine@1 | 13 |
| TIMESEP AT string IS INTEGER si_unit FROM INTEGER |
sawine@1 | 14 |
UNTIL INTEGER |
sawine@1 | 15 |
| TIMESEP AT string_array IS INTEGER si_unit FROM |
sawine@1 | 16 |
INTEGER UNTIL INTEGER |
sawine@1 | 17 |
| TIMESEP AT string IS INTEGER si_unit AT FL int_array |
sawine@1 | 18 |
| TIMESEP AT string_array IS INTEGER si_unit AT FL |
sawine@1 | 19 |
int_array |
sawine@1 | 20 |
| TIMESEP AT string IS INTEGER si_unit FROM INTEGER |
sawine@1 | 21 |
UNTIL INTEGER AT FL int_array |
sawine@1 | 22 |
| TIMESEP AT string_array IS INTEGER si_unit FROM |
sawine@1 | 23 |
INTEGER UNTIL INTEGER AT FL int_array |
sawine@1 | 24 |
| cterm AND cterm |
sawine@1 | 25 |
si_unit ::= STRING |
sawine@1 | 26 |
pttrn ::= PATTERN ( STRING "(" term ")" | "(" term ")" ) |
sawine@1 | 27 |
term ::= int_pt int_op INTEGER |
sawine@1 | 28 |
| char_pt string_op string |
sawine@1 | 29 |
| string_pt string_op string |
sawine@1 | 30 |
| string_array_pt string_array_op string_array |
sawine@1 | 31 |
| string_array string_array_op string_array_pt |
sawine@1 | 32 |
| string string_string_array_op string_array_pt |
sawine@1 | 33 |
| string string_string_array_op char_array_pt |
sawine@1 | 34 |
| term OR term |
sawine@1 | 35 |
| term AND term |
sawine@1 | 36 |
| NOT term |
sawine@1 | 37 |
| "(" term ")" |
sawine@1 | 38 |
int_op ::= IS |
sawine@1 | 39 |
| IS NOT |
sawine@1 | 40 |
| GREATER THAN |
sawine@1 | 41 |
| LESS THAN |
sawine@1 | 42 |
string_op ::= IS [ NOT ] |
sawine@1 | 43 |
string_array_op ::= IS |
sawine@1 | 44 |
| IS NOT |
sawine@1 | 45 |
| IN |
sawine@1 | 46 |
| NOT IN |
sawine@1 | 47 |
string_string_array_op ::= [ NOT ] IN |
sawine@1 | 48 |
int_array ::= "[" ints "]" |
sawine@1 | 49 |
ints ::= { ( "," int | int ) } |
sawine@1 | 50 |
int ::= INTEGER |
sawine@1 | 51 |
string_array ::= "[" strings "]" |
sawine@1 | 52 |
strings ::= { ( "," string | string ) } |
sawine@1 | 53 |
int_pt ::= TAS |
sawine@1 | 54 |
char_pt ::= FTYP |
sawine@1 | 55 |
string_pt ::= ADEP |
sawine@1 | 56 |
| ADES |
sawine@1 | 57 |
| RWY |
sawine@1 | 58 |
| ATYP |
sawine@1 | 59 |
| COPX |
sawine@1 | 60 |
| FRUL |
sawine@1 | 61 |
| RFL |
sawine@1 | 62 |
| TRAVEL_TYPE |
sawine@1 | 63 |
string_array_pt ::= ROUTE |
sawine@1 | 64 |
char_array_pt ::= EQUIP |
sawine@1 | 65 |
string ::= QUOTE STRING QUOTE |