1.8 Stages in Using Bison
The actual language-design process using Bison, from grammar specification
to a working compiler or interpreter, has these parts:
- Formally specify the grammar in a form recognized by Bison
(see Bison Grammar Files). For each grammatical rule
in the language, describe the action that is to be taken when an
instance of that rule is recognized. The action is described by a
sequence of C statements.
- Write a lexical analyzer to process input and pass tokens to the parser.
The lexical analyzer may be written by hand in C (see The Lexical Analyzer Function
yylex). It could also be produced
using Lex, but the use of Lex is not discussed in this manual.
- Write a controlling function that calls the Bison-produced parser.
- Write error-reporting routines.
To turn this source code as written into a runnable program, you
must follow these steps:
- Run Bison on the grammar to produce the parser.
- Compile the code output by Bison, as well as any other source files.
- Link the object files to produce the finished product.