Programming Languages and Compilers I
198:515, Fall 2007


Announcements

Course Description

This course covers topics in programming languages and compilers such as: LL(1) and LR parsing techniques with error handling; attribute grammars and their use in syntax-directed translation; type systems and polymorphism; models of programming language semantics (i.e., operational semantics (closure interpreters) , lambda calculus); data abstraction; functional, object-oriented and declarative paradigms; intermediate representations of programs; programming models for mobile and dynamic networks. The follow-up course 198:516 will focus on advanced, optimizing compiler design and typically includes a programming project to write an optimizing compiler.

Prerequisites

The prerequisites include familiarity with an imperative programming language (e.g., C), an undergraduate or graduate compilers course (recommended), and 198:513. Permission of the instructor must be obtained if you lack a prerequisite.

Staff

Textbooks and Research Paper

Several copies of the dragon book and "lex & yacc" book will be available on reserve in the math library. An online copy of the research paper can be obtained by clicking on the link.

Homework and Project Questions

Please post questions regarding homeworks and projWednesday October 3rd Friday October 5th. ects using Rutgers's Sakai system . Select Discussion and Private Messages in our course group (16:198:515:01 F07). DO NOT send homework or project questions directly to the TA or me. Thanks.

Lectures

Tuesday/Thursday, 1:30 - 2:50 p.m. , Location: Hill 254

Homeworks

Projects


Useful Links

Acknowledgement

This course has been based on courses taught by Prof. Ryder and Prof. Borgida at Rutgers University.