GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3160715
SYSTEM SOFTWARE
6th SEMESTER
Type of course: Elective
Prerequisite: Data Structures, Operating Systems, Microprocessor & Interfacing
Rationale: NA
Teaching and Examination Scheme:
Teaching Scheme Credits Examination Marks Total
L T P C Theory Marks Practical Marks Marks
ESE (E) PA (M) ESE (V) PA (I)
3 0 2 4 70 30 30 20 150
Content:
Sr. No. Content Total %
Hrs Weightage
1 Overview of System Software 04 10%
Introduction, Software, Software Hierarchy, Systems Programming,
Machine Structure, Interfaces, Address Space, Computer Languages,
Tools, Life Cycle of a Source Program, Different Views on the Meaning
of a Program, System Software Development, Recent Trends in Software
Development, Levels of System Software
2 Overview of Language Processors 04 10%
Programming Languages and Language Processors, Language
Processing Activities, Program Execution, Fundamental of Language
Processing, Symbol Tables
Data Structures for Language Processing: Search Data structures,
Allocation Data Structures.
3 Assemblers 05 15%
Elements of Assembly Language Programming, Design of the
Assembler, Assembler Design Criteria, Types of Assemblers, Two-Pass
Assemblers, One-Pass Assemblers, Single pass Assembler for Intel x86 ,
Algorithm of Single Pass Assembler, Multi-Pass Assemblers, Advanced
Assembly Process, Variants of Assemblers Design of two pass
assembler,
4 Macro and Macro Processors 07 20%
Introduction, Macro Definition and Call, Macro Expansion, Nested
Macro Calls, Advanced Macro Facilities, Design Of a Macro Pre-
processor, Design of a Macro Assembler, Functions of a Macro
Processor, Basic Tasks of a Macro Processor, Design Issues of Macro
Processors, Features, Macro Processor Design Options, Two-Pass Macro
Processors, One-Pass Macro Processors
5 Linkers and Loaders 06 20%
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3160715
Introduction, Relocation of Linking Concept, Design of a Linker, Self-
Relocating Programs, Linking in MSDOS, Linking of Overlay Structured
Programs, Dynamic Linking, Loaders, Different Loading Schemes,
Sequential and Direct Loaders, Compile-and-Go Loaders, General
Loader Schemes, Absolute Loaders, Relocating Loaders, Practical
Relocating Loaders, Linking Loaders, Relocating Linking Loaders,
Linkers v/s Loaders
6 Scanning and Parsing 04 10%
Programming Language Grammars, Classification of Grammar,
Ambiguity in Grammatic Specification, Scanning, Parsing, Top Down
Parsing, Bottom up Parsing, Language Processor Development Tools,
LEX, YACC
7 Compilers 03 8%
Causes of Large Semantic Gap, Binding and Binding Times, Data
Structure used in Compiling, Scope Rules, Memory Allocation,
Compilation of Expression, Compilation of Control Structure, Code
Optimization
8 Interpreters & Debuggers 03 7%
Benefits of Interpretation, Overview of Interpretation, The Java
Language Environment, Java Virtual Machine,
Types of Errors, Debugging Procedures, Classification of Debuggers,
Dynamic/Interactive Debugger
Suggested Specification table with Marks (Theory):
Distribution of Theory Marks
R Level U Level A Level N Level E Level C Level
7 30 33 - - -
Legends: R: Remembrance; U: Understanding; A: Application, N: Analyze and E: Evaluate C:
Create and above Levels (Revised Bloom’s Taxonomy)
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Reference Books:
1) System Programming by D M Dhamdhere, McGraw Hill Publication
2) System Programming by Srimanta Pal, OXFORD Publication
3) System Programming and Compiler Construction by R.K. Maurya & A. Godbole.
4) System Software – An Introduction to Systems Programming by Leland L. Beck, 3rd Edition,
Pearson Education Asia, 2000
5) System Software by Santanu Chattopadhyay, Prentice-Hall India,2007
Course Outcome:
After learning the course the students should be able to:
Page 2 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3160715
Marks %
Sr. No. CO statement
weightage
CO-1 Explain and classify different methodologies, concepts and approaches 15%
to System Software Programming.
CO-2 Identify elements of language processors with various data structures 25%
used in development of one-pass and multi-pass assemblers.
CO-3 Examine macro processor, its usage and compare various loading and 25%
linking schemes.
CO-4 Build various system programs using language processor development 15%
tools such as YACC and Lex.
Design code optimization based solution for the given system
CO-5 problems by applying various techniques of compiler, interpreter and 20%
debugger.
List of Experiments and Design based Problems (DP)/Open Ended Problem:
(Pl. Note: List of Experiments should be as per theory covered in the class, below mentioned practical
are just for the reference purpose)
1. Write a program to implement the lexical analyzer.
2. Write a Lexical Analyzer (using lex utility for UNIX).
3. Write a program to left factor the given grammar.
4. Write a program to remove the Left Recursion from a given grammar.
5. Aim: Implement Recursive Descendent Parsing for the given Grammar.
E -> T + E / T
T -> F * T / F
F -> ( E ) / i
6. Implement Predictive Parser for the given grammar.
E -> T + E / T
T -> F * T / F
F -> ( E ) / i
7. Write a SAL program in text file and generate SYMTAB and LITTAB
8. Use macro features of C language
9. Write a program which generates Quadruple Table for the given postfix String
10. Write a C program to parse a given string using Predictive parsing for given
grammar.
type → simple | ↑id | array [ simple ] of type
simple → integer | char | num dotdot num
List of Open Source Software/learning website:
www.cs.jhu.edu/~scott/pl/lectures/parsing.html
www.en.wikipedia.org/wiki/System_programming
https://www.isi.edu/~pedro/Teaching/CSCI565-Fall15/Materials/LexAndYaccTutorial.pdf
https://developer.ibm.com/technologies/systems/tutorials/au-lexyacc/
Page 3 of 3
w.e.f. AY 2018-19