Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Grammar Notation

This specification uses Extended Backus-Naur Form (EBNF) notation:

  • ::= means “is defined as”
  • | separates alternatives
  • * means zero or more repetitions
  • + means one or more repetitions
  • ? means optional (zero or one)
  • () groups elements
  • [] denotes literal square brackets in the language
  • "" denotes literal strings