paper/src/atccl_ebnf.txt
changeset 0 feede61efa96
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/paper/src/atccl_ebnf.txt	Fri Jun 04 13:48:28 2010 +0200
     1.3 @@ -0,0 +1,65 @@
     1.4 +prog                   ::= { rule }
     1.5 +rule                   ::= pttrn
     1.6 +                         | constrnt
     1.7 +                         | flowp
     1.8 +                         | COM
     1.9 +flowp                  ::= FLOWP STRING "(" flowp_entry ")"
    1.10 +flowp_entry            ::= pttrn_lbl ":" constrnt_lbl
    1.11 +pttrn_lbl              ::= STRING
    1.12 +constrnt_lbl           ::= STRING
    1.13 +constrnt               ::= CONSTRNT STRING "(" cterm ")"
    1.14 +cterm                  ::= TIMESEP AT string IS INTEGER si_unit
    1.15 +                         | TIMESEP AT string_array IS INTEGER si_unit
    1.16 +                         | TIMESEP AT string IS INTEGER si_unit FROM INTEGER
    1.17 +                           UNTIL INTEGER
    1.18 +                         | TIMESEP AT string_array IS INTEGER si_unit FROM
    1.19 +                           INTEGER UNTIL INTEGER
    1.20 +                         | TIMESEP AT string IS INTEGER si_unit AT FL int_array
    1.21 +                         | TIMESEP AT string_array IS INTEGER si_unit AT FL
    1.22 +                           int_array
    1.23 +                         | TIMESEP AT string IS INTEGER si_unit FROM INTEGER
    1.24 +                           UNTIL INTEGER AT FL int_array
    1.25 +                         | TIMESEP AT string_array IS INTEGER si_unit FROM
    1.26 +                           INTEGER UNTIL INTEGER AT FL int_array
    1.27 +                         | cterm AND cterm
    1.28 +si_unit                ::= STRING
    1.29 +pttrn                  ::= PATTERN ( STRING "(" term ")" | "(" term ")" )
    1.30 +term                   ::= int_pt int_op INTEGER
    1.31 +                         | char_pt string_op string
    1.32 +                         | string_pt string_op string
    1.33 +                         | string_array_pt string_array_op string_array
    1.34 +                         | string_array string_array_op string_array_pt
    1.35 +                         | string string_string_array_op string_array_pt
    1.36 +                         | string string_string_array_op char_array_pt
    1.37 +                         | term OR term
    1.38 +                         | term AND term
    1.39 +                         | NOT term
    1.40 +                         | "(" term ")"
    1.41 +int_op                 ::= IS
    1.42 +                         | IS NOT
    1.43 +                         | GREATER THAN
    1.44 +                         | LESS THAN
    1.45 +string_op              ::= IS [ NOT ]
    1.46 +string_array_op        ::= IS
    1.47 +                         | IS NOT
    1.48 +                         | IN
    1.49 +                         | NOT IN
    1.50 +string_string_array_op ::= [ NOT ] IN
    1.51 +int_array              ::= "[" ints "]"
    1.52 +ints                   ::= { ( "," int | int ) }
    1.53 +int                    ::= INTEGER
    1.54 +string_array           ::= "[" strings "]"
    1.55 +strings                ::= { ( "," string | string ) }
    1.56 +int_pt                 ::= TAS
    1.57 +char_pt                ::= FTYP
    1.58 +string_pt              ::= ADEP
    1.59 +                         | ADES
    1.60 +                         | RWY
    1.61 +                         | ATYP
    1.62 +                         | COPX
    1.63 +                         | FRUL
    1.64 +                         | RFL
    1.65 +                         | TRAVEL_TYPE
    1.66 +string_array_pt        ::= ROUTE
    1.67 +char_array_pt          ::= EQUIP
    1.68 +string                 ::= QUOTE STRING QUOTE