The Abstraction Project - Static Language Framework

  •        0

The Abstraction Project, Written in C#, is focused towards helping language enthusiasts write a compiler on top of the .NET Common Language Infrastructure.



Related Projects

graal - Java Bytecodes to OpenCL Code Generation using the Graal JIT Compiler

Java Bytecodes to OpenCL Code Generation using the Graal JIT Compiler

PA5 - compiler program assignment (code generation)

compiler program assignment (code generation)


CodeCommander is a code generator and makes it easier for developers to construct a source code. You'll no longer have to write your source code twice a week. It's developed in C# .NET V2.0


ETP-Basic Compiler is a cross compiler. It takes in entry a basic-like language and generates m68k assembler. The compiler can be executed on a x86 platform, and the source can be compiled by Visual Studio or g++. In the future, the code generation can be accodomated for TI nspire calculators.

spaghetti - Type-safe APIs for compile-to-JavaScript modules

Spaghetti modules are written in compile-to-JS languages like [TypeScript]( and [Haxe]( Each module's API is defined in a [Spaghetti Interface Definition file](/../../wiki/Spaghetti Syntax). Here's an example of a typical API definition:```module com.example.greeterinterface Greeter { string sayHello(string user)}Greeter createGreeter()```Based on this abstract definition, Spaghetti ensures type safety on both the implementor and the caller side of a


A variant of OCaml's native code compiler ocamlopt using LLVM in the back-end for optimization and code generation. Warning: Binaries produced by this compiler are in no way compatible with binaries produced by ocamlopt.

Babel - The compiler for writing next generation JavaScript

Babel is the compiler for writing next generation JavaScript.


A simple MinC to MIPS intermediate code compiler. This project will include the intermediate code generation without general type checking. We are to assume that the MinC code will be semantically correct.

Draak Compiler

Draak is a multi-language, macro compiler, meaning all syntax and code generation is defined in a single file. Draak is a single binary that is able to compile any context free language (like C, Pascal, Java) for any platform with only 1 file.

Jurassic - A Javascript Compiler for .NET

Jurassic is an implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET.

[Ex] Vczh Library++

A general purpose script engine platform for hosting scripting languages of multiple levels, with a set of predefined script languages and a library for building new script languages. Also, linq on C++ and a high level string processing library(including regex) are provided.

protoc-gen-haxe - Protocol Buffers compiler and run-time library for Haxe

I am also the author of [protoc-gen-as3](,which is the best Protocol Buffers implementation in ActionScript 3.I rewritten these code because I want to try the Haxe way to generate code.This table lists main difference between `protoc-gen-as` (or any other Protocol Buffers implementation) and `protoc-gen-haxe`:| | protoc-gen-as3 | protoc-gen-haxe || ------------- | ------------- | ----- || Cross-platform | No. It only runs in Adobe Flash Player or Adobe A


Dingo is a pluggable Schema Compiler for .NET and will generate C# code. The goal is to provide a simple way to generate Domain Objects. .NET XSD currently only generates Data Objects. Dingo can delegate code generation with high granularity.


OILexer is a LL parser generator for C# aimed at simple language parsing for language enthusiasts. Does not use recursive descent or bottom-up parsing methods, but rather, a top-down deterministic model is employed. This is a portion of the Abstraction Project.

Hierarchical State Machine Compiler

This projects helps you to easily create and generate hierarchical state machine in .NET. States, transitions, conditions, action, states inheritance


This repo contains LLILC, an LLVM based compiler for .NET Core. It includes a set of cross-platform .NET code generation tools that enables compilation of MSIL byte code to LLVM supported platforms.

oc - An experimental, next-generation, coroutine-based, modular compiler for a subset of ooc.

An experimental, next-generation, coroutine-based, modular compiler for a subset of ooc.

ngcc - next generation compiler class

next generation compiler class

Jsweet - A transpiler from Java to TypeScript/JavaScript

JSweet leverages TypeScript to write rich and responsive Web applications in Java through the use of JavaScript libraries and frameworks. With JSweet, Java programs are transpiled (source-to-source compiled) to TypeScript and JavaScript for being run in browsers, mobile Web views, or in Node.js.


This repository is just a fork of the official one available on, CodeWorker is a versatile Open Source (GNU Lesser General Public License) parsing tool and a source code generator devoted to generative programming. Generative programming is a software engineering approach interested in automating the production of reusable, tailor-made, adaptable and reliable IT systems. In layman's terms, CodeWorker lets you generate code by parsing existing languages, or by