Subject Syllabus
AL703 (A) - Compiler Design
AIML · Semester 7
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 translationBottom Up evaluation of inherited attributes Recursive EvaluationAnalysis 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 organizationStorage allocation strategies, parameter passingDynamic 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