Evaluation Scheme L T P Total Credit Theory Mid Sem Exam

Similar documents
Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING COURSE PLAN

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Name of chapter & details

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY

G.PULLAIH COLLEGE OF ENGINEERING & TECHNOLOGY

KALASALINGAM UNIVERSITY ANAND NAGAR, KRISHNAN KOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ODD SEMESTER COURSE PLAN

DATABASE MANAGEMENT SYSTEM SUBJECT CODE: CE 305

About the Authors... iii Introduction... xvii. Chapter 1: System Software... 1

GUJARAT TECHNOLOGICAL UNIVERSITY

DEPARTMENT OF INFORMATION TECHNOLOGY AUTOMATA AND COMPILER DESIGN. B.Tech-IT, III Year -I Sem

GUJARAT TECHNOLOGICAL UNIVERSITY

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Kadi Sarva Vishwavidyalaya Gandhinagar

CST-402(T): Language Processors

Formal Languages and Compilers Lecture I: Introduction to Compilers

Theory: 4 Hrs/Week Max. University Theory Examination: 60 Marks Max. Time for Theory Exam.: 3 Hrs. Continuous Internal Assessment: 40 Marks

CS 406/534 Compiler Construction Putting It All Together

COLLEGE OF ENGINEERING, NASHIK. LANGUAGE TRANSLATOR

Translator Design CRN Course Administration CMSC 4173 Spring 2017

SYED AMMAL ENGINEERING COLLEGE (An ISO 9001:2008 Certified Institution) Dr. E.M. Abdullah Campus, Ramanathapuram

Compilers for Modern Architectures Course Syllabus, Spring 2015

CSCI 565 Compiler Design and Implementation Spring 2014

ECE573 Introduction to Compilers & Translators

CS Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0

Translator Design CRN Course Administration CMSC 4173 Spring 2018

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

LECTURE NOTES ON COMPILER DESIGN P a g e 2

SYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS

2068 (I) Attempt all questions.

CMPE 152 Compiler Design

CJT^jL rafting Cm ompiler

CMPE 152 Compiler Design

CS131: Programming Languages and Compilers. Spring 2017

HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY COMPILER THEORY COURSE SYLLABUS

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division

1. The output of lexical analyser is a) A set of RE b) Syntax Tree c) Set of Tokens d) String Character

COP 3402 Systems Software Syntax Analysis (Parser)

Principles of Programming Languages [PLP-2015] Detailed Syllabus

CMPE 152 Compiler Design

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

Compiler Design (40-414)

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Compiler Design. Computer Science & Information Technology (CS) Rank under AIR 100

Compiler Design Overview. Compiler Design 1

INSTITUTE OF AERONAUTICAL ENGINEERING (AUTONOMOUS)

Introduction to Compiler Construction

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS/SE 153 Concepts of Compiler Design

PSD3A Principles of Compiler Design Unit : I-V. PSD3A- Principles of Compiler Design

CS 4120 and 5120 are really the same course. CS 4121 (5121) is required! Outline CS 4120 / 4121 CS 5120/ = 5 & 0 = 1. Course Information

Introduction to Compiler Construction

Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology

Compiler Code Generation COMP360

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Question Bank. 10CS63:Compiler Design

CSE450 Translation of Programming Languages. Lecture 4: Syntax Analysis

Structure of a compiler. More detailed overview of compiler front end. Today we ll take a quick look at typical parts of a compiler.

Building Compilers with Phoenix

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

Introduction to Parsing Ambiguity and Syntax Errors

LECTURE 3. Compiler Phases

VALLIAMMAI ENGINEERING COLLEGE

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Subject Name: CS2352 Principles of Compiler Design Year/Sem : III/VI

Introduction to Parsing Ambiguity and Syntax Errors

List of Figures. About the Authors. Acknowledgments

Theory and Compiling COMP360

Automatic Scanning and Parsing using LEX and YACC

TDDD55 - Compilers and Interpreters Lesson 3

COMPILER DESIGN. For COMPUTER SCIENCE

MidTerm Papers Solved MCQS with Reference (1 to 22 lectures)

CD Assignment I. 1. Explain the various phases of the compiler with a simple example.

University of Mumbai

CMPS Programming Languages. Dr. Chengwei Lei CEECS California State University, Bakersfield

