Difference between revisions of "Fall 2020: System Programming"
Line 54: | Line 54: | ||
(2) Context Free Grammars(CFGs), Derivations, Parsing(online content). <br> | (2) Context Free Grammars(CFGs), Derivations, Parsing(online content). <br> | ||
(3) '''Bottom-up Parsing''' - Reductions, Handle and Handle Pruning, '''Shift-Reduce Parsing''', Conflicts during Shift-Reduce Parsing('''shift/reduce''' or '''reduce/reduce''') <br> | (3) '''Bottom-up Parsing''' - Reductions, Handle and Handle Pruning, '''Shift-Reduce Parsing''', Conflicts during Shift-Reduce Parsing('''shift/reduce''' or '''reduce/reduce''') <br> | ||
− | (4) '''LR Parsing''': | + | (4) '''LR Parsing''': Types of LR Parsers - '''LR(0), SLR(1), CLR(1), LALR(1)'''. First and Follow in Parsing is also discussed since their concepts are used Parsers. <br> |
(5) '''YACC''' - The Parser Generator. | (5) '''YACC''' - The Parser Generator. | ||
| [http://mkbhandari.com/mkwiki/data/fall2020/6SyntaxAnalysis.pdf '''5.pdf'''] | | [http://mkbhandari.com/mkwiki/data/fall2020/6SyntaxAnalysis.pdf '''5.pdf'''] |
Revision as of 20:06, 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. |
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. |
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.