Covers context-free grammars, including the definition of non-terminal and terminal symbols, rules for generating strings, and the concept of derivations.
Explores parsing text into trees using parser combinators in Scala, covering filtering, transforming, sequencing, alternatives, recursion, spaces handling, lexing, monadic nature, and for-notation.