GithubHelp home page GithubHelp logo

aly1551995 / vsop-compiler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from meurissemax/vsop-compiler

0.0 0.0 0.0 1.23 MB

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

Python 99.62% Makefile 0.38%

vsop-compiler's Introduction

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.

vsop-compiler's People

Contributors

meurissemax avatar valentinvermeylen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.