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[edit | edit source]
Syllabus mentioned in ERP[edit | edit source]
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[edit | edit source]
Student Opinion[edit | edit source]
How to Crack the Paper[edit | edit source]
Classroom resources[edit | edit source]
Additional Resources[edit | edit source]
Time Table[edit | edit source]
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 |