Irony - Language Implementation Kit

Irony is a development kit for implementing languages on the .NET platform. It uses the flexibility and power of the 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 a C# class to control the parsing process.

The Irony project is hosted on CodePlex.

Table of contents


 Basic Tutorial


 Non Terminals


  • Scanner
  • Parser
  • Parse Tree

Abstract Syntax Tree

  • Base ASTNode
  • Custom AST Nodes



Do not fill out yet as code base is subject to major changes in this area!


Visual Studio Integration


Dynamic Language Runtime (DLR) Integration