MA41101: Theory Of Compiler Design
Other subject codes of the same course: MA40007 (4-credits)
MA41101 | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Course name | Theory Of Compiler Design | ||||||||||||||||||||||
Offered by | Mathematics | ||||||||||||||||||||||
Credits | 4 | ||||||||||||||||||||||
L-T-P | 3-1-0 | ||||||||||||||||||||||
Previous Year Grade Distribution | |||||||||||||||||||||||
| |||||||||||||||||||||||
Semester | Autumn |
Syllabus
Syllabus mentioned in ERP
Prerequisite: None
Syllabus: Compiler structure, lexical and syntax analysis, data structures organization, symbol table management, intermediate code forms, static and dynamic memory allocation, code generation for arithmetic expressions and control structures, subroutine calls and parameter transmission, code optimization
Concepts taught in class
Context sensitive grammar, context free grammar, operator precedence parsing, different types of parsers (SLR, CLR, LALR), predictive grammar (removal of left recursion, removal of right recursion, making grammar predictive, prefix, postfix), functions, alias, deadcode, error prediction, first & follow, 3-address code, syntax directed translation (synthesised attribute and inherited attribute), directed acyclic graph, static and dynamic binding, parsing & error prediction, variable types, copy propogation (forward substitution, backward substitution and anti dependency), labelling algorithm, common sub expression, function memory allocation, lexical analysis, backedge, 1 - address code and 2 - address code
How to Crack the Paper
Don't miss classes and maintain a class notes. Questions would be on the concepts taught in class and the examples covered by the professor.
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 | NC321 | |||||||||
Tuesday | NC321 | NC321 | ||||||||
Wednesday | ||||||||||
Thursday | NC321 | |||||||||
Friday |