SPCC

Assemblers

Macros and Macro Processor

Introduction to System Software

Goals of system software

Introduction to Assembler, Macro processor, Loader, Linker, Compiler, Interpreter, Device Drivers, Operating system, Editors, Debuggers.

Concept of System Software

Assembler Design

Elements of Assembly Language programming

Single pass Assembler Design

Two pass assembler Design for Hypothetical / X86 family processor

Introduction

Macro definition and call, Features

Macro facility

Simple

Parameterized

Conditional

Nested

Macro Processor

Data structures

Design of single pass

ARGTAB

Loaders and Linkers

Functions of loaders

Relocation and Linking concept

Introduction

Different loading schemes

Relocating loader

Direct Linking Loader

Dynamic linking and loading

Compilers

Analysis Phase

Synthesis phase

Lexical Analysis

Syntax Analysis

Role of Finite State Automata

Design of Lexical analyser

Role of Context Free Grammar in Syntax analysis

Types of Parsers

Top down parser- LL(1)

Bottom up parser

Operator precedence parser

SLR

Basic block and flow graph

Code Generation

Intermediate Code Generation

Code Optimization:

Types of Intermediate codes

Postfix notation

Syntax tree

Three address codes

Triples

Quadruples

Need and sources of optimization

Machine Dependent and Machine Independent

Issues in the design

Algorithm