book/src/atccl_ebnf_1.txt
author Eugen Sawin <sawine@me73.com>
Wed, 23 Mar 2011 21:10:10 +0100
changeset 1 866172a16472
permissions -rw-r--r--
Added book version.
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 
sawine@1
    14
                           FROM INTEGER UNTIL INTEGER
sawine@1
    15
                         | TIMESEP AT string_array IS INTEGER si_unit 
sawine@1
    16
                           FROM INTEGER UNTIL INTEGER
sawine@1
    17
                         | TIMESEP AT string IS INTEGER si_unit 
sawine@1
    18
                           AT FL int_array
sawine@1
    19
                         | TIMESEP AT string_array IS INTEGER si_unit 
sawine@1
    20
                           AT FL int_array
sawine@1
    21
                         | TIMESEP AT string IS INTEGER si_unit 
sawine@1
    22
                           FROM INTEGER UNTIL INTEGER AT FL int_array
sawine@1
    23
                         | TIMESEP AT string_array IS INTEGER si_unit 
sawine@1
    24
                           FROM INTEGER UNTIL INTEGER AT FL int_array
sawine@1
    25
                         | cterm AND cterm
sawine@1
    26
si_unit                = STRING
sawine@1
    27
pttrn                  = PATTERN ( STRING "(" term ")" | "(" term ")" )
sawine@1
    28
term                   = int_pt int_op INTEGER
sawine@1
    29
                         | char_pt string_op string
sawine@1
    30
                         | string_pt string_op string
sawine@1
    31
                         | string_array_pt string_array_op string_array
sawine@1
    32
                         | string_array string_array_op string_array_pt
sawine@1
    33
                         | string string_string_array_op string_array_pt
sawine@1
    34
                         | string string_string_array_op char_array_pt
sawine@1
    35
                         | term OR term
sawine@1
    36
                         | term AND term
sawine@1
    37
                         | NOT term
sawine@1
    38
                         | "(" term ")"