back to classes

CS588 Languages and Translators

Syllabus

Fall 2005

-->
cs588 website: http://www.calstatela.edu/faculty/vcrespi/CS/CS588/cs588.html
Lectures:

MW 4:20-6:00pm, ET A220

Final Exam:

Monday, Dec 5, 4:30-7:00pm, ET A220

Instructor:

Valentino Crespi
vcrespi@calstatela.edu
(323) 343-4596.
ET-A318

Office Hours:

MW 3:00-4:00pm, TR 6:00-7:00pm.

Abstract: CS588 is a graduate course on Compilers. The focus is on learning advanced techniques to build a compiler for an Algol-like programming language. Students will be asked to develope a software project. In addition, students will have to conduct a separate investigation on special advanced topics concerning the subject and present their work in a final exam. The course will be mainly centered on the front-end of the compiler design, but time permitting also the back-end will be studied.
Prerequisites: CS488
Textbook: A. Aho, R. Sethi, J. Ullman. Compilers. Addison-Wesley, 1998.
References:
  1. J. Hopcroft, R. Motwani, J. Ullman. Introduction Automata Theory, Languages and Computation. Addison-Wesley.
  2. Arto Salomaa. Computation and Automata. Cambridge University Press.
  3. John Levine, Tony Mason, Doug Brown. Lex & yacc. O'Reilly.
  4. Robert Britton. MIPS Assembly Language Programming. Prentice Hall, 2003.
Topics:
  • Review on Formal Language Theory and Parsing Theory: regular and context free languages, bottom-up and top-down parsing. General structure of a compiler: front-end and back-end.
  • Lexical Analysis and Lexical Analyzer Generators.
  • Syntax Analysis: LL(k) Grammars, Predictive Top-Down Parsing, LR(k) Grammars, Bottom-Up Parsing. Parser generators.
  • L-attributed definitions and Syntax-Directed Translation.
  • Type Checking, Run-time Environments, Intermediate Code generation.
  • The MIPS Assembly language. Code generation and code optimization.
Grading Policy: One Midterm Exam (30%), One Final Exam (40%), One Class Project (30%)
Score (%) Letter Grade
90-100 A
80-89 B
60-79 C
50-59 D
0-49 F
Academic Integrity: Students are allowed and encouraged to discuss reading materials with each other. However, homework assignments must be solved and written individually. If you obtain a solution with help then you should acknowledge your source in the paper and then write independently your own solution.

Cheating will not be tolerated. Cheating on any assignment or exam will be taken seriously. All parties involved will receive a grade of F for the course and be reported to the Academic Senate.

General Policies:
  • Makeup Exams: No.
  • Homework Assignments:
    Homework assignments should be written neatly on standard sized paper (8.5 x 11 inch), possibly in black or blue ink (please do not use red) and submitted at the due date (no electronic submissions accepted). Each page should be numbered. Late submissions will not be accepted.
  • Use of Cell Phones: forbidden.
  • Late arrivals:
    Students arriving 30min after the beginning of class will not be admitted.
  • Office:
    Students are warmly invited to visit the instructor (during the announced office hours) for questions and clarifications.
  • E-mail:
    E-mails addressed to vcrespi@calstatela.edu must have, in the subject, the keyword CS588 (e.g. Subject: CS588 ...). All the E-mails will be possibly processed in the evening and so will be answered with a minimum delay. Be careful, the keyword in the subject is important for automatic filtering. Wrong subjects may result in the accidental loss of the message.