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

Introduction

 Basic Tutorial

Grammar

 Overview
 Terminals
 Non Terminals

Parsing

 Overview
  • Scanner
  • Parser
  • Parse Tree

Abstract Syntax Tree

 Overview
  • Base ASTNode
  • Custom AST Nodes

Interpreter

Runtime

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

Compilation

Visual Studio Integration

 Overview

Dynamic Language Runtime (DLR) Integration

 Overview