Topical Information

The purpose of this research project is to explore the power of quick language specification with lex and yacc (or flex and bison — their younger cousins).

Project Information

Your report needs to cover the origins of the lex and yacc tools, their theoretical basis for existence and working, common applications, [lack of] portability, and compare/contrast your experience with building either the expression lexer or the data lexer (see below) to doing the same thing by hand in C.

Support Code Information

The support code is in three parts:

If you combine the results of the data lexer with the expression interpreter (allowing for data 'values' to be expressions in some way), I'll throw in an extra (Level 3).

This assignment is (Level 8). (This does not include any enhancements or add-ons you chose to do above, please add their appropriate level as well.)