diff -r feede61efa96 -r 866172a16472 book/src/atccl_ebnf.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/book/src/atccl_ebnf.txt Wed Mar 23 21:10:10 2011 +0100 @@ -0,0 +1,65 @@ +prog ::= { rule } +rule ::= pttrn + | constrnt + | flowp + | COM +flowp ::= FLOWP STRING "(" flowp_entry ")" +flowp_entry ::= pttrn_lbl ":" constrnt_lbl +pttrn_lbl ::= STRING +constrnt_lbl ::= STRING +constrnt ::= CONSTRNT STRING "(" cterm ")" +cterm ::= TIMESEP AT string IS INTEGER si_unit + | TIMESEP AT string_array IS INTEGER si_unit + | TIMESEP AT string IS INTEGER si_unit FROM INTEGER + UNTIL INTEGER + | TIMESEP AT string_array IS INTEGER si_unit FROM + INTEGER UNTIL INTEGER + | TIMESEP AT string IS INTEGER si_unit AT FL int_array + | TIMESEP AT string_array IS INTEGER si_unit AT FL + int_array + | TIMESEP AT string IS INTEGER si_unit FROM INTEGER + UNTIL INTEGER AT FL int_array + | TIMESEP AT string_array IS INTEGER si_unit FROM + INTEGER UNTIL INTEGER AT FL int_array + | cterm AND cterm +si_unit ::= STRING +pttrn ::= PATTERN ( STRING "(" term ")" | "(" term ")" ) +term ::= int_pt int_op INTEGER + | char_pt string_op string + | string_pt string_op string + | string_array_pt string_array_op string_array + | string_array string_array_op string_array_pt + | string string_string_array_op string_array_pt + | string string_string_array_op char_array_pt + | term OR term + | term AND term + | NOT term + | "(" term ")" +int_op ::= IS + | IS NOT + | GREATER THAN + | LESS THAN +string_op ::= IS [ NOT ] +string_array_op ::= IS + | IS NOT + | IN + | NOT IN +string_string_array_op ::= [ NOT ] IN +int_array ::= "[" ints "]" +ints ::= { ( "," int | int ) } +int ::= INTEGER +string_array ::= "[" strings "]" +strings ::= { ( "," string | string ) } +int_pt ::= TAS +char_pt ::= FTYP +string_pt ::= ADEP + | ADES + | RWY + | ATYP + | COPX + | FRUL + | RFL + | TRAVEL_TYPE +string_array_pt ::= ROUTE +char_array_pt ::= EQUIP +string ::= QUOTE STRING QUOTE