Subject Syllabus
CS-603 (C) - Compiler Design
CSE · Semester 6
Course Modules
Learn topic-wise with Hyper AI and revise using mapped PYQs.
Introduction of CompilerMajor data Structure in compilerTypes of CompilerFront-end and Back-end of compilerCompiler structure: analysis-synthesis model of compilationVarious phases of a compilerLexical analysis: Input bufferingSpecification & Recognition of TokensDesign of a Lexical Analyzer GeneratorLEX
Syntax analysis: CFGsTop down parsing, Brute force approach, recursive descent parsingTransformation on the grammars, predictive parsingBottom up parsing, operator precedence parsingLR parsers (SLR, LALR, LR), Parser generationSyntax directed definitions: Construction of Syntax treesBottom up evaluation of S-attributed definition, L-attribute definitionTop down translation, Bottom Up evaluation of inherited attributesRecursive Evaluation, Analysis of Syntax directed definition
Type checking: type system, specification of simple type checkerEquivalence of expression, types, type conversionOverloading of functions and operations, polymorphic functionsRun time Environment: storage organization, Storage allocation strategiesParameter passing, dynamic storage allocationSymbol tableError Detection & Recovery, Ad-Hoc and Systematic Methods
Intermediate code generation: Declarations, Assignment statements, Boolean expressions, Case statementsBack patching, Procedure callsCode Generation: Issues in the design of code generatorBasic block and flow graphsRegister allocation and assignmentDAG representation of basic blocksPeephole optimizationGenerating code from DAG