Tous les projets
HaskellCompilateurMachine VirtuelleProgrammation Fonctionnelle

GLaDOS

Un langage de programmation personnalisé avec compilateur et machine virtuelle écrits en Haskell. Le compilateur transforme le code source GLaDOS en bytecode exécuté par une VM dédiée - projet Epitech de programmation fonctionnelle.

sept. 2024 - nov. 2024 GitHub

Vue d’ensemble

GLaDOS (GLaDOS Language and Dynamic Operating System) est une implémentation de langage complète construite de zéro en Haskell dans le cadre d’un projet Epitech de programmation fonctionnelle. Il couvre la totalité du pipeline, du texte source jusqu’à l’exécution.

Composants

Compilateur (glados)

Parse le code source GLaDOS, effectue la vérification des types et l’analyse, puis produit du bytecode ciblant le jeu d’instructions de la VM personnalisée.

Machine Virtuelle (vm)

Exécute le bytecode compilé GLaDOS. Implémente un modèle d’exécution à pile avec un jeu d’instructions défini.

make all        # construit compilateur et VM
make compiler   # compilateur uniquement
make executer   # VM uniquement

Stack

  • Langage : Haskell
  • Build : Stack, Cabal
  • Tests : HSpec (unitaires), scripts de tests fonctionnels