jagomart
digital resources
picture1_Programming Pdf 186294 | Iii   Ii It Pcc


 182x       Filetype PDF       File size 0.48 MB       Source: biet.ac.in


File: Programming Pdf 186294 | Iii Ii It Pcc
principles of compiler construction it602pc course planner i objective and relevance the objective of this course is to provide a student with an understanding of the fundamental principles in compiler ...

icon picture PDF Filetype PDF | Posted on 02 Feb 2023 | 2 years ago
Partial capture of text on file.
                             PRINCIPLES OF COMPILER CONSTRUCTION (IT602PC)                                                        
                                                        COURSE PLANNER 
                    
                  I. OBJECTIVE AND RELEVANCE  
                  The objective of this course is to provide a student with an understanding of the fundamental 
                  principles in compiler design and to provide the skills needed for building compilers for 
                  various situations that one may encounter in a career in Computer Science. After the course 
                  a student should have an understanding, based on knowledge of the underlying machine 
                  architecture,  the  limitations  and  efficiency  of  various  design  techniques  of  compilers 
                  implementation. The students will also be exposed to System Software programming using 
                  Java and will be trained to develop programs in different parsers, optimization etc., It also 
                  covers programming in various tools like LEX and YACC for scanning and parsing etc. 
                           
                  II. COURSE PURPOSE 
                  The purpose of this course is to provide students with an overview of the issues that arise in 
                  Compiler  construction  as  well  as  to  throw  light  upon  the  significant  theoretical 
                  developments  and  tools  that  are  deep  rooted  into  computer  science.  This  course  will 
                  basically introduce the major phases of Compiler construction and also its theoretical aspects 
                  including  regular  expressions,  context  free  grammars  etc.  As  a  part  of  this  course  the 
                  students  are  required  to  design  a  compiler  passing  through  the  phases  namely  Lexical 
                  Analysis, Syntax Analysis, Semantic Analysis and Intermediate code generation for a small 
                  language.  
                           
                  III. SCOPE OF COURSE                                                     
                  This course provides the concepts related Compiler Design. Here, A mastery of these areas 
                  is  essential  for  us  to  develop  Compiler  Design  that  utilizes  computer  resources  in  an 
                  effective manner. A Compiler Design will certainly help the student to create good System. 
                  The  Regular  Languages  are  required  to  determine  the  quality  of  Representation 
                  Mechanisms. As computers become faster and faster, the need for programs that can handle 
                  large amounts of input becomes more acute. The objective of this course is to teach students 
                  good automation skills simultaneously so that they can develop such languages with the 
                  maximum amount. 
                           
                  IV. PRE-REQUISITES 
                      1.  Formal Languages and Automata Theory 
                      2.  Computer organization. 
                      3.  Discrete mathematics 
                      4.  System software 
                       
                  V. Course Objectives: 
                      •   To understand the various phases in the design of a compiler. 
                      •   To study various data structures used 
                      •   To understand the design of top-down and bottom-up parsers. 
                      •   To understand syntax directed translation schemes. 
                      •   To introduce lex and yacc tools. 
                      •   To learn intermediate languages 
                      •   To learn to develop algorithms to generate code for a target machine. 
                      •   To learn how to optimize machine code 
                  [IT III Yr II Sem]                                                                             1 
                 VI. Course Outcomes:                                                                                    
                     S. No.                        Course Outcomes                           Bloom’s 
                                                                                             Taxonomy Levels 
                     CO1      Ability to design, develop, and implement a compiler for              Design 
                              any language 
                     CO2      Able to use LEX and YACC tools for developing a scanner               Design 
                              and a parser 
                     CO3      Able to design and implement LL and LR parsers                      Implement 
                     CO4      Able    to    design    algorithms    to    perform    code           Design 
                              optimization  in  order  to  improve  the performance of a 
                              program in terms of space and time complexity. 
                     CO5      Ability to design algorithms to generate machine code                 Design 
                  
                 VII. How Program Outcomes are Assessed: 
                  Program Outcomes (PO)                                                  Level    Proficiency 
                                                                                                  assessed by 
                  PO1     Engineering knowledge: Apply the knowledge of                           Assignments, 
                          mathematics, science, engineering fundamentals, and an         3        Tutorials, 
                          engineering specialization to the solution of complex                   Mock Tests 
                          engineering problems. 
                  PO2     Problem analysis: Identify, formulate, review research 
                          literature, and analyze complex engineering problems                    Assignments, 
                          reaching substantiated conclusions using first principles      3        Tutorials 
                          of mathematics, natural sciences, and engineering 
                          sciences. 
                  PO3     Design/development of solutions: Design solutions for 
                          complex engineering problems and design system                          Assignments, 
                          components or processes that meet the specified needs          3        Tutorials, 
                          with appropriate consideration for the public health and                Mock Tests 
                          safety, and the cultural, societal, and environmental 
                          considerations.  
                  PO4     Conduct investigations of complex problems: Use                         Assignments, 
                          research-based knowledge and research methods 
                          including design of experiments, analysis and                  3        Tutorials, 
                          interpretation of data, and synthesis of the information to             Mock Tests 
                          provide valid conclusions.  
                  PO5     Modern tool usage: Create, select, and apply appropriate                Assignments, 
                          techniques, resources, and modern engineering and IT 
                          tools including prediction and modeling to complex             3        Tutorials, 
                          engineering activities with an understanding of the                     Mock Tests 
                          limitations.  
                  PO6     The engineer and society: Apply reasoning informed by 
                          the contextual knowledge to assess societal, health, 
                          safety, legal and cultural issues and the consequent           -        - 
                          responsibilities relevant to the professional engineering 
                          practice.  
                 IT III Yr II Sem                                                                          2 
                                                                                               Proficiency          
                 Program Outcomes (PO)                                                Level    assessed by 
                 PO7     Environment and sustainability: Understand the impact of 
                         the professional engineering solutions in societal and       -        - 
                         environmental contexts, and demonstrate the knowledge 
                         of, and need for sustainable development.  
                 PO8     Ethics: Apply ethical principles and commit to 
                         professional ethics and responsibilities and norms of the    2        Quiz 
                         engineering practice. 
                 PO9     Individual and team work: Function effectively as an 
                         individual, and as a member or leader in diverse teams,      2        Quiz 
                         and in multidisciplinary settings.  
                 PO10  Communication: Communicate effectively on complex 
                         engineering activities with the engineering community 
                         and with society at large, such as, being able to            -        - 
                         comprehend and write effective reports and design 
                         documentation, make effective presentations, and give 
                         and receive clear instructions.  
                 PO11     Project  management  and  finance:  Demonstrate 
                          knowledge  and  understanding  of  the  engineering  and               Hands on 
                          management  principles  and  apply  these  to  one’s  own     3         training 
                          work,  as  a  member  and  leader  in  a  team,  to  manage 
                          projects and in multidisciplinary environments.  
                 PO12     Life-long  learning:  Recognize  the  need  for,  and  have 
                          the preparation and ability to engage in independent and      2         Hands on 
                          life-long   learning   in   the   broadest   context   of                training 
                          technological change.  
                VIII. How Program Specific Outcomes are Assessed:  
                 
                                                                                                Proficiency 
                               Program Specific Outcomes (PSO)                        Level        assessed 
                                                                                                      by 
                PSO1      Software Development and Research Ability: Ability 
                          to understand the structure and development 
                          methodologies of software systems. Possess professional 
                          skills and knowledge of software design process.                     Assignments, 
                          Familiarity and practical competence with a broad range       3        Tutorials, 
                          of programming language and open source platforms.                    Mock Tests 
                          Use knowledge in various domains to identify research 
                          gaps and hence to provide solution to new ideas and 
                          innovations. 
                PSO2      Foundation of mathematical concepts: Ability to apply 
                          the acquired knowledge of basic skills, principles of                Assignments, 
                          computing, mathematical foundations, algorithmic              3        Tutorials 
                          principles, modeling and design of computer- based 
                          systems in solving real world engineering Problems. 
                IT III Yr II Sem                                                                       3 
                                                                                            Proficiency        
                              Program Specific Outcomes (PSO)                     Level        assessed 
                                                                                                  by 
                PSO3    Successful Career: Ability to update knowledge 
                         continuously in the tools like Rational Rose, MATLAB,            Assignments, 
                         Argo UML, R Language and  technologies like Storage,       3        Tutorials, 
                         Computing, Communication to meet the industry                      Mock Tests 
                         requirements in creating innovative career paths for 
                         immediate employment and for higher studies.   
                1: Slight (Low)      2: Moderate 
                                        (Medium)         3: Substantial (High)    - : None 
                                            
                                                                                   
                IX. COURSE CONTENTS 
                 
                UNIT – I 
                Introduction: Phases of compiler, Groping of phases. 
                Lexical Analysis: The Role of the Lexical Analyzer, Input Buffering, Recognition of Tokens, 
                The  Lexical-Analyzer  Generator  LEX,  Finite  Automata,  From  Regular  Expressions  to 
                Automata. 
                 
                UNIT – II:  
                Syntax  Analysis:  Introduction,  Context-Free  Grammars,  Writing  a  Grammar,  Top-Down 
                arsing, Bottom-Up Parsing,  
                Introduction to LR Parsing: Simple LR, More Powerful LR Parsers. 
                 
                UNIT – III:  
                Syntax-Directed  Translation:  Syntax-Directed  Definitions,  Construction  of  syntax  trees, 
                Bottom-up  evaluation  of  S-attributed  definitions,  L-attributed  definitions,  Top  down 
                translation, Bottom-up evaluation of inherited attributes. 
                Type checking: Type systems, Specification of a simple type checker, Equivalence of type 
                expressions. Intermediate-Code Generation: Intermediate languages, Declarations 
                 
                UNIT – IV:  
                Run-Time Environments: Storage organization, Storage allocation strategies, Symbol tables. 
                Code Generation: Issues in the Design of a Code Generator, The Target Machine, Basic 
                Blocks and Flow Graphs, A Simple Code Generator, Register Allocation and Assignment, 
                Generation of DAGs, Generating code from DAGs. 
                 
                UNIT – V:  
                Machine-Independent  Optimizations:  Introduction,      The      Principal      Sources      of   
                Optimization, 
                Introduction to Data-Flow Analysis, Foundations of Data-Flow Analysis. 
                TEXT BOOKS 
                1. Compilers: Principles, Techniques and Tools, Second Edition, Alfred V. Aho, Monica 
                    S. Lam, Ravi Sethi, Jeffry D. Ullman, Pearson. 
                REFERENCE BOOKS 
                1. Compiler Construction-Principles and Practice, Kenneth C Louden, Cengage Learning. 
                2. Modern compiler implementation in C, Andrew W Appel, Revised edition, 
                IT III Yr II Sem                                                                   4 
The words contained in this file might help you see if this file matches what you are looking for:

...Principles of compiler construction itpc course planner i objective and relevance the this is to provide a student with an understanding fundamental in design skills needed for building compilers various situations that one may encounter career computer science after should have based on knowledge underlying machine architecture limitations efficiency techniques implementation students will also be exposed system software programming using java trained develop programs different parsers optimization etc it covers tools like lex yacc scanning parsing ii purpose overview issues arise as well throw light upon significant theoretical developments are deep rooted into basically introduce major phases its aspects including regular expressions context free grammars part required passing through namely lexical analysis syntax semantic intermediate code generation small language iii scope provides concepts related here mastery these areas essential us utilizes resources effective manner certain...

no reviews yet
Please Login to review.