COMP 520 Compiler DesignFall 2005
(PLEASE NOTE, THIS PAGE HAS BEEN UPDATED TO REFLECT the FALL 2005
VERSION OF THE COURSE. Please refer to the web page weekly to review
the course material and to check for updates.)

http://www.cs.mcgill.ca/~nnaeem/520/

Academic Integrity at McGill University

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic
offences under the Code of Student Conduct and Disciplinary Procedures
(see
http://www.mcgill.ca/integrity/ for more information). A helpful
article on how to avoid plagiarism can be found at:
http://www.mcgill.ca/integrity/studentguide/.

In terms of this course,
part of your responsibility is to ensure that you put the
name of the author on all code that is submitted. By putting your name on
the code you are indicating that it is completely your own work. If you
use some third-party code you must have permission to use it and you must
clearly indicate the source of the code.

Announcements:

Sept 27, 2005.
This is to let you know that the JOOS deliverables for the COMP 520 course ALL have to be done using the C implementation of JOOS (A-
Compiler). I was of the view that Laurie used to give students the option of using either Java or C to do these deliverables but it
turns out that this is not true. As pointed out by a couple of students a lot of the stuff asked for in the deliverable is either
trivial to do in the Java implementation or already done there.
So please make sure you are using the flex/bison C implementation of the A- JOOS compiler to work on your deliverable for this friday.

Sept 25, 2005.There are some problems for running joos
using SableCC3 from Lauries profile (Thanks Ximeng for pointing these out).
Kacper has been looking for an alternate place to keep all these tools for
easy access.

Sept 25, 2005.Instructions on using different tools can
be found here. Further information on how to set up
JOOS is available in the JOOS section on this webpage.

Sept 21, 2005.Kacper has been kind enough to write a
crash course on setting up subversion. "You can find the guide,
along with (nicer looking) pdf and ps versions at:
Kacpers Guide.
All COMP-520 students should have access to the repository area on
cvs.cs.mcgill.ca. If you don't, send a request to help@cs.mcgill.ca,
and be sure to mention your course and group number."(Kacper)

Sept 21, 2005.Check the link Groups to find the group number that has
been assigned to you. Refer your group id in all correspondence regarding
projects with the Instructor or the TAs. Also your submissions of
milestones and deliverables should include your group number in the
subject line of the email.

Sept 13, 2005. TA names have been added to the
Teaching Assistants Page. More information
will be added here as it becomes available.

Sept 13, 2005. When sending emails to the TAs or me
please make sure the subject starts with COMP-520. This
is to ensure that no emails are lost and that we can reply in a timely
manner.

Sept, 6, 2005. You can find demo.l here demo.l. First run the lexer on
it
by issuing the command flex demo.. This makes the file lex.yy.c. Then issue
the command gcc lex.yy.c -o demo -lfl. This will create a scanner executable
with the name demo. You can run this using the command ./demo. Now
test out your scanner. To exit press ctrl-c.

First class is Friday, Sept 1, ENGTR 2100, 11:35-12:25. Be sure
to come on time.

Week 1: Introduction

Students who do not have a background in regular languages and finite
state
automata should review this material on their own. A good online resource
may be found here .
This review should be done ASAP.

Week 2: Scanners and parsers

September 2005
S M Tu W Th F S
4 5 6 7 8 9 10
H * *

Note that Monday, September 5, is a holiday, no lectures.
Note that there are 4 readings for this week. Use your holiday
wisely.