A type-con file contains the context-free grammar describing how the structure of a program is determined from the sequence of tokens.
In the syntactic notation used here, syntactic categories (nonterminals) are indicated by words in this type, and literal words and character set members (terminals) are enclosed in apostrophes ' '. The underscore character _ is used instead of the standard's hyphen - within symbols. A colon (:) following a nonterminal introduces its definition. Alternative definitions are separated by slashes (/), and the definition is terminated by a period.
CHANGEME: There should be a description of the BNF extensions here, as well as a brief discussion of the need to use them in order to implement certain lists.
An optional symbol is indicated by adding _opt to the name.
Optional symbols are defined implicitly in the standard, but explicit definitions are required in order to generate a parser: