314451 : SYSTEMS PROGRAMMING
CREDITS - 04
UNIT – I INTRODUCTION TO SYSTEMS PROGRAMMING AND ASSEMBLERS 08 Hours
Introduction: Need of System Software, Components of System Software, Language Processing Activities, Fundamentals of Language Processing.
Assemblers: Elements of Assembly Language Programming, A simple Assembly Scheme, Pass structure of Assemblers, Design of Two Pass Assembler, Single pass assembler.
UNIT – II MACROPROCESSORS, LOADERS AND LINKERS 08 Hours
Macro Processor: Macro Definition and call, Macro Expansion, Nested Macro Calls and definition, Advanced Macro Facilities, Design of two-pass Macro Processor.
Loaders: Loader Schemes, Compile and Go, General Loader Scheme, Absolute Loader Scheme, Subroutine Linkages, Relocation and linking concepts, Self-relocating programs, Relocating Loaders, Direct Linking Loaders, Overlay Structure.
UNIT - III INTRODUCTION TO COMPILERS 08 Hours
Phase structure of Compiler and entire compilation process.
Lexical Analyzer: The Role of the Lexical Analyzer, Input Buffering. Specification of Tokens, Recognition of Tokens, Design of Lexical Analyzer using Uniform Symbol Table, Lexical Errors.
LEX: LEX Specification, Generation of Lexical Analyzer by LEX.
UNIT – IV PARSERS 08 Hours
Role of parsers, Classification of Parsers: Top down parsers- recursive descent parser and predictive parser.Bottom up Parsers – Shift Reduce: SLR, CLR and LALR parsers. Error Detection and Recovery in Parser. YACC
specification and Automatic construction of Parser (YACC).
UNIT – V SEMANTIC ANALYSIS AND STORAGE ALLOCATION 08 Hours
Need, Syntax Directed Translation, Syntax Directed Definitions, Translation of assignment Statements, iterative statements, Boolean expressions, conditional statements, Type Checking and Type conversion.
Intermediate Code Formats: Postfix notation, Parse and syntax tress, Three address code, quadruples and triples.
Storage Allocation: Storage organization and allocation strategies.
UNIT – VI CODE GENERATION AND OPTIMIZATION 08 Hours
Code Generation: Code generation Issues. Basic blocks and flow graphs, A Simple Code Generator.
Code Optimization: Machine Independent: Peephole optimizations: Common Sub-expression elimination, Removing of loop invariants, Induction variables and Reduction in strengths, use of machine idioms, Dynamic Programming Code Generation.
Machine dependent Issues: Assignment and use of registers, Rearrangement of Quadruples for code optimization.
Text Books
1. D. M. Dhamdhere, Systems Programming and Operating Systems, Tata McGraw-Hill, ISBN 13:978-0-07-463579-7, Second Revised Edition.
2. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers Principles, Techniques and Tools, Addison Wesley, ISBN:981–235–885 - 4, Low Price Edition.
3. J. J. Donovan, Systems Programming, McGraw-Hill, ISBN 13:978-0-07-460482-3, Indian Edition.
Reference Books
1. Leland L. Beck, “System Software An introduction to Systems Programming”, Pearson Education, ISBN13: 9788177585551.