COP5621 Compiler Construction
Spring 2008
Meeting time Monday, Wednesday, 2:00pm-3:15pm
Meeting location 103 Lov Building
Instructor Prof. Xin Yuan, 168 Love Building, 644-9133, xyuan@cs.fsu.edu
Office hours Monday, Wednesday 1:00pm-2:00pm, Tuesday 1:00pm-3:00pm, or by appointment.
Textbook Compilers Principles, Techniques and Tools, by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
Class Home Page http://www.cs.fsu.edu/~xyuan/cop5621/index.html
Course description and objectives
This course introduces basic techniques in compiler construction. It focuses on the compiler front-end, including lexical analysis, syntax analysis, syntax-directed translation, semantic analysis and code generation.
In this course, you are expected to:
Prerequisite
Unofficial note: This is a programming intensive course: you will need to write a whole compiler for a not-so-simple language. This compiler will consist of around 5000 lines of code. You should be proficient in C/C++. You should also know (or self-learn) x86 or SPARC assembly.
Assignments, Projects & Exams
The final grade will be computed as follows
H = (H1 + ... + Hm-1 + Hm + Q1 + Q2 + ... + Qk) / (m+k) Homework/Quiz average
P = P1*10% + P2*20% +P3*30% +P4*40% Project average, this formula may change
E = MT*40% + FINAL * 60% Exam average
if (E < threshold(tentatively 60)) then
G = min{P, E}
else
G =P*50%+E*40%+H*10% Final grade
Final letter grade will be assigned based on the relative performance. A student ranked in top 10% in the class will guarantee an A. Like a typical graduate class, it is expected that half of the class will receive A or A- grades.
Academic Honor Code
You are required to read the FSU Academic Honor Code and abide by it. First violations will result in a 0 for the particular item and the lowering of the final course grade by one letter (e.g. B+ --> C+). Repeat violations will result in a grade of F.By turning in work for a grade in this course you are representing it as being entirely your own individual work. Unless otherwise specified in writing, all programming projects are individual projects. If any assignment permits teamwork, it will be explicitly stated so in the assignment, and then the work is required to be only the work of the people on the team.
What does ``individual work'' mean? An intelligent person searches publications (including the web) for information, ideas, and code. If you use information or ideas obtained from the work of another person you must at least give credit via comments in your code stating what you have used, where you obtained it, and who is the person to whom credit is due. (Beware: If an idea is patented the above is not enough; you should not use it at all without a license.) If you use any code written by another person you must first obtain permission from the author or copyright owner, then mark the beginning and end of the quoted code using appropriate comments, and include a comment giving where you found the code and the the name of the author or copyright holder. Failure to follow these rules will be considered a violation of the Academic Honor Code.
Accommodation for Disabilities
Students with disabilities needing academic accommodations should:
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 Assistant Dean of Students:
Student Disability Resource Center
08 Kellum Hall
Florida State University
Tallahassee, FL 32306-4066
e-mail: sdrc@admin.fsu.edu
phone: (850) 644-9566.