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.

Introduction

 * Basic Tutorial

Grammar

 * Overview
 * Terminals
 * Non Terminals

Parsing

 * Overview
 * Scanner
 * Parser
 * Parse Tree

Abstract Syntax Tree

 * Overview
 * Base ASTNode
 * Custom AST Nodes

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

Visual Studio Integration

 * Overview

Dynamic Language Runtime (DLR) Integration

 * Overview