CS39003: Compilers Laboratory
CS39003 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Course name | COMPILERS LABORATORY | ||||||||||||||||||||||||||||
Offered by | Computer Science & Engineering | ||||||||||||||||||||||||||||
Credits | 2 | ||||||||||||||||||||||||||||
L-T-P | 0-0-3 | ||||||||||||||||||||||||||||
Previous Year Grade Distribution | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Semester | {{{semester}}} |
Syllabus
Syllabus mentioned in ERP
The aim is to write a compiler for a small language.Familiarity with compiled codes (assembly language) of RISC and CISC machines, writing a scanner, writing a predictive parser for a small language, a small experiment with scanner (lex/flex) and parser (yacc/byson) generator (such as translation of regular expressions to NFA or the construction of parse tree), writing scannerparse specification for a small language, translation of the language to an intermediate form (e.g. three-address code), generation of target code (in assembly language). Code improvement (optional).References1.Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools, AddisonWesley.2.Michael L. Scott, Programming Language Pragmatics, Elsevier.3.Andrew W. Appel, Modern Compiler Implementation in C/Java, Cambridge University Press.4.Keith D. Cooper and Linda Torczon, Engineering a Compiler, Elsevier.5.Allen I. Holob, Compiler Design in C, Prentice-Hall.6.Steven S. Muchnik, Advanced Compiler Design and Implementation, Elsevier.7.Randy Allen and Ken Kennedy, Optimizing Compilers for Modern Architectures, Elsevier.8.Santanu Chattopadhyay, Compiler Design, Prentice Hall of India Pvt. Ltd.
Concepts taught in class
Student Opinion
How to Crack the Paper
Classroom resources
Additional Resources
Time Table
Day | 8:00-8:55 am | 9:00-9:55 am | 10:00-10:55 am | 11:00-11:55 am | 12:00-12:55 pm | 2:00-2:55 pm | 3:00-3:55 pm | 4:00-4:55 pm | 5:00-5:55 pm | |
---|---|---|---|---|---|---|---|---|---|---|
Monday | ||||||||||
Tuesday | ||||||||||
Wednesday | ||||||||||
Thursday | NC 341 | NC 341 | NC 341 | |||||||
Friday |