# <> must choose # [] can choose # {} can repeat 0 to infinite time(s) # | or # ::= is defined as ::= ::= ::= ::= ::= ::= <[> { <,>} <]> ::= <{> {( | ) <:> <,>} <}> ::= | | | | | | | | | <(> <)> | { (<[> { <,>} <]>) | (<[> <:> [] <]>) | (<.> ) | (<(> { <,>} <)>) | (<(> { <:> <,>} <)>) } ::= [<(> <)>] | [<(> <)>] <{> { <;>} <}> | <(> { <,>} { <=> <,>} {} <)> | <(> { <,>} { <=> <,>} {} <)> <{> { <;>} <}> ::= | | | | [<->|] ::= { } ::= { } ::= {<+>|<->|<~> } ::= <->| {<*>| } ::= | <=> | <(> {() | () <,>} <)> <=> | <(> {() | () <,>} <)> <=> | <(> {() | () <,>} <)> <=> <(> { <,>} <)> | <(> {() | () <,>} <)> <=> <(> { <,>} <)> ::= <=> | <(> { <,>} <)> <=> | <(> { <,>} <)> <=> <(> { <,>} <)> ::= | | | ::= <(> [] <;> [] <;> <)> [<;>] | <(> [] <;> [] <;> <)> <{> { <;>} <}> ::= <(> <)> [<;>] | <(> <)> <{> { <;>} <}> ::= <(> [ [] <)> [<;>] | <(> [ [] <)> <{> { <;>} <}> ::= <(> [ [] <)> [<;>] | <(> [ [] <)> <{> { <;>} <}> ::= {} [] ::= <(> <)> [<;>] | <(> <)> <{> { <;>} <}> ::= <(> <)> [<;>] | <(> <)> <{> { <;>} <}> | <(> <)> [<;>] | <(> <)> <{> { <;>} <}> ::= [<;>] | <{> { <;>} <}> ::= ::= ::= [] ::= | | | | | |