III B.E. (Computer Engg.)

VI SEMESTER

6CP1 SYSTEM SOFTWARE ENGINEERING

  1. OVERVIEW: Comparison of machine language, assembly language and high level languages, External and internal representation of instructions and data. Data allocation structures, search structures and addressing modes. Activities and system software for program generation, translation and execution. Editors for source code and object code/executable code files.

  2. ASSEMBLERS: Assembly language specification. Machine dependent and independent features of assembler. Classification of assemblers. Pass structure of assemblers (problem and associated activities). Design of a two pass assembler. Design of a one pass assembler for IBM-PC.

  3. LOADER AND LINKERS. Functions and classification. Machine dependent and independent features of loaders, Design of bootstrap, absolute and relocatable loaders, Design of linker. Case study of MS - DOS linker.

  4. MACRO PROCESSORS: Macro definition, call and expansion. Macro processor algorithm and data structure. Machine independent features (parameters, unique labels, conditional expansion, nesting and recursion). Pass structure and design of microprocessor and macro assembler, Case study of MASM macro processor. .

  5. HIGH LEVEL LANGUAGE PROCESSOR: HLL specification: Grammers and parse trees, expression and precedence. Lexical analysis: Classification of tokens, scanning methods, character recognition, lexical ambiguity. Syntactic analysis: Operator precedence parsing, recursive descent parsing. Symbol Table Management: Data structure for symbol table, hasing functions for symbols, overflow technique, block structure in symbol table.

 Recommended Books:

  1. D.M. Ohamdhere -System programming & operating system. Tata Mc-Graw Hill.

  2. L.L. Beck -System Software. Pearson Education,

  3. J.J. Donovan - System programming. Tata Mc-Graw Hill.