Set your preference
Font Scaling
Default
Page Scaling
Default
Color Adjustment

CS335A - Compiler Design

IITK

Prerequisites: ESC101A, CS210A, CS220A, CS330A

3-0-0-12

Course Contents

Compiler structure: analysis synthesis model of compilation, various phases of a compiler, tool based approach to compiler construction. Lexical analysis: interface with input, parser and symbol table, token, lexeme and patterns. Difficulties in lexical analysis. Error reporting. Implementation. Regular definition, Transition diagrams, LEX Syntax analysis: CFGs, ambiguity, associativity, precedence, top down parsing, recursive descent parsing, transformation on the grammars, predictive parsing, bottom up parsing, LR parsers (SLR, LALR, LR), YACC Syntax directed definitions: inherited and synthesized attributes, dependency graph, evaluation order, bottom up and top down evaluation of attributes, L and S attributed definitions Type checking: type system, type expressions, structural and name equivalence of types, type conversion, overloaded functions and operators, polymorphic functions, type checking in OO languages Run time system: storage organization, activation tree, activation record, parameter passing, symbol table, dynamic storage allocation, garbage collection. Intermediate code generation: intermediate representations, translation of declarations, assignments, control flow, Boolean expressions and procedure calls. Implementation issues Code generation and instruction selection: issues, basic blocks and flow graphs, register allocation, code generation, DAG representation of programs, code generation from DAG, peep hole optimization, code generator generators, specifications of machine Code optimization: Introduction to Code optimization, dataflow analysis. 


 

Topics

Current Course Information

Instructor(s):

Number of sections:

Tutors for each section:

Schedule for Lectures:

Schedule for Tutorial:

Schedule for Labs: