
MAKAUT PCC-CS501 Compiler Design syllabus
Compiler Design (PCC-CS501) is a 3-credit theory paper in the fifth semester of the MAKAUT B.Tech CSE and IT programme. The paper runs from the phases of a compiler through lexical analysis, parsing, syntax directed translation, type checking, run time environments, intermediate code, optimisation and code generation.
Unit-wise syllabus
Unit 1: Introduction to compiling
3 lecture hoursCompilers, analysis of the source program, the phases of the compiler, cousins of the compiler.
Unit 2: Lexical analysis
6 lecture hoursThe role of the lexical analyzer, tokens, patterns, lexemes, input buffering, specification of a token, recognition of tokens, finite automata, regular expression to NFA and DFA, design of a lexical analyzer generator (Lex).
Unit 3: Syntax analysis
9 lecture hoursThe role of a parser, context free grammars, writing a grammar, top down parsing, non recursive predictive parsing (LL), bottom up parsing, handles, viable prefixes, operator precedence parsing, LR parsers (SLR, LALR), parser generators (YACC), error recovery strategies.
Unit 4: Syntax directed translation
5 lecture hoursSyntax directed definitions, construction of syntax trees, bottom-up evaluation of S attributed definitions, L attributed definitions, bottom-up evaluation of inherited attributes.
Unit 5: Type checking
4 lecture hoursType systems, specification of a simple type checker, equivalence of type expressions, type conversions.
Unit 6: Run time environments
5 lecture hoursSource language issues (activation trees, control stack, scope of declaration, binding of names), storage organization, activation records, storage allocation strategies, parameter passing (call by value, call by reference, copy restore, call by name), symbol tables, dynamic storage allocation.
Unit 7: Intermediate code generation
4 lecture hoursIntermediate languages, graphical representation, three-address code, implementation of three address statements (quadruples, triples, indirect triples).
Unit 8: Code optimization
5 lecture hoursBasic blocks and flow graphs, transformation of basic blocks, DAG representation of basic blocks, principal sources of optimization, loops in flow graphs, peephole optimization.
Unit 9: Code generation
4 lecture hoursIssues in the design of a code generator, a simple code generator, register allocation and assignment.
Marks distribution
| Mid semester exam | 15 marks |
| Assignment and quiz | 10 marks |
| Attendance | 5 marks |
| End semester exam | 70 marks |
| Maximum marks | 100 |
| Contact hours | 3 lectures per week, no tutorial, no practical |
Course outcomes
- Develop a lexical analyser for a given grammar specification.
- Design top-down and bottom-up parsers for a given parser specification.
- Develop syntax directed translation schemes.
- Develop algorithms to generate code for a target machine.
Recommended books
- Aho, Sethi, Ullman — Compiler Principles, Techniques and Tools (Pearson Education)
- Holub — Compiler Design in C (PHI)
PCC-CS501 previous year questions
We are collecting and checking the MAKAUT question papers for PCC-CS501. They will be listed here paper by paper as they are verified.
Learn Compiler Design with Atifay
Our recorded course follows this exact unit order, with notes you keep and lectures you can rewatch before the semester exam.
See the courseSyllabus text follows the official MAKAUT AICTE scheme published at makautexam.net. Check with your department for the scheme that applies to your batch.