Skip to main content

A high level language for a stack-based virtual machine

Supervisor

Suitable for

Abstract

Stack (http://www.cs.ox.ac.uk/people/alex.rogers/stack/) is an extensible stack-based virtual machine for embedded devices, intended for programming interactive devices (for computing education and outreach) and communication-constrained sensors (where runnable programs might have to fit within a few hundred bytes). It currently supports browser-based programming in a simple assembly language but offers no higher level programming language support. This project will develop a simple high-level language for Stack. You will be required to design this language (focusing perhaps on the requirements of one or two specific domains) and develop the necessary parser, compiler and assembler to enable its use on the Stack virtual machine.

Prerequisites: Compilers & Computer Architecture useful but not essential