teaching: (ITESM 2000-2008) Compilers

B.S.Computer System Engineering
Department of Computer Science, Tecnologico de Monterrey, campus Guadalajara,
Course: Cb0883 – Compilers

I taught this course 11 times along August 2000 and May 2008.


This is the official course synthetic from Tecnologico de Monterrey.

Course Philosophy

Students learn by doing. There is ample class-time opportunity to explore concepts and techniques and develop skills. Class is roughly half lecture and half short exercises, discussions, and in-depth labs. Each learning cycle, consists of:

  • a lecture which illustrates and motivates new concepts and techniques
  • quick exercises to reinforce new skills
  • a longer team-oriented project
  • discussion and critique of team project in a group


Weeks 1-4

  • Introduction: The process and stages of compilation, formal language theory.
  • Analysis lexico: finite state automata, regular expressions

Weeks 5-10

  • Analysis syntactic: grammars and recognition methodologies
  • Definition of the symbol table

Week 10-15

  • Analysis semantics: verify types, flow and uniqueness.
  • Generation of intermediate code.

Week 16

  • Design of virtual machines and interpretation of intermediate code
  • ° Integration Project


These are samples of my slides for the course (in Spanish), any comments are more than welcome.
These are the slides for the first term of the course (weeks 1 to 4):


I recommend the following bibliography as reference.


This video was done by my students of the class 2006 while they worked in their final project.