This manual describes the programming language Cool: the Classroom Object-Oriented Language. Cool is a small language that can be implemented with reasonable e ort in a single quarter or semester course. Still, Cool retains many of the features of modern programming languages including objects, static typing, and automatic memory management. The website for Drew Davidson's EECS - Compiler Construction course. These distributions include object code for the coolc reference compiler, assignments, and all documentation. The only components omitted are source for the reference compiler and the regression tests. A longer description of the Cool compiler project is available, as are the manual and (on request) lecture notes from a course that used Cool.
This manual describes the programming language Cool: the Classroom Object-Oriented Language. Cool is a small language that can be implemented with reasonable e ort in a single quarter or semester course. Still, Cool retains many of the features of modern programming languages including objects, static typing, and automatic memory management. The following sections describe what the Cool runtime system assumes about the generated code and what the runtime system provides to the generated code. However, additional restrictions must be placed on the generated code for use with Coolaid, a debugging tool for Cool compilers based on program verification (see the Coolaid Reference Manual). The Cool Manual The Cool manual will be your main reference when working on any of the phases of your Cool compiler. Sections 1 and 2 (2 pages) explain how to compile and run (using the spim interpreter) a Cool program. Sections (13 pages) are required to build the two phases of the syntax analysis. College or Department name here
The course load includes three programming assignments based on the COOL compiler project worth 35 points, a midterm worth 30 points and a final worth 35 points. Normally, exams are open book and open lecture notes. The project has been used for teaching compilers at many institutions and the software is stable. The complete Cool distribution includes the manual, source and makefiles for the compiler, source and makefiles for each of the assignments, and regression tests. This manual describes the programming language Cool: the Classroom Object-Oriented Language. Cool is a small language that can be implemented with reasonable e ort in a single quarter or semester course. Still, Cool retains many of the features of modern programming languages including objects, static typing, and automatic memory management.
0コメント