Parser defines a "grammar"
Now we will build a parser. The parser specification that we create will define what the legal grammar is for the tokens it receives from the lexer. Here's the grammar for our book example:
book ::= FIELD SLASH FIELD SLASH FIELD SLASH FIELD SLASH FIELD EOL
This grammar says: "books is comprised of either a book, or books followed
by book (note the recursive definition). A book is comprised of a FIELD
token followed by a SLASH token followed by 3 more FIELD/SLASH token
pairs, then finally a FIELD token followed by an EOL (End Of Line) token."