Programmers' Toolbox

L98

Introduction

L98 is a compiler for the L98 language, a compiler project developed during the university, based on the first edition of the Tiger Book.

Overview

This compiler was developed during the compiler design course, it needed to be cleaned up in a few spots before making it available on GitHub, namely:

  • translation of code comments into English;
  • conversion of the build procedure into a Maven build file;
  • fixing Java 1.1 related bugs no longer accepted in modern JDKs;
  • replaced the NASM macros by an Assembly generator backend using AT&T syntax;
  • replaced the C based runtime by a new one, done in x86 Assembly, just for fun;
  • with the new runtime, the complete code is now fully GPL v2 compliant;

For more information, please check the existing PDF documentation.

If you wish to fork this project, just check its repository at GitHub.

Downloads

First release (NASM macros and C based runtime are not under FOSS license).

Second release, with the Assembly based runtime and Java 7 improvements.