SCMS SCHOOL OF TECHNOLOGY AND MANAGEMENT
SCMS Campus, Prathap Nagar, Muttom, Aluva, COCHIN- 683 106. KERALA
MASTER OF COMPUTER APPLICATIONS MCA SEMESTER 3 SESSION PLAN COURSE NAME: SYSTEM SOFTWARE COURSE CODE : 303 FACULTY: J.M.LAKSHMI MAHESH COURSE OBJECTIVES: The course intends to
1. 2. 3. 4. Make the students understand the processes involved in the designing of a high-level programming language Introduce techniques for translating textual data from one form into another; in particular, translating highlevel program text into low-level text. Get a know-how on the different system utility programs .Help the students understand Grammars and their applications in compiler writing.
COURSE CONTENT:
Module I General concepts-Review of assembly and machine language programming, distinction between system software and application software, Language processors:- Introduction , Language processing activities. Assemblers:- Elements of Assembly language programming, A simple assembly scheme, Pass structure of assemblers, Design of two pass assemblers Module II Macros and macro processors:- Macro definition and call, Macro expansion, Nested macro calls, advanced macro facilities, design of macro pre processor Linker-Relocation and linking concepts-self relocating programs. Loader-Types of loaders Editor-Types of editors-Components of editor-Debug monitor Module III Introduction to compiling:- Compilers, Analysis of a source program, the phases of a compiler, Lexical analysis:-The role of the lexical analyzer, Input buffering, specification of tokens Recognition of tokens, Finite automata, Conversion of an NFA to DFA, From a regular expression to an NFA Module IV Syntax analysis:- the role of the parser, Context free grammars, writing a grammer, Top dowm parsing Bottom up parsing, syntax directed translation-syntax directed definition, , Construction of Syntax Tree, L R parsers-LR parsing algorithm, Constructing SLR parsing tables, SLR parsing table Module V Intermediate code generation-postfix notation, syntax tree, three-address code, basic blocks and flow graph,the DAG representation of basic blocks, Backpatching, Code optimization:- The principal sources of optimization, optimization of basic blocks, loops in flow graphs, Peephole optimization Code Generations:- Issues in the design of a code generator, simple code generator Code generation-object program, runtime addresses for names, problems in code generation, simple code generator.
Text Books and References
1. System Programming And Operating Systems- D.M Dhamdhere ,Tata Mc Graw Hill (Modules 1& 2) 2. Compilers Principles, Techniques and Tools- Alfred V Aho, Ravi Sethi, Jeffrry D Ullman(Modules 3, 4 & 5 ) 3. System Software- Leland L Beck, Addison Wesley Publishing Company 4. Systems Programming John J Donovan, Mc Graw Hill 5. Principles Of Compiler Design- Aho And Ullman 6. Introduction To Computer Systems- Mac Ewen, McGraw Hill 7. Systems Programming John J Donovan, Mc Graw Hill 8. Crafting a compiler with C Charles N.Fisher, RichardJ.LeBlanc, Jr 9. System software-Santanu Chattopadhyay 10. Theory of computer science K.L.P Mishra & N. Chandrasekharan
SESSIONAL ASSESSMENT : TOTAL MARKS : 25
Theory Course assessment will be based on:
1. 2. 3. 4. 5. Component Overall Class Participation & Attendance *Assignments &Presentation Class test Mid Term Model Exam Max. Numbers 2 3 1 1 Total Marks 30 80 75 50 75 % in the total 10 % 30 % 30 % 10 % 20 %
*Assignments /Presentation : 1. Individual topic will be given for Assignment, & the same shall be taken as the presentation . 2. Topics will be related to system software ,that has not been prescribed in the syllabus. 2. Assignment :30 marks . Presentation :50 marks 3.. Topic & Date for submitting the Assignment will be announced After the completion of 3rd module.
Session Plan
Topic Session (s) Reference
MODULE I Distinction Between System Software And Application Software
Introduction To Computer SystemsMac Ewen, McGraw Hill System Programming And Operating Systems- D.M Dhamdhere ,Tata Mc Graw Hill (Modules 1& 2) Systems Programming John J Donovan, Mc Graw Hill System software-Santanu Chattopadhyay
Review Of m/c And Assembly Language Programming, Assembly Language Statements Language processing Assembly language,phases in designing MODULE II Macros-macro definition, macro call, macro expansion, nested macro calls - macro processors
2-3 4-6 7-11 12-16
System Programming And Operating Systems- D.M Dhamdhere ,Tata Mc
Graw Hill (Modules 1& 2) Systems Programming John J Donovan, Mc Graw Hill System Software- Leland L Beck, Addison Wesley Publishing Company Linker-Relocation and linking concepts-self relocating programs. Loader-Types of loaders Editor-Types of editors-Components of editor-Debug monitor MODULE III Compiler-The phases of a compiler. Passes and reducing the number of passes. 17 18 19 20 Principles Of Compiler Design- Aho And Ullman Theory of computer science K.L.P Mishra & N. Chandrasekharan
High level programming languages Lexical Analysis-The role of lexical analyzer. Simple approach to the design of lexical analysis Implementation of transition diagram, regular expression Finite automata-DFA&NFA-conversion from regular expression to NFA and NFA to DFA. ,Introduction to flex MODULE IV The syntactic specification of a programming language- context free grammar derivation and parse tree, unambiguous grammar. Basic parsing technique-Bottom up and Top down parsers, representation of a parse tree. Shift reduce parsing-stack implementation of shift reduce parsing- constructing a parse tree -Introduction to Bison MODULE V Intermediate code generation-postfix notation, syntax tree, three-address code.
21-22 23-24 25-26 27-29
30-31
Principles Of Compiler Design- Aho And Ullman
32 33-35 36-39
40-41
Crafting a compiler with C Charles N.Fisher, RichardJ.LeBlanc, Jr Principles Of Compiler Design- Aho And Ullman Theory of computer science K.L.P Mishra & N. Chandrasekharan
code optimization-local optimization, loop optimization - loop invariant computation, induction variable elimination, reduction in strength. The DAG representation of basic blocks. Code generation-object program, runtime addresses for names, problems in code generation, simple code generator.
42-45 46 47-48 49-50
presentations
50-55