CCE(be, kno, se)
This working title actually means:
Compiler Construction Experiment of Bernegger, Knoll and Sehorz
Characteristics
Given the ProjectRequirements we took the following decisions for our project.
- input language
- near to ANSI-C
- typing:
- strong
- basic: int, char, bool (as values)
- composite: arrays, structs (as references, must be allocated)
- functions, parameterized local hiding
- if and while constructs
- all kinds of nested structures
- excluded pointers, for, case
- output language / output file format (defined by ourself)
- code section, sequence of instructions
- data section, storage of string literals
- virtual machine
- reduced instruction set
- implemented in Java
- 32 general purpose registers
- 16 file handles
- non-standard instructions (file and user I/O, memory (de)allocation, save-/load-registers)
Presentation
On Wednesday 29th of June we held a presentation of our project, wherefor we used a set of slides (PDF) and has the following structure:
- Formal Input Language
- Output Language
- Virtual Machine
- Live - Demonstration
Working Results
- Documentation (PDF) containing:
- Description of formal input language
- Description of output file format
- Virtual machine conceptual design
- Compiler design description
- Sources (ZIP) containing:
- Compiler and Virtual Machine Source Code
- Tests
- Makefiles
Authors
- Bernegger Hans-Peter
hbernegg{at} cosy. sbg. ac. at
- Knoll Dominik
dknoll{at} cosy. sbg. ac. at
- Sehorz Bernhard
bsehorz {at} cosy. sbg. ac. at