===== Free Software Development =====

The Formal Languages & Compilers Group is active in the development of free software, through student projects and thesis works.

  - [[http://compilergroup.polimicg.org/git/|PULP LLVM Backend]] by Michele Scandale, Michele Beretta and Alessandro Di Federico: a backend for the open source OpenRISC ISA, designed for OR10n, the core processor of the [[http://iis-projects.ee.ethz.ch/index.php/PULP|PULP]] platform.
  - [[OpenCRun]] by Ettore Speziale, Michele Scandale, Giulio Sichel, Marco Bonacina: an OpenCL Runtime for NUMA x86_64 and STM P2012/STHORM.
  - [[http://www.sourceforge.net/projects/ildjit|ILDJIT]], by Simone Campanoni: a JIT compiler for the CIL bytecode based on Portable.Net ({{publications:ildjitreport.pdf|Technical Report 2008.3}}).
  - [[http://www.sourceforge.net/projects/jelatine|Jelatine VM]], by Gabriele Svelto: a VM based on the J2ME CLCD specifications, featuring a fast interpreter and a zero-overhead precise garbage collector, suitable for embedded applications.
  - [[http://home.dei.polimi.it/agosta/old/dyncomp|SeleKaffe]], by Paolo Palumbo: a variant of the [[http://www.kaffe.org|Kaffe]] implementation of the Java VM Specification featuring selective compilation.
  - A collection of [[http://home.dei.polimi.it/agosta/old/LT/index_en.html|SUIF Passes]], written by students of the Software Compilers course at [[http://www.alari.ch|ALaRI]] and the Program Analysis and Optimization course at [[http://www.polimi.it|Politecnico di Milano]], including: 
    * Loop Flattening
    * Loop Unrolling
    * Loop Peeling
    * Program instrumentation and profiling tools
    * A simplified C front-end
  - [[http://sourceforge.net/projects/forson|Forson]], by Alfonso Tarantini: a program for syntactically correct sentence generation. Guided by a Bison grammar file as input, it provides random or coverage testing sentences. The program can be used for compiler or parser testing or didactical purposes.
  - [[http://sourceforge.net/projects/elcc|Elcc]], by Andrea Mocci: an Earley parser generator written in Python and compatible with Yacc/Bison Syntax.