Fall 2021: System Programming
Contents
Logistics
- Class Timings: Wednesdays and Thursdays 10:45 am - 12:45 pm (3rd and 4th slot)
- Classroom: Online
- Lab Timings: Tuesdays 1:00 pm - 5:00 pm (5th - 8thslot)
Course Overview
- As per the COURSE Guidelines
Lectures
Lecture | Topic | Lecture Slides | Readings |
---|---|---|---|
Unit 01-Part 1 (22/07, 29/07, 04/08, 05/08, 11/08) | Introduction to System Software: System Software and Machine Architecture. Assemblers: Introduction to Assembler. A Simple Manual Assembler. Assembler Design Process: (1) Major Data Structures used (Machine Opcode Table, Pseudo Opcode Table, Symbol Table), (2) Two-pass Assembler, (3) Single-pass Assembler. Load-and-go Assemblers, Object file formats.
|
1.pdf | Chapter 3 (R1) |
Unit 01-Part 2 (12/08, 19/08, 25/08, 02/09) | Linkers and Loaders:Introduction to Linking, Static vs. Dynamic Linking, Combining Object Modules, Pass I of Linking, Pass II of Linking. LIbrary Linking. Position Independent Code. Shared Library Linking. Loader: Binary Image, Types of Loaders.
|
2.pdf | Chapter 4 (R1) |
Unit 02 (08/09) | Introduction to Compilers:Overview of compilation, Phases of a compiler
|
3.pdf Example.jpg | Chapter 1 (R2) |
Unit 03 (09/09, 15/09, 23/09) | Lexical Analysis: (1) Role of Lexical Analyzer - Lexical Analysis vs. Parsing. Tokens, Patterns, and Lexemes. Attributes for Tokens. Lexical Error. (2) Specification of Tokens-Symbols, Alphabets, Strings(Terms for Parts of Strings), Languages(Operations on Languages). Regular Expressions (Algebraic Laws), Regular Definitions, Extensions of Regular Expressions. (3) Recognition of Tokens, Transition Diagrams, Implementation of Transition Diagrams. (4) Symbol Table (self study from reference book). (5) Lexical Analyzer Generatror - Lex (self study from reference book, course wiki)
|
4.pdf | Chapter 3 (R2) |
Unit 04 (29/09, 06/10, 7/10, 20/10,) | Syntax Analysis: (1) Role of Syntax Analyzer. (2) Context Free Grammars(CFGs), Derivations, Parsing(online content). (3) Bottom-up Parsing - Reductions, Handle and Handle Pruning, Shift-Reduce Parsing, Conflicts during Shift-Reduce Parsing(shift/reduce or reduce/reduce). (4) First and Follow in Parsing. (5) LR Parsing: Types of LR Parsers - LR(0), SLR(1), CLR(1), LALR(1). (6) YACC - The Parser Generator.
|
5.pdf FristNFollow.pdf Scribe: Priya Singh HWnotes1.pdf HWnotes2.pdf |
Chapter 4 (R2) |
Assignments and Tests
- Assignment No. 1(a), Explain the different object file formats. [12/08/2021]
- Assignment No. 1(b), Explain the difference between compiler and interpreter. [ 08/09/2021]
- Assignment No. 1(c), Question No. 4, DU Previous Year Question Paper (18th Dec 2020). [11/08/2021]
- Assignment No. 1(d), Question No. 3, DU Previous Year Question Paper (23rd Dec 2020). [25/08/2021]
- Assignment No. 1(e), Explain the different types of Language Processors with suitable examples/diagrams. [08/09/2021]
Assignment No. 1, Submission Deadline: 25/09/2021
- Assignment No. 2(a), Question No. 5, DU Previous Year Question Paper (23rd Dec 2020). [06/10/2021]
- Assignment No. 2(b), Question No. 1, Unit-4(5.pdf, Slide no. 29). [07/10/2021]
- Assignment No. 2(c), Question No. 2, Unit-4(5.pdf, Slide no. 29). [07/10/2021]
- Assignment No. 2(d), Question No. 1, Unit-4(5.pdf, Slide no. 36). [07/10/2021]
- Assignment No. 2(e), Question No. 2, Unit-4(5.pdf, Slide no. 36). [07/10/2021]
Assignment No. 2, Submission Deadline: 31/10/2021
References/Resources
- R1: Chattopadhyaya, S. (2011). System Software. PHI Learning.
- R2: Aho, A., Lam, M., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, Techniques, and Tools. 2nd edition. Addison Wesley.
- Additional R1: Beck, L. & Manjula, D. (1996). System Software: An Introduction to System Programming. 3rd edition. Pearson Education.
- Additional R2: Dhamdhere, D. M. (2015). Systems Programming. Tata McGrawHill.
Course Running Status (~60%)
Unit/Chapter | Topic | Status | Remarks |
---|---|---|---|
1/Ch3(R1) | Assemblers | Completed | 11/08/2021 |
1/Ch4(R1) | Linkers and Loaders | Completed | 25/08/2021 |
2/Ch1(R2) | Introduction to Compilation | Completed | 08/09/2021 |
3/Ch3(R2) | Lexical Analysis | Completed | 23/09/2021 |
4/Ch3(R2) | Syntax Analysis | Running |