Module 1 Assembler
Overview of the assembly process – Design of two pass assembler- Single pass assembler- Macros – Macro definition and usage- schematics for Macro expansion – Design of a Macro pre-processor – Macro Assembler.
Overview of the assembly process – Design of two pass assembler- Single pass assembler- Macros – Macro definition and usage- schematics for Macro expansion – Design of a Macro pre-processor – Macro Assembler.
Module 2 Introduction to Compilers
Compilers and Translators – Structure of a compiler – lexical analysis – syntax analysis – context free grammars – basic parsing techniques- top down and bottom up parsing (brief idea only)- Recursive Decent parser – Shift reduce parser.
Compilers and Translators – Structure of a compiler – lexical analysis – syntax analysis – context free grammars – basic parsing techniques- top down and bottom up parsing (brief idea only)- Recursive Decent parser – Shift reduce parser.
Module 3 Storage allocation
Data descriptors- Static and Dynamic storage allocation – Storage allocation and access in block structured programming languages – Array allocation and access- Compilation of expressions – Handling operator priorities – Intermediate code forms for expressions –code generator.
Data descriptors- Static and Dynamic storage allocation – Storage allocation and access in block structured programming languages – Array allocation and access- Compilation of expressions – Handling operator priorities – Intermediate code forms for expressions –code generator.
Module 4 Compilation of Control Structures
Control transfer- Conditional and Iterative constructs- Procedure calls – Code optimization – Optimization transformations – Local optimization and global optimization – Compiler writing tools – Incremental Compilers
Control transfer- Conditional and Iterative constructs- Procedure calls – Code optimization – Optimization transformations – Local optimization and global optimization – Compiler writing tools – Incremental Compilers
Module 5 Loaders and Linkers
Loading – Program relocatability – linking – various loading schemes – linkage editing – Design of linkage editor – dynamic loading – overlays – dynamic linking.
Loading – Program relocatability – linking – various loading schemes – linkage editing – Design of linkage editor – dynamic loading – overlays – dynamic linking.
Text Book
1. System Programming and Operating Systems – Dhamdhere Mc Graw Hill
2. Principles of Compiler Design – Aho A.V., Ullman Narosa Publications.
2. Principles of Compiler Design – Aho A.V., Ullman Narosa Publications.
References
1. Systems programming – Donovan, Mc. Graw Hill.
2. System Software – An Introduction to Systems Programming- Leland L. Beck, Addison Wesley.
3. Compilers Principles Techniques And Tools Aho, Sethi, Ullman, Pearson Education Asia
2. System Software – An Introduction to Systems Programming- Leland L. Beck, Addison Wesley.
3. Compilers Principles Techniques And Tools Aho, Sethi, Ullman, Pearson Education Asia