Announcements
Important: All emails either to the instructor or the TAs should begin with subject line "[CS335]" -- without any spaces in the course code (and without quotes).
Email not complying to this rule wi.
Assignments
There will be short assignments to give you a chance to apply the lecture material.
Assignments will have some written and some programming tasks.
Course Outline
The course will mainly cover topics from the following list (not necessarily in the same order). 1.
Compiler structure: analysis-synthesis model of compilation, various phases of a compiler, tool based approach to compiler construction.
2) Lexical analysis: interface with input, parser and symbol table, token, lexeme and patterns.
Difficulties in l.
Course Project
The course project gives you a chance to apply the concepts learnt in the class to build a prototype compiler.
You will be required to implement various phases of a compiler, and perform an experimental evaluationof your implementation.
1) Project will be done in groups.
The maximum (and preferable) size of a group will be threestudents.
Supporting Material
cscope and ctags: Code browsing utilities
Topics Covered and Slides
The slides are not suitable for taking prints as there is a lot of redundancy due to overlays.
Print only the pages that you really require.
Note that [DragonBook] refers to Compilers: Principles, Techniques, and Tools, Second edition, 2006. by Alfred V.
Aho , Monica S.
Lam , Ravi Sethi , Jeffrey D.
Ullman.
Almost all the content we cover in the cl.
What tools does a compiler use?
26. 26 Compiler- Construction Tools • The compiler writer, like any software developer, can profitably use modern software development environments containing tools such as:
language editors debuggers version managers profilers test harnesses and so on.