Irony is a new-generation .NET compiler construction kit. It utilizes the full potential of c# 2.0 and .NET Framework to implement a completely new and streamlined technology of compiler construction.
Unlike most existing yacc/lex-style solutions Irony does not employ any scanner or parser code generation from grammar specifications written in proprietary meta-language. In Irony the target language grammar is coded directly in c# using operator overloading to express grammar constructs. Irony's scanner and parser modules use the grammar encoded as c# class to control the parsing process. See the expression grammar sample for an example of grammar definition in c# class, and using it in a working parser.

Initial Release
The initial release contains implementation of compiler front-end modules - scanner and LALR(1) parser. We provide several test grammars and parser implementations based on them: a grammar for parsing arithmetic expressions, and simplified grammars for Scheme, Python and Ruby.

System Requirements
Windows XP/Vista, .NET Framework 2.0, Visual Studio 2005/Express

Project News
Petro Protsyk, Script.NET project coordinator, has added an online evaluate/parse demo page, which uses Irony-based parser: http://www.consorito.com/calc_value.aspx.

More information
Demo Running Instructions
Expression grammar sample
Project Roadmap
Article on CodeProject - Introduction to Irony
LangNET 2008 presentations
Source changes history

Last edited Feb 22, 2008 at 3:39 PM by rivantsov, version 22