The document summarizes the topics covered in a compiler design course, including lexical analysis, parsing, syntax analysis, translation, symbol tables, run-time storage, error handling, code optimization, and code generation. The course covers assemblers, linkers, loaders, compilers, and translators. It discusses finite automata, context-free grammars, parsing techniques, syntax trees, intermediate representations, symbol tables, stack allocation, error detection and recovery, optimization of loops and basic blocks, register allocation, and code generation from DAGs.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
31 views1 page
Syllabus
The document summarizes the topics covered in a compiler design course, including lexical analysis, parsing, syntax analysis, translation, symbol tables, run-time storage, error handling, code optimization, and code generation. The course covers assemblers, linkers, loaders, compilers, and translators. It discusses finite automata, context-free grammars, parsing techniques, syntax trees, intermediate representations, symbol tables, stack allocation, error detection and recovery, optimization of loops and basic blocks, register allocation, and code generation from DAGs.
Unit-1 Assemblers, linkers, loaders, compilers and translators, the structure of compiler, different states in the construction of a compiler, Unit-2: Design of lexical analyzer, Basic Parsing Techniques, Finite automata and Lexical Analysis-language for specifying lexical analyzers, implementation of lexical analyzers. Syntax specification of programming language, context free grammars, derivation and implementation of lexical analyzers. Parsers, shift reduce parsing, operatorprecedence parsing, top down parsing, predictive parsers, LR parsers, the canonical collection of LR(O) ITEMS, Construction of SLR parsing tables, construction Tables, implementation of LR parsing tables. Syntax-Directed Translation: Syntax-directed translation schemes, implementation of syntax directed translators, intermediate code, postfix notation, parse trees and syntax trees, three address code, quadruples, and triples, translation of assignment statements. Boolean expressions, control statements. Symbol Labels The contents of a symbol table, data structures for symbol tables, representation scope information. Unit-3 Run time storage Administration: Implementation of a simple stack allocation scheme, implementation of block structured languages, storage allocation in block structured languages. Error Detection and Recovery: Error, Lexical-phase errors, syntactic-phase errors, semantic errors, detection and recovery. Unit-4: Code Optimization: The Principle sources of optimization, loop optimization, the DAG representation of basic blocks, value number and algebraic laws, global data flow analysis. Code Generation: Object programs, problems in code generation, a machine model, a single code generator, register allocation and assignment, code generation from DAGs, peephole optimization.