Syntax Conventions

< > ==> optional
a | b ==> either a or b