LISSC is a Compiler for the toy imperative (or procedural) programming language
LISS, that stands for
Integers,
Sequences and
Sets.
At the beginning the language was conceived with pedagogical purposes,
in the context of a Compilers Course.
Nowadays it was recovered as a research project is
the context of the Language processing group at University of Minho,
to explore compiling techniques, generators and virtual machines.
LISSC was generated automatically from its Attribute Grammar
using the Compiler Generator tool LISA.
LISSC generates pseudo-code.
In a first step, MSP (a very simple stack machine defined and used
by us to teach assembly to beginners,
in introductory courses on programming languages) was the target machine chosen
(that virtual machine just supports simple LISS programs --- without subprograms,
and pointers) and
CoCoR/C#
was the Compiler Generator choosen;
the present version of LISSC generates
VM code,
now supporting full LISS programs.
|