SYSTEMS SOFTWARE
UNIT-I:
1.1 Language Processors: Introduction, Language Processing Activities, Fundamentals of Language Processing & Language Specification, Language Processor Development Tools.
1.2 Data Structures for Language Processing: Search Data structures, Allocation Data Structures.
1.3 Scanning & Parsing.
Ref: DMD: Chapter 1, 2 & 3.
UNIT-II:
2.1 Assemblers: Elements of Assembly Language Programming, A Simple Assembly Scheme, Pass Structure of Assemblers, Design of a Two Pass Assembler, A single pass Assembler for IBM PC.
2.2 Macros and Macro Processors: Macro Definition and Call, Macro Expansion, Nested Macro Calls, Advanced Macro Facilities, Design of a Macro Preprocessor.
2.3 Linkers: Relocation and Linking Concepts, Design of a Linker, Self-Relocating Programs, A Linker for MS-DOS, Linking for Overlays, Loaders.
2.4 Software Tools: Software Tools for Program Development, Editors, Debug Monitors, Programming Environments, and User Interfaces.
Ref: DMD: Chapters 4, 5, 7 & 8.
UNIT-III:
Compilers:
3.1 Statement of Problem: Recognizing Basic Elements, Recognizing Syntactic Units and Interpreting Meaning, Intermediate form, Arithmetic statements, Non-Arithmetic statements, Non-executable statements, Storage Allocation, Code Generation, Optimisation (Machine-independent), Optimisation (Machine Dependent), Assembly Phase, General Model of the Compiler.
3.2 Phases of the Compiler: Lexical Phase, Syntax Phase, Interpretation Phase, Optimisation, Storage Assignment, Code Generation, Assembly Phase, Passes of the Compiler.
3.3 Data structures: Introduction, Implementation, Recursion, Call & Return Statements, Storage Classes, Static, Automatic, External Control & Based Storage. Implementation, Block structure, Non-local Go To’s, Interrupts, Pointers.
3.4 Interpreters: Use & Overview, Pure & Impure Interpreters
Ref: For Compilers: JD: Chapter 8. Additional Ref: DMD: Chapter 6.
Ref: for Interpreters: DMD: Chapter 6.
Main References:
DMD: Systems Programming & OS by D.M.DHAMDHERE (2nd Revised Edition) TMH.
JD: Systems Programming by John Donovan TMH.
explain the effect of following pseudo opcods on forward and backward referencing
1. START 2. ORIGIN 3. LTORG 4.DC 5. DS
why do we need multiple passes? how to restrict no of passes? can we have n-pass of assembler ?