Introduction

This is Version 3.4 of these tools. It requires the .NET Framework to run.

The tools are

The documentation is in

The source files for the tools are

The remaining files in this distribution are samples etc.

Rebuilding the tools from the sources

toolcs.bat rebuilds Tools.dll, lg.exe, and pg.exe from the sources in a two-stage bootstrap procedure, described in section 7.7 of the accompanying booklet.

During this process, the C# compiler issues warnings about unreachable code. This is a feature of the tools. One such warning is issued for each OldAction clause in lexer and parser scripts. The cs0.parser script also has two harmless shift/reduce conflicts.

If you want a version of the library to be placed in the global assembly cache (gac), proceed as follows.

First, prepare all the sources by running toolcs.bat. Then run the script gacvers.bat.

This creates CSTools.dll and links lg and pg to use this.

CSTools.dll is just Tools.dll signed with the key pair sgkey. snk, which you will find here and given the right version number.

The install.bat file places the signed library CSTools.dll in the global assembly cache. This makes executables independent of the dll, but you need to reference a copy of CSTools.dll when creating the executable.