Difference between revisions of "Fall 2020: System Programming"
Jump to navigation
Jump to search
Line 41: | Line 41: | ||
| Chapter 3 (R1) | | Chapter 3 (R1) | ||
|- | |- | ||
− | | #Fri 25/09 | + | | # Fri 25/09 |
| colspan="3" style="text-align:center; | '''Test 1''', Syllabus (1) Introduction to System Softwares, (2) Assemblers, (3)Linker and Loader, (4) Introduction to Compilers | | colspan="3" style="text-align:center; | '''Test 1''', Syllabus (1) Introduction to System Softwares, (2) Assemblers, (3)Linker and Loader, (4) Introduction to Compilers | ||
|- | |- | ||
Line 49: | Line 49: | ||
| Chapter 4 (R1) | | Chapter 4 (R1) | ||
|- | |- | ||
− | | #Fri 23/10 | + | | # Fri 23/10 |
| colspan="3" style="text-align:center; | '''Test 2''', Syllabus Test 1 + Lexical Analysis. | | colspan="3" style="text-align:center; | '''Test 2''', Syllabus Test 1 + Lexical Analysis. | ||
|} | |} |
Revision as of 19:56, 27 October 2020
Contents
Logistics
- Class Timings: Mondays(4th and 5th slot), Wednesdays(1st,2nd slot),
- Classroom: Online
- Lab Timings:Wednesdays(3rd slot),Fridays(1st slot) Saturdays(2nd,3rd slot)
Course Overview
- As per the COURSE Guidelines
Lectures
Date | Topic | Lecture Slides [ppt/pdf] | Readings |
---|---|---|---|
Wed 19/08 | Introduction to System Software, System Software and Machine Architecture, The Simplified Instructional Computer(SIC). | 0.pdf | Chapter 1 (Additional R1) |
Mon 24/08, Wed 26/08, Fri 28/08 | 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 (R2) |
Mon 31/08, Wed 02/09, Mon 07/09 | Linkers and Loaders:Introduction to Linking, Static vs. Dynamic Linking, Combining Object Modules, Pass I of Linking, Pass II of Linking, Algorithm for Pass II. LIbrary Linking. Position Independent Code. Shared Library Linking. Loader: Binary Image, Types of Loaders. | 2.pdf | Chapter 4 (R2) |
Wed 09/09, Fri 11/09 | Introduction to Compilers, Language Processors. The Structure of a Compiler, Phases of a Compiler. | 3.pdf | Chapter 1 (R1) |
Mon 14/09, Sat 19/09, Mon 21/09, Wed 23/09 | Lexical Analysis: (1) Role of Lexical Analyzer - Lexical Analysis vs. Parsing. Tokens, Patterns, and Lexemes. Attributes for Tokens. Lexical Errror. (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 (discussed several times), (5) Lexical Analyzer Generatror - Lex (self study from reference book, covered and discusses from course wiki) | 4.pdf | Chapter 3 (R1) |
# Fri 25/09 | Test 1, Syllabus (1) Introduction to System Softwares, (2) Assemblers, (3)Linker and Loader, (4) Introduction to Compilers | ||
Wed 30/09, Mon 05/10, Fri 09/10, Wed 14/10, Fri 16/10, Mon 19/10, Wed 21/10, Mon 26/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. (4) LR Parsing: Types of LR Parsers - LR(0), SLR(1), CLR(1), LALR(1). (5) YACC - The Parser Generator. | 5.pdf | Chapter 4 (R1) |
# Fri 23/10 | Test 2, Syllabus Test 1 + Lexical Analysis. |
Assignments and Tests
Assignments
- Assignment No. 1, Posted on Google Classroom, Submission Deadline: 30/09/2020
- Assignment No. 2, Posted on Google Classroom, Submission Deadline: 02/11/2020
Tests
- Test 1, 25/09/2020.
- Test 2, 23/10/2020.
- Test 3
Resources
- R1: Aho, A., Lam, M., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, Techniques, and Tools. 2nd edition. Addison Wesley.
- R2: Chattopadhyaya, S. (2011). System Software. P H I Learning.
- 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.