Michelle Mills Strout
Office: 342 CS Building
Office Hours in 342: Mon 3-4pm
Lab Hours in 130 or 315: Wed 2-3pm
Kiley Graim
Lab Hours in CS 130: Wed 12-1pm, 2-3pm, Fri 10am-noon
Lecture Time and Place:
11:00-12:15, Tuesday and Thursday, CSB Room 130
Recitation Time and Place:
9:00-9:50 am, Friday, CSB Room 215

This course is an introduction to compiler construction. Students write an interpreter for a small subset of the SVG (Scalable Vector Graphics) and a full compiler for a subset of Java called MeggyJava. We compile MeggyJava down to the assembly language for the ATmega328p microcontroller in the Meggy Jr RGB devices.

Course topics include the following: scanning, parsing (top-down and bottom-up), abstract syntax trees, semantic analysis, and code generation.

The PA2 has undergone minor modifications including changes to the Cylon.out file. Additionally the MeggyJrSimple.h and MeggyJrSimple.cpp files that are part of the build process have been updated. (Michelle Strout, February 9, 2010)

Instructions for building programs for the Meggy have been posted on the Resources page. (Michelle Strout, January 23, 2010)

Quiz 1 has been posted on RamCT and is due Thursday night at 11:59 pm. (Michelle Strout, January 18, 2010)

Notice that the reading assignment for Thursday was expanded to include Chapter 3.4. (Michelle Strout, January 18, 2010)

I look forward to seeing everyone in January! (Michelle Strout, November 29, 2010)

The picture of the Meggy Jr RGB has been used with permission from the Evil Mad Scientists Laboratories.