/vsop-compiler

Implementation of a compiler for the VSOP language (using LLVM IR).

Primary LanguagePython

Compilers

Context

The goal of this project was to build a compiler for the VSOP (Very Simple Object-oriented Programming) language (created by C. Soldani, inspired by the COOL language). More information is provided in the vsop_manual.pdf file.

The compiler takes as input a .vsop file and generates as output a corresponding executable file. It also allows to view the output of each step (lexing, parsing, ...) separately.

This project was realized as part of the Compilers course given by Professor Fontaine to the master students of Civil Engineering at the University of Liège during the academic year 2019-2020.

Language

This VSOP compiler was done using python (version 3.7) with the help, mainly, of the PLY tool (version 3.11).

Other libraries were also used :

How to use the compiler ?

The compiler implementation can be found in the vsop-compiler/code/ folder.

All the resources of a tool (lexer, parser, ...) are in the folder of the same name.

To install all the necessary tools (assuming python 3 is already installed), just do :

make install-tools

To get a executable version of the compiler, just do :

make vsopc

The compiler can then be used via the command :

./vsopc <VSOP-SOURCE-FILE>

The various options available can be viewed via the command :

./vsopc -h

Authors

Score

  • This project received a score of 18/20.