A simple syntax-directed

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou

Principles of Compiler Construction ( )

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR / EVEN SEMESTER

COMPILERS AND INTERPRETERS Lesson 4 TDDD16

COMP3131/9102: Programming Languages and Compilers

CS/SE 153 Concepts of Compiler Design

PESIT Bangalore South Campus Department of MCA Course Information for. System Programming (13MCA24)

afewadminnotes CSC324 Formal Language Theory Dealing with Ambiguity: Precedence Example Office Hours: (in BA 4237) Monday 3 4pm Wednesdays 1 2pm

A programming language requires two major definitions A simple one pass compiler

SYLLABUS UNIT - I UNIT - II UNIT - III UNIT - IV CHAPTER - 1 : INTRODUCTION CHAPTER - 4 : SYNTAX AX-DIRECTED TRANSLATION TION CHAPTER - 7 : STORA

Introduction to Lexing and Parsing

Introduction to Compiler

CSC488S/CSC2107S - Compilers and Interpreters. CSC 488S/CSC 2107S Lecture Notes

12048 Compilers II. Computer Science Engineering, 8º semester Mandatory, 2º Cycle. Theoretical credits: 3.0 Lab credits: 1.5. Theory: José Neira

Formal Languages and Compilers Lecture VI: Lexical Analysis

Compilers. Computer Science 431

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 96 INSTRUCTIONS

MIT Specifying Languages with Regular Expressions and Context-Free Grammars

Outline. Lecture 17: Putting it all together. Example (input program) How to make the computer understand? Example (Output assembly code) Fall 2002

SYLLABUS. Departmental Syllabus. Structured Query Language (SQL)

Syntax. In Text: Chapter 3

Principles of Compiler Construction ( )

Chapter 10: Compiler I: Syntax Analysis

Transcription:

DESIGN OF LANGUAGE PROCESSORS Semester II (Computer Engineering) SUB CODE: MECE201 Teaching Scheme (Credits and Hours): Teaching scheme Total Evaluation Scheme L T P Total Credit Theory Mid Sem Exam CIA Pract. Total Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks 04 00 02 06 05 3 70 30 20 30 150 LEARNING OBJECTIVES: The objective of this course is to introduce students to the following concepts underlying the design and implementation of language processors. Describe the steps and algorithms used by language translators. Recognize the underlying formal models such as finite state automata, push-down automata and their connection to language definition through regular expressions and grammars. Discuss the effectiveness of optimization. Explain the impact of a separate compilation facility and the existence of program libraries on the compilation process. To study different language processors and their contribution in language processing system. OUTLINE OF THE COURSE: Unit No Topics 1 Introduction to Language Processing 2 Language Processors 3 Lexical Analyzer 4 Syntax Analyzer 5 Semantic Analyzer 6 Run Time System 7 Intermediate Code Generation 8 Code Optimization 9 Code Generation 10 Introduction to Natural Language Processing Total hours (Theory): 60 Total hours (Practical): 30 Total hours: 90 Page 2 of 35

DETAILED SYLLABUS: Sr. Topic No Module I : Introduction 1 Introduction to Language Processing Lecture Hours Weight age (%) Language Processing Activities Fundamentals of Language Processing Fundamentals of Language Specifications 2 Language Processors 08 15 Macro Processors - Macro Definition and Call, Macro Expansion, Nested Macro Calls, Advanced Macro Facilities in C Assemblers - Elements of Assembly Language Programming, Assembly Scheme, single pass Assembler, Detailed Design of two pass assembler Loader and Linkers - Relocation of Linking Concept, Design of Linker, Linker for MS DOS, Linking for overlays, Design of absolute loaders, Design of direct linking loaders 3 Lexical Analyzer Module II : Language Analyzer 08 15 Lexical Analysis Specification of tokens Recognition of tokens Regular Expression Finite automata NFA Lex Implementation 4 Syntax Analyzer 12 15 Syntax analysis Types of Grammar CFG, CFL, PDA & Turing Machine Top down parsing Bottom up parsing YACC Page 3 of 35

