System Software and Compiler Design - Hierarchical Syllabus
Hierarchical Structure
1. Introduction to System Software [2 Hrs]
+-- Concept of System Software
+-- Goals of system software
+-- System program vs system programming
+-- System Programs:
+-- Assembler
+-- Macro Processor
+-- Loader
+-- Linker
+-- Compiler
+-- Interpreter
+-- Device Drivers
+-- Operating System
+-- Editors
+-- Debuggers
2. Assemblers [7 Hrs]
+-- Assembly Language Programming
+-- Assembly scheme
+-- Pass structure of assembler
+-- Assembler Design
| +-- Two-pass Assembler
| +-- Single-pass Assembler for X86
+-- Data structures used
3. Macros and Macro Processor [6 Hrs]
+-- Macro Concepts
+-- Macro definition and call
+-- Features of Macros:
System Software and Compiler Design - Hierarchical Syllabus
| +-- Simple
| +-- Parameterized
| +-- Conditional
| +-- Nested
+-- Design of Two-pass Macro Processor
+-- Data structures used
4. Loaders and Linkers [6 Hrs]
+-- Loader and Linker Functions
+-- Functions of loaders
+-- Relocation and linking concepts
+-- Loading Schemes:
+-- Relocating Loader
+-- Direct Linking Loader
+-- Dynamic Linking and Loading
5. Compilers - Analysis Phase [10 Hrs]
+-- Compiler Concepts
+-- Phases of Compilers
+-- Lexical Analysis
| +-- Finite State Automata
| +-- Design of Lexical Analyzer
| +-- Data structures used
+-- Syntax Analysis
| +-- Context Free Grammar
| +-- Types of Parsers:
| | +-- LL(1)
| | +-- SR Parser
| | +-- Operator Precedence Parser
| | +-- SLR
+-- Semantic Analysis
System Software and Compiler Design - Hierarchical Syllabus
+-- Syntax Directed Definitions
6. Compilers - Synthesis Phase [8 Hrs]
+-- Code Generation Concepts
+-- Intermediate Code Generation
| +-- Syntax Tree
| +-- Postfix Notation
| +-- Three Address Codes:
| +-- Triples
| +-- Quadruples
| +-- Indirect Triple
+-- Code Optimization
| +-- Need and Sources of Optimization
| +-- Techniques:
| +-- Machine Dependent
| +-- Machine Independent
+-- Code Generation
+-- Issues in Code Generator Design
+-- Code Generation Algorithm
+-- Basic Block and Flow Graph