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