The | indicates a mutually exclusive choice between symbols in a non-terminal symbol definition.
The => separates the non-terminal symbols on the left from its definition on the right. Can be read as is “defined as ...”
Square brackets [ ] indicate that the symbols within the brackets are optional. This is a BNF convention. Recall that square brackets themselves may appear in the SCP as part of the Rational Statemate expression.
Curled brackets { } indicate that the symbols which they enclose are optional and can be repeated.