CO521: Compilers
Course Number : CO521 |
Course Title :Compilers |
Credits : 3 |
Prerequisites : CO214 Data Structures & Algorithms |
|
No |
Course Content |
|
Time Allocated (hours) |
  |
  |
  |
L&T |
P&A |
01 |
Introduction
Programming language design & implementation, Program and machine architectures, Linkers and loaders, Names and references, Types, Object-oriented programming |
|
4 |
|
02 |
Programming Tools
Recompilation tools such as make, Source code control tools such as res, Source-level debuggers and editors |
|
3 |
3 |
03 |
Lexical Analysis
Role of the lexical analyzer, Input buffering, Specification of tokens, Recognition of tokens, a language for specifying lexical analyzers, Finite Automata, Regular expressions and NFA, Design of lexical analyzer generator, Optimization of DFA-based pattern matchers. |
|
5 |
6 |
04 |
Syntax Analysis
Context-free Grammars, Top-down and Bottom-up parsing, Recursive descent parsing, Shift-reduce parsing, Semantic attachments, LR parsers, Ambiguous grammars, Parser Generators. |
|
7 |
6 |
05 |
Semantics Analysis - Static Semantics
Intermediate forms, Symbol table design and implementation, Type checking, Equivalence of type expressions, Type conversions, Other semantic checks such as Boolean in conditional statements, Type systems |
|
4 |
6 |
06 |
Code Generation
Run-time storage model, Storage allocation and register counting, Simple code generation, Symbol tables, Declarations, Assignment statements, Boolean expressions, Case statements, Procedure calls, Object-oriented construct code generation |
|
3 |
6 |
07 |
Miscellaneous Topics
Procedure parameters and return values, Introduction to code optimization, Compiler pragmatics |
|
4 |
3 |
|
Total |
|
30 |
30 |
|
|
Assessment |
|
Percentage Marks |
Continuous Assessment |
|
40 |
  |
         Tutorials |
|
  |
10 |
         Assignments |
|
  |
30 |
Written Examinations |
|
60 |
  |
         Mid-Semester |
|
  |
20 |
         End of Semester |
|
  |
40 |
[an error occurred while processing the directive]