Changes
Version 1.4.6 is a bug-release upgrade from v1.4.5. An error in string handling within semantic actions is fixed, as is one of the examples. A complete change-log is available as a separate documentation file.
The source project has been upgraded to Visual Studio 2010, and the executables are built against the V4 framework.
Note for those upgrading existing projects from V1.3 or earlier.
Between V1.3.* and V1.4.1 changes were made to the way that ShiftReduceParser was initialized. Existing projects that are upgrading to V1.4. must use the upgraded version of ShiftReduceParser code. If the project builds entirely from source this happens automatically. If you use the separate component "ShiftReduceParser.DLL" you must use the new version from the binaries directory of the latest distribution.
Documentation
Documentation is in a single pdf file. This file has hyperlinked figure references, table of contents and an index. A new feature is an appendix with a quick refresher on shift/reduce parsing.
The documentation is embedded in the archive, but is also available as a separate download.
Ad Hoc Lookahead Example
This is the code of the example that I talk about in my blog at
http://softwareautomata.blogspot.com (John Gough on Software Tools) This download contains the code for both part-1 and part-2.
The code was revised at 2012-02-21 to fix a bug and simplify the example.
Real Tree Example
This example shows how to use an abstract class as the semantic value type. This is yet another variant on the interactive calculator example. In this case the parser builds an abstract syntax tree, and the calculator variables contain expression trees rather than numeric values. A simple interpreter evaluates the expression trees on demand.
A full discussion of this example and its design is in the March 2012 entry in my blog.
http://softwareautomata.blogspot.com
Source Code
Source code is embedded in the archive as a VS2008 project. The most recent version of the source code is always available from the Source Code tab of this download page.