5 Semantic Analyzer 06 10 Syntax directed Translation L- attributed and S-attributed definitions with their implementation Type checking 6 Run Time System: storage organization activation tree activation record parameter passing Module III : Code Generation & Optimization 7 Intermediate Code Generation 02 05 Run-Time Environment: issues and design Intermediate Languages Implementation of Three Address Code 8 Code Optimization Optimization of basic blocks Loops in flow graphs Global data flow analysis Code generation 9 Code Generation 04 05 Issues in the Design of a Code Generator The Target Machine Run-Time Storage Management Basic Blocks and Flow Graphs Next-Use Information A Simple Code Generator Register Allocation and Assignment The DAG Representation of Basic Blocks Peephole Optimization Generating Code from DAGs Dynamic Programming Code-Generation Algorithm Module IV : Natural Language Processing 10 Introduction to Natural Language Processing 05 05 NLP tasks in syntax, semantics, and pragmatics Applications such as information extraction, question Page 4 of 35

answering, and machine translation The problem of ambiguity Linguistics Essentials Language Models INSTRUCTIONAL METHOD AND PEDAGOGY (Continuous Internal Assessment (CIA) Scheme) At the start of course, the course delivery pattern, prerequisite of the subject will be discussed. Lectures will be conducted with the aid of multi-media projector, black board, OHP etc. Attendance is compulsory in lecture and laboratory which carries 10 marks in overall evaluation. One internal exam will be conducted as a part of internal theory evaluation. Assignments based on the course content will be given to the students for each unit and will be evaluated at regular interval evaluation. Surprise tests/quizzes/seminar/tutorial will be conducted having a share of five marks in the overall internal evaluation. The course includes a laboratory, where students have an opportunity to build an appreciation for the concepts being taught in lectures. Experiments shall be performed in the laboratory related to course contents. STUDENTS LEARNING OUTCOMES: On successful completion of the course, the student will: 1. Understand how the design of a compiler requires most of the knowledge acquired during their study. 2. Develop a firm and enlightened grasp of concepts learned earlier in their study like higher level programming, assemblers, automata theory, and formal languages, languages, languages specifications, data structure and algorithms, operating systems. 3. Apply the ideas, the techniques, and the knowledge acquired for the purpose of other language processor design. 4. Working skills in theory and application of finite state machines, recursive descent, production rules, parsing, and language semantics. 5. Know about the powerful compiler generation tools, which are useful to the other noncompiler applications REFERENCE MATERIAL: Books: 1. Compilers, Principles, Techniques and Tools by A.V. Aho, R. Sethi and J.D.Ullman, Pearson 2. Advanced compiler Design Implementation by Steven S. Muchnick 3. The Compiler Design handbook: Optimization and Machine Code Generation by Y. N. Shrikant and Priti Shankar, Second Edition 4. System Programming and Operating Systems by D M Dhamdhere, TMH 5. Systems Programming by John J. Donovan Page 5 of 35

6. Charles N. Fischer, Richard J. leblanc, Jr.- Crafting a Compiler with C, Pearson Education, 2008. Articles: 1. Joshi A K, Natural Languagae Processing, Journal of Science, 253(5025):1242-1249, 1991 2. Gobinda G. Chowdhury, Natural Languagae Processing, Annual review of Computer Scienece and Technology, 37(1): 51-89, 2003 3. http://nptel.iitm.ac.in/courses.php?disciplineid=106 http://symbolaris.com/course/compilers/waitegoos.pdf LIST OF PRACTICALS: Sr. No Name of Experiment 1 Implement a C program to identify keywords and identifiers using finite automata. 2 Implement a C program to find FIRST and FOLLOW set of given grammar. 3 Implement a C program to eliminate Left Recursion from given grammar. 4 Implement a C program to perform Left factoring in given grammar. 5 Implement any one shift reduce parser. Lex Programs 1 Write a lex program to identify numbers, words and other characters and generate tokens for each. 2 Write a lex program to count the number of characters, words and lines in the given input. 3 Write a lex program to remove empty lines. 4 Write a lex program to display the comments from given input file. 5 Write a lex program to identify all the lexemes from input file that follow the given RE. Provide the RE as command line argument. 6 Generate a lexer for C program. Yacc programs 1 Write a Yacc program for desktop calculator with ambiguous grammar. 2 Write a Yacc program for calculator with unambiguous grammar. 3 Write a Yacc program to convert infix into postfix expression. Page 6 of 35