<A> --> <B> means that <A> can be derived to be <B>
<A> --> <B>
--> <C> means that <A> can be derived to be <B> or <C>
 
( <A> | <B> ) means either <A> or <B>
( <A> ) means <A>
[ <A> ] means 0 or 1 <A>
( <A> )* means a sequence of 0 or more instances of <A>
( <A> )+ means a sequence of 1 or more instances of <A>