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.
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.
Windows XP/Vista, .NET Framework 2.0, Visual Studio 2005/Express
Petro Protsyk, Script.NET project coordinator, has added an online evaluate/parse demo page, which uses Irony-based parser:
Demo Running Instructions
Expression grammar sample
Article on CodeProject - Introduction to Irony
LangNET 2008 presentations
Source changes history