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