Stages in Using Bison
The actual language-design process using Bison, from grammar specification to a working compiler or interpreter, has these parts:1. 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.
2. 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.
3. Write a controlling function that calls the Bison-produced parser.
4. Write error-reporting routines.
To turn this source code as written into a runnable program, you must follow these steps:
1. Run Bison on the grammar to produce the parser.
2. Compile the code output by Bison, as well as any other source files.
3. Link the object files to produce the finished product.
We can use single quoted characters as tokens without declaring them.
FAQ
1) context-dependent rule such as unary operator + and -
2) How to resolve the conflicts:
IF (expr) stmt (ELSE stmt)?
3)
References:
http://www.gnu.org/software/bison/
No comments:
Post a Comment