Syllabus B Tech Computer Science Seventh Semester Compiler Design CS7002

Computer-Science-Engineering-7

Syllabus B Tech Computer Science Seventh Semester Compiler Design CS7002

The concepts developed in this course will aid in quantification of several concepts in Computer Science Engineering that have been introduced at the Engineering courses. Technology is being increasingly based on the latest Syllabus B Tech Computer Science Seventh Semester Compiler Design CS7002 is given here.

The objective of this course Syllabus B Tech Computer Science Seventh Semester Compiler Design CS7002 is to develop ability and gain insight into the process of problem-solving, with emphasis on thermodynamics. Specially in following manner: Apply conservation principles (mass and energy) to evaluate the performance of simple engineering systems and cycles. Evaluate thermodynamic properties of simple homogeneous substances. Analyze processes and cycles using the second law of thermodynamics to determine maximum efficiency and performance. Discuss the physical relevance of the numerical values for the solutions to specific engineering problems and the physical relevance of the problems in general and Critically evaluate the validity of the numerical solutions for specific engineering problems. More precisely, the objectives are:

  • To enable young technocrats to acquire mathematical knowledge to understand Laplace transformation, Inverse Laplace transformation and Fourier Transform which are used in various branches of engineering.
  • To introduce effective mathematical tools for the Numerical Solutions algebraic and transcendental equations.
  • To acquaint the student with mathematical tools available in Statistics needed in various field of science and engineering.

CS 7002 – Compiler Design

Unit 1
Introduction to compiling & Lexical Analysis
Introduction of Compiler, Major data Structure in compiler, BOOT Strapping & Porting, Compiler structure: analysis-synthesis model of compilation, various phases of a compiler, Lexical analysis: Input buffering , Specification & Recognition of Tokens, LEX.
Unit 2
Syntax Analysis &Syntax Directed Translation
Syntax analysis: CFGs, Top down parsing, Brute force approach, recursive descent parsing, transformation on the grammars, predictive parsing, bottom up parsing, operator precedence parsing, LR parsers (SLR, LALR, LR),Parser generation. Syntax directed definitions: Construction of Syntax trees, Bottom up evaluation of S-attributed definition, L-attribute definition, Top down translation, Bottom Up evaluation of inherited attributes Recursive Evaluation, Analysis of Syntax directed definition.
Unit 3
Type Checking & Run Time Environment
Type checking: type system, specification of simple type checker, equivalence of expression, types, type conversion, overloading of functions and operations, polymorphic functions. Run time Environment: storage organization, Storage allocation strategies, parameter passing, dynamic storage allocation , Symbol table.
Unit 4
Code Generation
Intermediate code generation: Declarations, Assignment statements, Boolean expressions, Case statements, Back patching, Procedure calls Code Generation: Issues in the design of code generator, Basic block and flow graphs, Register allocation and assignment, DAG representation of basic blocks, peephole optimization, generating code from DAG.
Unit 5
Code Optimization
Introduction to Code optimization: sources of optimization of basic blocks, loops in flow graphs, dead code elimination, loop optimization, Introduction to global data flow analysis, Code Improving transformations ,Data flow analysis of structure flow graph Symbolic debugging of optimized code.

Practical List

Develop a lexical analyzer to recognize a few patterns.
Write a programme to parse using Brute force technique of Topdown parsing.
Develop LL (1) parser (Construct parse table also).
Develop an operator precedence parser (Construct parse table also)
Develop a recursive descent parser
Write a program for generating for various intermediate code forms
i) Three address code ii) Polish notation
Write a program to simulate Heap storage allocation strategy
Generate Lexical analyzer using LEX
Generate YACC specification for a few syntactic categories.
Given any intermediate code form implement code optimization techniques
Study of an Object Oriente. 

Books Recommended

1. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques and Tools , Pearson Education
2 Raghavan, Compiler Design, TMH Pub.
3. Louden. Compiler Construction: Principles and Practice, Cengage Learning
4. A. C. Holub. Compiler Design in C , Prentice-Hall Inc., 1993.
5. Mak, writing compiler & Interpreters, Willey Pub.