By Malcolm Crowe
This document presents compiler writing tools in the tradition of lex and yacc, but using C# as an implementation language. The tools are written using object-oriented techniques that are natural to C# and are provided in source form to assist an understanding of the standard algorithms used.
Full user documentation and a number of examples are provided, making this document suitable for regular use by compiler writers. However, because it is intended for use in a university course, speed has always been sacrificed for readability in any case of conflict. The tools perform well enough to develop command-line compilers, but are not recommended in other situations such as just-in-time or incremental compilation.
Read Booklet.doc included in CSTools.zip for the rest of this explanation and for the source code associated with this article.
CSTools.zip