COP5621: Compiler Construction

Introduction

This course is an introductory course to compiler construction. In this course you will learn the important basic elements of compilation and use the material effectively to design and build a working compiler. Topics include language theory, syntax-directed translation, lexical analysis, symbol tables, bottom-up LR(k) parsing, top-down LL(k) parsing, Yacc/Bison and Lex/Flex specifications, intermediate code generation, data-flow analysis, the Java virtual machine, (byte)code generation, code optimization, error detection, and error recovery.

Syllabus

Course Web Site
http://www.cs.fsu.edu/~engelen/courses/COP5621
Instructor
Professor Robert van Engelen
engelen at cs dot fsu dot edu
Office: 168LOV
Office Hours
Tuesdays and Thursdays 1:00 PM to 2:00 PM and upon request.
Prerequisites
COP4020 Programming Languages or equivalent.
Textbooks
1. "Compilers: Principles, Techniques, and Tools" by Aho, Sethi, and Ullman 2nd edition (ISBN-10: 0321486811 and ISBN-13: 9780321486813).
2. "The JavaTM Virtual Machine Specification", SE 8 Edition (click here to obtain this text).
Other Material
Class handouts
Location
103 LOV on Tuesdays and Thursdays from 11:00 AM to 12:15 PM.
Assignments and Exams
There are four project assignments, four homework assignments, and four exams (three midterm and one final exam). Details on the grading policy, grade breakdown, and exam material can be found on the COP5621 online exam page. Exam dates are scheduled in advance. A grade of zero will be recorded for missed exams unless prior arrangements have been made.
Honor Code Violations
All exams and assignments must be completed individually, unless stated otherwise. Copying solutions is considered cheating. Submitted source code listings will be compared. Keep a copy of the listings to provide evidence of creative work. Students are expected to uphold the Honor Code, see also below. Any student involved in cheating is in violation of the Honor code. Consult the "Student Handbook" for more details on the Honor code.

Computer Accounts

You will need an account to log on to the Computer Science department machines. If you don’t have one, visit the system info site: https://system.cs.fsu.edu/newuser/cs-account-setup

Schedule, Lecture Notes, and Assignments

The tentative schedule with PDF lecture notes is shown below (refresh this page to view the lates changes). You are encouraged to download and print the PDF notes and take them as handouts to class. The schedule will be updated when needed and significant changes will be announced on Blackboard.

You can view assignments by selecting the links under the "Assignments due" column.

Date Lecture notes Reading Material
(Textbook 2nd edition)
Other resources Assignments due Date
1/10 Chapter 1 [PDF] [PPT] Ch.1 - - 1/10
1/12 Chapter 2 [PDF] [PPT] Ch.1 and Ch.2 - - 1/12
1/17 Ch.2
JVM Spec SE 8 1.1,1.2,2.1-2.7,2.11,4.1-4.10,6.1-6.5
JVM SE 8 - 1/17
1/19 Chapter 3 [PDF] [PPT] 3.1-3.4 Flex manual - 1/19
1/24 3.6-3.9 RE/flex manual HW 1 1/24
1/26 3.5 - - 1/26
1/31 - - - 1/31
2/2 Exam 1   - - 2/2
2/7 Chapter 4-I [PDF] [PPT] 4.1-4.3 - PR 1 2/7
2/9 Chapter 4-II [PDF] [PPT] 4.4 - - 2/9
2/14 4.5 - - 2/14
2/16 Chapter 4-III [PDF] [PPT] 4.6-4.9 Bison manual - 2/16
2/21 Chapter 5-I [PDF] [PPT] 5.1-5.2 - HW 2 2/21
2/23 5.3 - - 2/23
2/28 Exam 2   - - 2/28
3/2 Chapter 5-II [PDF] [PPT] 5.4 - PR 2 3/2
3/7 Chapter 6-0 [PDF] [PPT] 6.3-6.3.2, 6.5 - - 3/7
3/9 Chapter 7 [PDF] [PPT] 7.1-7.3 - - 3/9
3/21 Chapter 6-I [PDF] [PPT] 6.1-6.2, 6.3.3-6.3.6 - - 3/21
3/23 6.4, 6.6 - - 3/23
3/28 Chapter 6-II [PDF] [PPT] 6.7, 6.9 - HW 3 3/28
3/30 - - - 3/30
4/4 Exam 3   - - 4/4
4/6 Chapter 8-I [PDF] [PPT] 8.1-8.3 - - 4/6
4/11 Chapter 8-II [PDF] [PPT] 8.4, 8.6 - PR 3 4/11
4/13 - - - 4/13
4/18 Chapter 8-III [PDF] [PPT] 8.8, 8.7 - - 4/18
4/20 9.1 - - 4/20
4/25 Chapter 9 [PDF] [PPT] 9.6 - - 4/25
4/27 9.2 - HW 4 4/27
5/4 Final exam7:30AM-9:30AM   - PR 4 5/4

Submissions of Assignments

All assignments are mandatory and part of the final grade. Extra credit can be earned by submitting homework. Assignments and homework should be turned in before or at the due date before midnight. When turned in late, 5% will be deducted from the project grade per day until the submission has been received, with a maximum extension of five days.

Submit your assignments via Blackboard. Submitted projects should includes all source code, the input and output files (when applicable), and a Makefile. Include your name and the assignment number in the program source code file(s).

Attendance

First class attendance is mandatory. Attendance during exams is also mandatory. You are responsible for obtaining all material delivered in class to study.

Excused absences include documented illness, deaths in the immediate family and other documented crises, call to active military duty or jury duty, religious holy days, and official University activities. Accommodations for these excused absences will be made and will do so in a way that does not penalize students who have a valid excuse. Consideration will also be given to students whose dependent children experience serious illness.

Academic Honor Policy

The Florida State University Academic Honor Policy outlines the University’s expectations for the integrity of students’ academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process.  Students are responsible for reading the Academic Honor Policy and for living up to their pledge to “. . . be honest and truthful and . . . [to] strive for personal and institutional integrity at Florida State University.”  (Florida State University Academic Honor Policy, found at http://fda.fsu.edu/Academic-Resources/Academic-Honor-Policy.)

ADA

Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Student Disability Resource Center; and
(2) bring a letter to the instructor indicating the need for accommodation and what type. This should be done during the first week of class.

This syllabus and other class materials are available in alternative format upon request.

For more information about services available to FSU students with disabilities, contact the:

Student Disability Resource Center
97 Woodward Avenue, South
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
sdrc@admin.fsu.edu
http://dos.fsu.edu/sdrc

Syllabus Change Policy

"Except for changes that substantially affect the evaluation (grading), this syllabus is a guide for the course and is subject to change with advance notice.”


Copyright: Robert van Engelen, Florida State University, 2017.
Last modified: December 29, 2016