ICOM 4029 – Compiler Construction (Fall 2003)

Techniques involved in the analysis of source languages and the generation of efficient object codes with emphasis on the components of a compiler.

Información General

Prontuario del Curso (PDF)
Bosquejo del Curso (PDF)

Conferencias (Martes y Jueves 9:00 – 10:30 Stefani 113)

- Lecture 1: Course Overview, PL History, PL Design (PPT, PDF)
- Lecture 2: Overview of the COOL Language (PPT, PDF)
- Lecture 3: Lexical Analysis (PPT, PDF)
- Lecture 4: Introduction to Syntactic Analysis (PPT, PDF)
- Lecture 5: Top-Down Parsing (PPT, PDF)
- Lecture 6: Bottom-up Parsing (PPT, PDF)
- Lecture 7: Static Semantic Analysis (PPT,PDF)


The lectures on this course are based on (very) slight variations of the slides used by Prof. George Necula for the CS 164 course offered at the University of California Berkeley.  Professor Necula kindly granted us permission to use his materials.  Thanks!


- Examen Parcial 1: 15 de octubre de 2003 a la hora y el salon de la clase (Temas, Práctica, Solución, Estadísticas)
- Examen Parcial 2: TBA (Temas, Practica, Solución, Estadísticas)
- Examen Final – 17 de diciembre de 2003 2:15PM S-203  (Temas, Práctica, Solución, Estadísticas)

Ejemplos de Codigo en Lenguaje Assembl

- Class Examples (MIPS Source Files)

Asignaciones de Programacion

- Programming Assignment 1. A COOL Stack Machine. Due September 16 11:59 PM. (DOC, PDF)
- Programming Assignment 2. COOL Lexer. Due October 7 11:59 PM. (DOC, PDF)
- Programming Assignment 3. COOL Parser. Due October 2111:59 PM. (DOC, PDF)
- Programming Assignment 4. COOL Semantic Analyzer. Due November 14 11:59 PM. (DOC, PDF)
- Programming Assignment 5. COOL Code Generator. Due November 18 11:59 PM. (DOC, PDF)

Correo Electrónico

- icom4029-profs (profesor(es))
- icom4029-students (todos los estudiantes)
- icom4029-forum (staff y estudiantes)


- Emacs for Windows (download)
- .emacs File (download)
- SPIM Simulator (home site, windows version)
- UC Berkeley  SPIM including SPIM for Mac OS (home site, macOS X
- X Server for Windows (download)

Lecturas Sumplementarias

- Easy I Quick Reference Sheet (PDF)
- “The Nature of Computing”. Bienvenido Velez. COMPEL 2002 Plenary Talk. (PDF)
- “An Overview of Information Theory” Bell Labs. (PDF)
- “Assemblers, Linkers and the SPIM Simulator”. This is Appendix A of Hennessy & Patterson, Computer Organization and Design: The Hardware/Software Interface. Coutersy of Morgan Kaufmann Publishers.
- RFC 1855: Netiquette Guidelines. ABSTRACT: This document provides a minimum set of guidelines for Network Etiquette (Netiquette) which organizations may take and adapt for their own use. As such, it is deliberately written in a bulleted format to make adaptation easier and to make any particular item easy (or easier) to find. It also functions as a minimum set of guidelines for individuals, both users and administrators. This memo is the product of the Responsible Use of the Network (RUN) Working Group of the IETF.
- SPIM/MIPS Instruction Set Sheet (PlainText)

Enlaces de referencia

Web site del curso CS 164 de University of California Berkeley by George Necula (Spring 2003)

Web site del libro de Patterson y Hennessy “Computer Organization: The Hardware Software Interface”.

Evaluación de la clase por los estudiantes

Evaluación del curso por los estudiantes durante el examen parcial I (PDF)