Languages and grammars
In order for a parser to be able to understand a program, it needs a formal description of that language-a grammar. In this chapter, we will work with a so-called parsing expression grammar (PEG). A PEG is (relatively) easy to define and there are libraries that can generate a parser for a given grammar automatically.
A grammar consists of terminal symbols and non-terminal symbols. A non-terminal symbol is a symbol that maybe composed of several other symbols, following certain rules (production rules). For example, a grammar could contain a number as non-terminal symbol. Each number could be defined as an arbitrary-length sequence of digits. As a digit could then be any of the characters from 0 to 9 (with each of the actual ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access