All projects
HaskellCompilerVirtual MachineFunctional Programming

GLaDOS

A custom programming language with compiler and virtual machine written in Haskell. The compiler transforms GLaDOS source code into bytecode executed by a purpose-built VM - Epitech functional programming project.

Sep 2024 - Nov 2024 GitHub

Overview

GLaDOS (GLaDOS Language and Dynamic Operating System) is a full language implementation built from scratch in Haskell as part of an Epitech functional programming project. It covers the complete pipeline from source text to execution.

Components

Compiler (glados)

Parses GLaDOS source code, performs type checking and analysis, and outputs bytecode targeting the custom VM instruction set.

Virtual Machine (vm)

Executes compiled GLaDOS bytecode. Implements a stack-based execution model with a defined instruction set.

make all        # builds both compiler and VM
make compiler   # compiler only
make executer   # VM only

Stack

  • Language: Haskell
  • Build: Stack, Cabal
  • Testing: HSpec (unit), functional test scripts