A complete compiler for the language SL (Simple Language - see description here) will be implemented in four phases. Each phase will contribute to the final project grade:
scanner: 10% (required)
parser: 15% (required)
tree builder: 15% (required)
compiler:
. basic part of SL: 30% (required)
. functions as parameters: 15% (optional)
. type declarations and arrays: 15% (optional)
Additional points may be awarded for the implementation of both optional features. The implementation will be in ANSI C, and will use Linux tools Flex and Bison. The project will be tested with the GCC compiler and a virtual machine interpreter MEPA (see description here), all running under Linux.