This list should be in alphabetical order by Language first, then Engine.
Note that any engine that says "(plus DLL)" in the Language column should be usable from any language that can access DLLs.
Table Key
Virtual Terminals
What, if any, Virtual Terminals are supported by the engine?
Error Checking
The type of checking, if any, the engine does on things such as ensuring that symbol names exist in the grammar being used.
Generates Skeleton Code
Is there a way to automatically generate source code to parse a given grammar with the particular engine?
Grammars Embeddable
Does the engine provide a way to embed a grammar directly into your program? If so, how?
Grammars At Runtime
Does the engine provide a way to load a grammar at runtime (ie, not embedded)? This can be useful when writing a program designed to support user-defined grammars.
Language
| Engine
| License
| Platform
| Documentation
| Virtual Terminals
| Error Checking
| Generates Skeleton Code
| Grammars Embeddable
| Grammars At Runtime
| Notes
|
---|
Assembly (x86) (plus DLL)
| Madra v1.2
| ?
| Windows
| ?
| ?
| ?
| ?
| ?
| ?
| A DLL version is available which allows this engine to be used with any language that can call DLLs.
|
C
| Holmes 1/2005
| ?
| Windows, Linux (untested: All others)
| ?
| ?
| ?
| ?
| ?
| ?
|
|
C (MSVC 6)
| P.H.
| ?
| Windows (untested: All others)
| ?
| ?
| ?
| ?
| ?
| ?
| A modification of the Holmes engine.
|
C++
| Astudillo v1.0.4
| LGPL
| Linux, FreeBSD, HPUX
| ?
| ?
| ?
| ?
| ?
| ?
|
|
C++
| Bodde wxWidgets v1.0
| ?
| Windows, Linux (untested: OSX, Solaris)
| ?
| ?
| ?
| ?
| ?
| ?
|
|
C++
| LUDO v3.4.0.0
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
|
|
D (D2)
| Goldie v0.7
| zlib/libpng
| Windows, Linux (untested: OSX, FreeBSD)
| Online, Download
| None
| Compile-Time
| No
| Yes, generates code to be compiled in.
| Yes
|
|
D (D1/Tango, D1/Phobos)
| Piepkorn v1.0
| ?
| ?
| None
| ?
| ?
| Yes
| Yes, generates code to be compiled in.
| ?
| Seems to have been abandoned. May or may not still work with current versions of the D compiler or Tango.
|
Language
| Engine
| License
| Platform
| Documentation
| Virtual Terminals
| Error Checking
| Generates Skeleton Code
| Grammars Embeddable
| Grammars At Runtime
| Notes
|
---|
Delphi
| Khachab
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| A modification of the van der Geer engine.
|
Delphi (Delphi 5 and Delphi 3)
| Rai v1.0
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
|
|
Delphi
| van der Geer v0.2 Alpha
| ?
| ?
| ?
| ?
| ?
| ?
| ?
| ?
|
|
Java
| Hawkins v1.0.3
| ?
| All JVM-compatible OSes
| Online, Download Tutorial
| ?
| ?
| ?
| ?
| ?
|
|
Java
| Schwibbe v1.2
| ?
| All JVM-compatible OSes
| ?
| ?
| ?
| ?
| ?
| ?
| A modification of the Hawkins engine to be compatible with Eclipse.
|
Language
| Engine
| License
| Platform
| Documentation
| Virtual Terminals
| Error Checking
| Generates Skeleton Code
| Grammars Embeddable
| Grammars At Runtime
| Notes
|
---|
.NET Languages
| BSN
| LGPL
| .NET
| Online Tutorial
| Any (by overriding the NextToken method on the tokenizer)
| Run-Time
| No, but has an alternative way of binding code to grammars
| Yes, can load CGT files embedded as a resource.
| Yes, from any stream
| Handles comments differently than the GOLD Parser Builder reference implementation.
|
.NET Languages
| Calitha v1.10
| ?
| .NET
| Online, Download
| ?
| ?
| yes, templates distributed w/builder
| ?
| ?
|
|
.NET Languages
| Klimstra v1.1 Beta
| ?
| .NET
| Online
| ?
| ?
| ?
| ?
| ?
|
|
.NET Languages
| Morozov v2.1
| ?
| .NET
| Online, Download
| ?
| ?
| yes, templates distributed w/builder
| ?
| ?
|
|
.NET Languages
| Wilbanks
| ?
| .NET
| ?
| ?
| ?
| ?
| ?
| ?
|
|
Pascal (Object Pascal)
| van den Brink v1.1
| ?
| ?
| ?
| SynError (for error productions)
| ?
| ?
| Yes
| ?
|
|
Python
| PyGold v0.9.1
| zlib/libpng
| All Python-compatible OSes
| ?
| ?
| ?
| ?
| ?
| ?
|
|
VB6 (plus DLL)
| Cook v3.0.0
| ?
| Windows
| Online, Download
| ?
| ?
| ?
| ?
| ?
| This is the engine used by the test window of GOLD Parser Builder. A Visual C++ project is available.
|