The Tower Bridge in Sacramento, California GOLD Parser Engine
C# Programming Language
 

Main

Latest News
Getting Started
Screen Shots
Download
Documentation
Contributors
Contact


About GOLD

How It Works
FAQ
Why Use GOLD?
Comparison
Revision History
Freeware License
More ...


Articles

What is a Parser?
Backus-Naur Form
DFA Lexer
LALR Parsing
Glossary
Links
More ...


GOLD Newsgroup


 

.NET is a technology developed by the Microsoft Corporation for cross-language interoperability. .NET Languages are not directly compiled, but, instead, translated to an intermediary language called MSIL (Microsoft Intermediate Language).  In turn, MSIL concisely describes the program's data types, access rights, and logic to the Common Language Runtime (CLR).

In short, the .NET Framework allows components developed in different programming languages to be used together. In time, it is designed to replace COM (also known as ActiveX).

Microsoft .NET Homepage

C# Engine Quick Menu
Language Doc?
Morozov Engine
Klimstra Engine
Calitha Engine

 

 

Morozov C# Engine
by Vladimir Morozov
.NET DLL Vladimir Morozov created a new implementation of the Engine using both Marcus Klimstra's C# Engine and Alexender's Rai Delphi Engine as templates. The latest version is optimized for execution speed and has simplified API. The engine has the following features: grammar tables are represented as an instance of Grammar class and can be reused between multiple parsing iterations; TextReader instance is used as an input to the parser; the engine does not create Reduction objects to allow client application to do it in optimal way (see samples); it supports special messages to help to collect comment lines; it provides ability to collect source lines using special callback function.
Author: Vladimir Morozov
Version: 2.1
Size: 12 KB
Homepage: www.notebar.com
Source Code The ZIP file contains full source code of the engine, Source code for SimpleInterpreter sample, Source code for Tree Builder sample, Generated documentation files in CHM and HTML formats.
Author: Vladimir Morozov
Version: 2.1
Size: 632 KB
Homepage: www.notebar.com
Program Templates New! Dave Dolan created two program templates for use with the Morozov implementation of the Engine.

The download contains two templates - one for C# version 1 and a second for version 2.

Documentation Documentation is available for this implementation of the Engine.
Online Documentation
Downloadable Documentation

 

Klimstra C# Engine
by Marcus Klimstra

.NET Module

This version of the Engine was implemented on Microsoft's new .NET® Platform. Developers using C#®,  Visual Basic .NET®, J#® or any of the .NET compliant programming languages can use this component to develop interpreters, translators and compilers.
Author: Marcus Klimstra
Version: 1.1 Beta
Size: 10 KB

C# Source

Marcus Klimstra has translated the Visual Basic 5 source to Microsoft C#®. The ZIP file contains all the C# code used to create the .NET Module that you can download above. In addition, the source code includes the example Parse Tree project.
Author: Marcus Klimstra
Language: 1.1 Beta
Version: Microsoft C#
Size: 30 KB
Documentation Documentation is available for this implementation of the Engine.
Online Documentation
Project:
Parse Tree
This is a simple project which loads a Compiled Grammar Table file and draws a parse tree for a given input string. An example grammar called  "Simple"  is included. This download includes the .NET Module.
Author: Marcus Klimstra
Language: Microsoft C#
Version: 1.1 Beta
Size: 14 KB

ActiveX DLL Recompiled

Max Battcher recompiled the .NET Module code into a standard DLL. This should allow easy development in Visual Studio and other related IDEs.
Author: Max Battcher
Size: 10 KB

Modified Engine

Adrian Moore modified Marcus Klimstra's Engine so that the Compiled Grammar Table file can be an embedded resource in the assembly's manifest. As a result, the Reduction, LookAheadReader, GrammarReader and GoldParser objects were modified.
Author: Adrian Moore
Size: 19 KB

Simple Interpreter
Project

(Visual Basic .NET)

Adrian Moore created an interpreter for the Simple grammar using his modified version of Marcus Klimsta's C# Engine. The actual project is written in Visual Basic .NET
Author: Adrian Moore
Size: 47 KB

 

Calitha C# Engine
by Robert van Loenhout

Calitha .NET DLL

Robert van Loenhout created the Calitha Engine using the C# Programming Language. The new version has the following improvements:  the ability to set user object in reductions,  performance improvement when using large character sets, font selection in test project, making user selections persistent between application sessions, and file source browsing and UTF-16 Little Endian BOM detection.

The zip file contains a signed DLL designed to work the .NET system.

Author: Robert van Loenhout
Version: 1.10
Size: 130 KB
Homepage: www.calitha.com

C# Source

Robert van Loenhout created the Calitha Engine for the Microsoft .NET architecture. This version was written in Microsoft C#®. He also supplied full documentation for using the DLL.
Author: Robert van Loenhout
Language: Microsoft C#
Version: 1.10
Size: 514 KB
Homepage: www.calitha.com
Documentation Documentation is available for this implementation of the Engine.
Online Documentation
Downloadable Documentation
Program Template:
Dolan Version
This is a modified version of the program template included with the Robert van Loenhout's Calitha Engine. This version was modified to generate a tiny factory class "MyParserFactory". It was designed not to touch the other signatures in the MyParser class.
Author: Dave Dolan
Date: November 17, 2006
Project:
Gramma Analyzer
Mat Housell submitted this sample project using the Calitha Engine. When a grammar is opened, it does some syntax highlighting, creates a tree view and other helpful reports.
Author: Mat Hounsell
Version: 1.1.1521