School: Computer Science & Application Year : Second Year Course: Compiler Design Programme: M.C.A. Semester - IV Course Code: CSA0100P402 Theory: 4 Hrs/Week Max. University Theory Examination: 60 Marks Max. Time for Theory Exam.: 3 Hrs. Continuous Internal Assessment: 40 Marks Objectives 1 To introduce the major concept areas of language translation and compiler design 2 To enrich the knowledge in various phases of compiler. 3 To understand role of lexical analyzer and grammars for a programming language 4 To know the importance of code optimization. Unit Number 1 2 3 4 Details Introduction to Compiling and Lexical Analysis: Introduction to Compiler, Single and Multi-Pass Compilers, Translators, Phases of Compilers, Compiler writing tools. Definition, analysis of the source program, the phases of a compiler, the grouping of phases, Compiler- Construction tools, The role of the Lexical analyzer, Input buffering, Specification of Tokens, A Language for Specifying Lexical Analyzers, Design of a Lexical Analyzer generator. Syntax Analysis and Parsing: The role of the Parser, Context-free grammars, Writing a Grammar, Top-Down Parsing, Bottom Up Parsing, Operator-precedence Parsing, LR-Parsers, Using Ambiguous Grammars, Parser Generators. Syntax-Directed Translation: Definitions, Synthesized and inherited attributes, Construction of Syntax Trees, bottom up and top down evaluation of attributes, S-attributed and L-attributed definitions Top- Down Translation, Bottom-Up Evaluation of Inherited attributes. Intermediate Code: Generation Intermediate Languages, Declarations, Assignment Statements, Case Statements, Back patching, Boolean Expressions and Procedure Calls. Hours 12 7
5 Code Optimization and Code Generation: Principal sources of Optimization, Optimization of basic blocks, Peephole Optimization. Issues in the Design of a Code Generator, The target Machine, Basic Blocks and Flow Graphs, Simple Code Generator, Register allocation and Assignment, The DAG Representation of Basic Blocks, Generating Code from DAGs, Code-Generators. Symbol tables: use and need of symbol tables 10 Total 45 Resources Recommended Books Reference Books Web References 1. Aho, Sethi, Ullman, Compilers-tools and Techniques, Addison Wesley, 197 2. Alfred V.Aho and J. D. Ullman, Principles of Compiler Design, Narosa Publication. 3. Trembly, Sorenson, Theory and Practice of Compiler Writing, McGraw Hill, 194. 4. Hopcroft, Introduction to Automata Theory, Languages and Computation, Pearson Publication 1. Paul G. Sorenson, Compiler Writing, Tata McGraw Hill. 2. Hunter, The Essence of Compilers, Pearson Publication. 3. Lewis, Elements of the Theory of Computation, Pearson Publication 1. https://www.tutorialspoint.com/compiler_design/index.htm 2. http://csenote.weebly.com/principles-of-compiler-design.html S
School: Computer Science and Application Programme: M.C.A. Year: Second Year Semester - IV Course : Lab Course based on Compiler Course Code:CSA0100P406 Design Practical: PG - 4Hrs./Batch (20 Students) Practical Examination: 25 Marks Term Work: 25 Marks Objectives 1 To provide an understanding the basic techniques of compiler construction 2 To provide deeper insights into the more advanced semantics aspects of programming languages, optimizations, dynamic memory allocation, and object orientation. 3 Acquire knowledge about the basic concept of writing a program to perform syntaxdirected translation of a high-level programming language into an executable code. 4 To understand and design code generation schemes Sr. No. Group A: (Any SIX Assignments) Description Design a lexical analyzer for given language and the lexical analyzer should ignore redundant spaces, tabs and new lines. It should also ignore comments. Although the 1 syntax specification states that identifiers can be arbitrarily long, you may restrict the length to some reasonable value. Simulate the same in C language. 2 Write a C program to identify whether a given line is a comment or not. 3 Write a C program to recognize strings under 'a', 'a*b+', 'abb'. 4 Write a C program to test whether a given identifier is valid or not. 5 Write a C program to simulate lexical analyzer for validating operators Implement the lexical analyzer using JLex, flex or other lexical analyzer generating 6 tools a)write a C program for constructing of LL (1) parsing. 7 b)write a C program for constructing recursive descent parsing. Write a C program to implement LALR parsing. a)write a C program to implement operator precedence parsing. 9 b)write a C program to implement Program semantic rules to calculate the expression that takes an expression with digits, + and * and computes the value Group B: (Any Three Assignments) 10 To write a program for implementing Symbol Table using C. 11 To write a program for construction of Operator Precedence Parse Table using C++. To write a program for implementation of Code Optimization Technique in for and dowhile loop using C++. 12 13 To write a program for the generation of assembly language code of relational operator.
14 To write a program for construction of LR Parsing table using C. Group C: (Any One Assignments) 15 Convert the BNF rules into YACC form and write code to generate abstract syntax tree for the mini language. 16 Write a C program to generate machine code from abstract syntax tree generated by the parser. Term Work: Term Work assessment shall be conducted for the Project, Tutorials and Seminar. Term work is continuous assessment based on work done, submission of work in the form of report/journal, timely completion, attendance, and understanding. It should be assessed by subject teacher of the institute. At the end of the semester, the final grade for a Term Work shall be assigned based on the performance of the student and is to be submitted to the University. Notes 1 The experiments from the regular practical syllabus will be performed (15 Marks). 2 The regular attendance of students during the syllabus practical course will be monitored and marks will be given accordingly (5 Marks). 3 Good Laboratory Practices (5 Marks) Practical/Oral/Presentation: Practical shall be conducted and assessed jointly by internal and external examiners. The performance in the Practical examination shall be assessed by at least a pair of examiners appointed as examiners by the University. The examiners will prepare the mark/grade sheet in the format as specified by the University, authenticate and seal it. Sealed envelope shall be submitted to the head of the department or authorized person. Notes 1 One experiment from the regular practical syllabus will be conducted. (Total 15 Marks). 2 Complete laboratory journal (05 Marks). 3 Viva-voce (05 Marks).
School: Computer Science and Application Year: Second Year Course : Lab Course based on Web Technologies Practical: PG - 4 Hrs/Batch (20 Students) Programme:M.C.A. Semester - IV Course Code:CSA0100P407 Practical Examination: 25 Marks Term Work: 25 Marks Objectives 1 To develop an ability to design and implement static and dynamic website 2 To provide technical expertise in implementing web applications. 3 To design interactive web pages using HTML and Style sheets 4 To define CSS and unstaring its purpose different syntax and types of CSS 5 6 To learn about basics of XML and how it can be used to store information away from the mechanism of processing or formatting of such data To learn and get familiar with JavaScript and to apply client side scripting technology such as VBScript with HTML Sr. No. Group A: (Any SIX Assignments) Description 1 Create simple HTML File. Use of various HTML Tags on Web Forms. 2 3 4 5 6 Write a HTML to create an html file to link to different html page which contains images, tables, and also link within a page. Write html page with different types of frames such as floating frame, navigation frame & mixed frame. Develop static pages (using only HTML) of an online Book store. The pages should resemble: www.amazon.com The website should consist the following pages. Home page, Registration and user Login, User profile page, Books catalog, Shopping cart etc. Write an XML file which will display the Book information which includes the following: 1) Title of the book 2) Author Name 3) ISBN number 4) Publisher name 5) Edition 6) Price Write a Document Type Definition (DTD) to validate the above XML file. To create an html page named as registration.html a) set background colors b) use table for alignment c) provide font colors & size
7 9 To create an html file by applying the different styles using inline, external & internal style sheets. To write a JavaScript program to define a user defined function for sorting the values in an array. To create an html page to explain the use of various predefined functions in a string and math object in java script. Group B: (Any Three Assignments) 10 11 Write a program of Form processing using JavaScript and Validation of form using JavaScript To create an html page to explain the use of various predefined functions in array & Date object in JavaScript. 12 To display the calendar using JavaScript code by getting the year from the user. 13 To create a html registration form and to validate the form using JavaScript code. 14 To write a program to create xml document using XML language. Group C: (Any One Assignments) 15 To create a table of content using ASP program & navigate within the pages. 16 17 a) To create ASP program to demonstrate request & response object method. b) To display all the content in the database using ASP program. a)to create a CD catalog using XML file b)to create external style sheet and using the style sheet in xml file Term Work: Term Work assessment shall be conducted for the Project, Tutorials and Seminar. Term work is continuous assessment based on work done, submission of work in the form of report/journal, timely completion, attendance, and understanding. It should be assessed by subject teacher of the institute. At the end of the semester, the final grade for a Term Work shall be assigned based on the performance of the student and is to be submitted to the University. Notes 1 The experiments from the regular practical syllabus will be performed (15 Marks). 2 The regular attendance of students during the syllabus practical course will be monitored and marks will be given accordingly (5 Marks). 3 Good Laboratory Practices (5 Marks)
Practical/Oral/Presentation: Practical shall be conducted and assessed jointly by internal and external examiners. The performance in the Practical examination shall be assessed by at least a pair of examiners appointed as examiners by the University. The examiners will prepare the mark/grade sheet in the format as specified by the University, authenticate and seal it. Sealed envelope shall be submitted to the head of the department or authorized person. Notes 1 One experiment from the regular practical syllabus will be conducted. (Total 15 Marks). 2 Complete laboratory journal (05 Marks). 3 Viva-voce (05 Marks).
School: Computer Science & Application Year : Second Year Course: Theory of Computations Programme: M.C.A. Semester - IV Course Code: CSA0100P401 Theory: 4 Hrs/Week Max. University Theory Examination: 60 Marks Max. Time for Theory Exam.: 3 Hrs. Continuous Internal Assessment: 40 Marks Objectives 1 To build concepts regarding the fundamental principles of Grammars, Automata Theory, Turing Machines 2 To learn formal Programming Language Theory and Regular Expressions 3 To learn Grammar and Turing Machine Designing 4 To study the abstract computing model. 5 To study automata theory and types and applications of formal grammar. Unit Number 1 2 3 4 Details Basic Concepts and Formal Language Theory: Symbol/alphabets, string/word, language, formal language,, Basic Machine, Finite State machine: state tables, transition graph, Finite automata, finite control of FA over string, deterministic finite automaton(dfa) and nondeterministic finite automaton(nfa), conversion of NFA to DFA, concept of moves, NFA with e moves, A with output: Moore and mealey machines-definition, models, inter conversion, Regular Expressions: Formal definition, examples and FA, FA to RE,RE to FA,Recursive definition of regular expression. Regular Grammar and Context Free Languages : Regular Grammar: Definition, left linear and right linear regular grammar, inter conversion between left linear and right linear regular grammar, FA to RG and RG to FA, definition of/for CFL, Properties of CFL Contexts Free Grammars and languages: Grammar- Definition, representation of grammar, parse tree, ambiguity in grammar and language, removal of ambiguity, simplification of grammar, normal forms, Chomsky normal form and greibach normal form, Chomsky hierarchy. Push down automata (PDA): Definition, deterministic, pushes down automata (DPDA), non-deterministic push down automata (NPDA), the language of PDA. Equivalence of PDA s and CFG s, closure properties Hours 12 10 7
5 of CFL s. Concept of post machines. Turning Machine: Definition and example of TM, recursive sets, partial recursive function, recursively enumerable sets, computing a partial function with TM, combining TM s variations of TM: Multi-tape TM s, universal TM, model of computation and church s Turing hypothesis, unsolvable problem, TM s halting problem Total 45 Resources Recommended Books Reference Books Web References 1. Daniel I. A. Cohen, "Introduction to automata theory languages and computations, Pearson education asia, second edition 2. HopcroftUlman, Introduction to automata theory, languages and computations, Pearson education Asia, 2nd edition 3. John C. martin, Introduction to language and theory of computation, TMH, 3rd edition 1. E V Krishnamurthy, Introduction to Theory of Computer Science, EWP Second 2nd edition. 2. K.L.P Mishra,N. Chandrasekaran, Theory of computer science (automata, languages and computation), Prentice hall India, 2nd edition 1. https://www.tutorialspoint.com/automata_theory/turing_mach ine_introductio
School: Computer Science & Application Year : Second Year Course: Web Technologies Theory: 4 Hrs./Week Max. Time for Theory Exam.: 3 Hrs. Programme: M.C.A. Semester - IV Course Code: CSA0100P403 Max. University Theory Examination:60 Marks Continuous Internal Assessment: 40 Marks Objectives 1 To analyze a web page and identify its elements and attributes 2 To understand concepts of developing advanced HTML pages with the help of frames, scripting languages, and evolving technologies like DHTML, and XML 3 To understand web page site planning, management and maintenance 4 To create XML documents and Schema 5 To give the distinguish characteristic of scripting languages Unit Number 1 2 3 4 Details Fundamentals :Internet, WWW,A Brief Introduction to the Internet,Web Browsers and Web Servers, Uniform Resource Locators(URL), Multipurpose Internet Mail Extensions, HTTP,Security, The Web Programmer s Toolbox HTML: Introduction To HTML, WWW, W3C, web publishing, Common HTML, Basic Syntax, Basic Text Markup,Images, Hypertext Links, Lists,Tables Frames, Form Introduction with text box, text area, buttons, List box, radio, checkbox etc. CSS Introduction To Style sheet, types of style sheets- Inline, External, Embedded CSS, text formatting properties, CSS Border, margin properties, Positioning Use of classes in CSS, color properties, use of <div>&<span> Scripting Languages: Java Script (JS) in Web Page, Overview of JavaScript,Advantage of Java Script,types, intro of JavaScript, JavaScript identifiers, control statement, Looping structure, Array: Introduction, Array with methods, Math, String, Date Objects with methods User defined & Predefined functions, The Document Object Model, DOM objects, Window Navigator, History, Location, Event handling, Validations On Forms VBScript :Introduction To VBScript, Data types, Variables, Control of Flow Control Structures & Loops, Functions in VBScript, Client side Hours 9
web scripting, Validating forms, DOM, Handling errors 5 XML: Introduction of XML, features, XML writing elements, attributes etc. Document structure, Document, type definitions, XML with CSS, DSO, XML Namespaces XML DTD, and XML Schema, Writing Simple sheets using XSLT, SAX & DOM Parsers, and SOAP Intro. Active Server Page (ASP): Introduction Working with ASP page, ASP object,server object File system object, Role of Global.asa file, Error Handling in ASP,Database Handling: Connection, Recordset, Command Object Total 41 Resources Recommended Books Reference Books Web References 1. Robert W. Sebesta: Programming the World Wide Web, 4th Edition, Pearson education, 2012. 2. HTML, DHTML, JavaScript, Perl & CGI Ivan Bayross 3. JavaScript Bible 4. Web enabled commercial application development using HTML, DHTML, JavaScript, PERL-CG 5. VBScript in Nutshell 6. Internet Technology at work Hofstetterfred 7. Beginning XML Wrox Press Programming ASP Ivan Bayross 1. Beginning ASP 3.0 Wrox press 1. https://www.tutorialspoint.com/web_developers_guide/web_basic_co ncepts.htm 2. https://www.tutorialspoint.com/web_development_tutorials.htm 3. https://www.scribd.com/doc/7257173/web-technologies-notes