MCA C3002
Compiler Design

Notes are on their way.
For now, use the syllabus outline to see what this subject covers.
Syllabus topics
Compilers, Analysis of the source program, The phases of the compiler, Major data structures in a Compiler, Issues in a Compiler Structure, Bootstrapping and Porting Scanning : Scanning Process.[Q-1]
Notes will be added here.
Syllabus: supplied PDF, page 21.
Syllabus topics
Regular languages and Regular Expressions, Memory required to recognize a language, Fin ite Automata, Deterministic Finite Automata , Non -Deterministic Finite Automata, NFA with e -moves, regular sets, Equivalence of DFA and NDFA, Regular and Non -regular languages: Criterion for Regularity, Minimal Finite Automata, Context Free Grammars: Introduction, definition, Regular Grammar, Derivation trees, Ambiguity, Simplified forms and Normal Forms. [Q-2]
Notes will be added here.
Syllabus: supplied PDF, page 21.
Syllabus topics
Top-down Parsing: Top down Parsing by Recursive Descent, LL(1), First and Follow sets, Recursive Descent Parser for a Tiny language, Error Recovery in Top-down Parser. Bottom-up Parsing : Overview of Bottom -up Parsing, LR(0) items and LR( 0 ) Parsing, SLR(1), General LR(1) and LALR(1) Parsing, YACC , Error Recovery in Bottom-up Parser. [Q-2]
Notes will be added here.
Syllabus: supplied PDF, page 21.
Syllabus topics
Attributes and Attributes Grammars, Algorithms for Attribute Computation, Symbol Table, Data types and Data type Checking, Semantic Analyzer for Tiny language. Run-time Environments: Memory organization during program execution, Fully static run-time environment, S tack-based run -time environments, Dynamic memory, Parameter passing mechanism, Run -time environment for Tiny language. [Q-2]
Notes will be added here.
Syllabus: supplied PDF, page 21.
Syllabus topics
Intermediate code and data structures for code generation, Basic code generation techniques, Code generation of Control statements and Logical expressions. [Q-1]
Notes will be added here.
Syllabus: supplied PDF, page 21.
Check your university’s syllabus for the topics covered in your exams.