Irony is a development kit for implementing languages on .NET platform. It uses the flexibility and power of c# language and .NET Framework 3.5 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 a specialized 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 simple arithmetic expressions and simplified grammars for c#, Scheme, SQL, GwBasic, JSON and others.
Sample expression grammar allows evaluation of arithmetic expressions using Irony's built-in AST interpreter.

irony_GrammarExplorer.jpg

System Requirements
Windows XP/Vista/7, .NET Framework 3.5, Visual Studio 2008

Project News
  • Writing your first Domain-Specific Language - two articles by Daniel Flower at CodeProject.com. An excellent introduction to using Irony for parsing "little" application-specific languages - DSLs.
  • A Google-like Full Text Search - an article by Michael Coles about Google-to-SQL Server full-text search query converter based on Irony.
  • 02/10/2009 - new article on CodeProject: Writing your first Visual Studio Language Service by Ben Morrison about using Irony for language integration into Visual Studio.
  • April 20, 2009 - Recordings of presentations at 2009 Lang.NET symposium are available online. I've made a couple of presentations there, the first one about Irony. Watch it, come back with comments. Watch other recordings - very interesting stuff!
  • May 2, 2009. Started a blog about Irony: http://irony-roman.blogspot.com/. The first post is about changes in April code update. Enjoy it!
  • Oct 12, 2009. Updated the release download version
  • June 6, 2010. A wikibook for documenting Irony : Irony - Language Implementation Kit (http://en.wikibooks.org/wiki/Irony-LanguageImplementationKit). Everybody is welcome to contribute!


More information
Contributors
Demo Running Instructions
Expression Grammar sample
Irony presentation at LangNET 2009 symposium
Irony blog
Wikibook: Irony - Language Implementation Kit
Last edited Jun 9 at 4:40 PM by rivantsov, version 70

 

Want to leave feedback?
Please use Discussions or Reviews instead.

Updating...
© 2006-2010 Microsoft | Get Help | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2010.7.20.17027