Peter Valchev's CPSC510 Compiler Project
University of Calgary, Winter 2006, course website
Instructor: Robin Cockett ICT652
Welcome, this is my compiler project webpage.
Overview/Summary:
I have decided to work on a subset of the C programming language, targetting the SPARC architecture (version 8). An example of such a subset is Small-C. However it is a bit too "stripped", lacking support for structs for example. My plan is to look at it and implement some subset of C (with smallc as a possible reference), adding support for features as time permits. In fact I started with the complete ANSI C grammar and that was a mistake, but the front-end supports much of ANSI C. The backend supports more limited things even though once again the IR is actually complete, the actual assembly generation is not finished. Through some quick hacks it is now able to compile 'hello world' and other small programs into SPARC assembly.
I used OpenBSD as my development platform running on a SPARCStation 20 to actually test things when it came to the assembly. The GNU Assembler is used to produce binaries. will probably be used.
Required things:
History/Progress:
Final presentation coming up (will be here) Test files (more than 15 of them) are here Milestone 3 (HTML) Presentation coming up (HTML, magicpoint file)... Still trying to resolve bugs into my AST/parser, but it is built with semantic analysis in mind, just not complete. Small test files: test1.c test2.c Start this webpage. Reading books and various sources to get a good idea of the design.
Milestones/Schedule:
References/Links that will be useful:
Tools:
SPARC documentation:
Other documentation:
Misc books:
Contact me:
peter@valchev.net