SYLLABUS UNIT - I UNIT - II UNIT - III UNIT - IV CHAPTER - 1 : INTRODUCTION CHAPTER - 4 : SYNTAX AX-DIRECTED TRANSLATION TION CHAPTER - 7 : STORA
|
|
- Lee Daniels
- 5 years ago
- Views:
Transcription
1 Contents i SYLLABUS UNIT - I CHAPTER - 1 : INTRODUCTION Programs Related to Compilers. Translation Process, Major Data Structures, Other Issues in Compiler Structure, Boot Strapping and Porting. CHAPTER - 2 : LEXICAL ANALYSIS The Role of Lexical Analyzer, Input Buffering, Specification of Tokens, Recognition of Tokens, The Lexical-Analyzer Generator Lex. UNIT - II CHAPTER - 3 : SYNTAX ANALYSIS Introduction, Top-Down Parsing, Brute Forcing, Recursive Descent, Predicative LL(1), Bottom-Up Parsing, Introduction to LR Parsing, Powerful LR Parsers SLR, CALR, LALR, Using Ambiguous Grammars, Parser Generators-Yacc. UNIT - III CHAPTER - 4 : SYNTAX AX-DIRECTED TRANSLATION TION Syntax-Directed Definitions, Evaluation Orders for SDDS, Applications of Syntax Directed Translation. CHAPTER - 5 : SYMBOL TABLE ORGANIZATION Structure of Symbol Table, Symbol Table Organization for Block Structured and Non- Block Structure Languages, Data Structures of Symbol Table. UNIT - IV CHAPTER - 6 : INTERMEDIATE CODE GENERATION Variants of Syntax Trees, Three-Address Code, Types and Declarations, Translation of Expressions, Type Checking, Control Flow. CHAPTER - 7 : STORA ORAGE ORGANIZATION Stack Allocation of Space, Access to Non-Local Data on the Stack, Heap Management, Introduction to Garbage Collection.
2 ii Contents UNIT - V CHAPTER - 8 : CODE GENERATION Issues in the Design of a Code Generator, The Target Language, Addresses in the Target Code Basic Blocks and Flow Graphs, Optimization of Basic Blocks, Peephole Optimization, Register Allocation and Assignment. CHAPTER - 9 : MACHINE CHINE-INDEPENDENT OPTIMIZATIONS TIONS The Principal Sources of Optimizations, Introduction to Data Flow Analysis, Foundation of Data Flow Analysis. CHAPTER - 10 : ERROR RECOVERY Introduction, Error Detecting and Reporting in Various Phases, Lexical Errors, Syntax Errors Handling and Error Recovery in Various Phases.
3 Contents iii compiler construction FOR b.e. (o.u) Iii year ii semester (COMMON TO CSE AND IT) CONTENTS UNIT - I [CH. H. - 1] ] [INTRODUCTION INTRODUCTION] INTRODUCTION Compilation Meaning of Translator Meaning of Compiler Why Study Compilers? Compiler Design Challenges Characteristics of Compiler PROGRAMS RELATED TO O COMPILERS Interpreters Characteristics of Interpreter Differences between Compiler and Interpreter Assemblers Linkers Loaders Preprocessors Editors Debuggers Profilers Project Managers
4 iv Contents 1.3 THE TRANSLATION TION PROCESS Scanner (or) Lexial Analysis Parser (or) Syntax Analysis Semantic Analyzer Intermediate Code Generation Code Optimization Code Generation MAJOR DATA A STRUCTURES IN A COMPILER Tokens The Syntax Tree ree The Symbol Table The Literal Table Intermediate Code Temporary Files iles OTHER ISSUES IN COMPILER STRUCTURE Analysis and Synthesis Front End and Back End Passes Language Definition and Compilers Compiler Options and Interfaces Error Handling BOOTSTRAPPING AND PORTING Short Questions and Answers Expected University Questions with Answers
5 Contents v UNIT - I [CH.. - 2] ] [LEXICAL ANALYSIS YSIS] INTRODUCTION TO LEXICAL ANALYSIS THE ROLE OF LEXICAL ANALYZER Lexical Analysis Versus Parsing Tokens, Patterns, and Lexemes Attributes for Tokens Lexical Errors INPUT BUFFERING Buffer Pairs Sentinels SPECIFICATION OF TOKENS Strings and Languages Operations on Languages Regular Expressions Regular Definitions Extensions of Regular Expressions Solved Problems RECOGNITION OF TOKENS Transition Diagrams Converting Transition Diagrams into Code THE LEXICAL-ANAL ANALYZER GENERATOR OR LEX Use of Lex Structure of Lex Programs Conflict Resolution in Lex The Lookahead Operator Solved Problems Short Questions and Answers Expected University Questions with Answers
6 vi Contents UNIT - II [CH.. - 3] ] [SYNT SYNTAX AX ANALYSIS YSIS] INTRODUCTION TO SYNTAX ANALYSIS The Role of The Parser The Parsing Process Representative Grammars Syntax Error Handling Error Recovery Strategies Panic-Mode Recovery Phrase-Level Recovery Error Productions Global Correction TOP-DOWN PARSING ARSING Recursive ecursive-descent Parsing FIRST and FOLLOW LL(1) Grammars Transition Diagrams for Predictive Parsers Non-Recursive Predictive Parsing Construction of Predictive Parsing Table Error Recovery in Predictive Parsing Panic-Mode Recovery Phrase-Level Recovery Solved Problems BOTT TTOM-UP PARSING Reductions Handle Pruning Shift-R -Reduce Parsing Conflicts During Shift-R -Reduce Parsing arsing
7 Contents vii 3.4 INTRODUCTION TO LR PARSING : SIMPLE LR Need of LR Parsers arsers Items and the LR(0) Automation CLOSURE of Item Sets The Function GOTO Use of The LR(0) Automation The LR-P -Parsing Algorithm Structure of the LR-P -Parsing Table LR-P -Parser Configurations Behavior of the LR-P -Parser arser Implementation of LR Parsing Algorithm Constructing SLR-P -Parsing Tables Viable Prefixes Solved Problems MORE POWERFUL LR-P -PARSERS ARSERS Canonical LR(1) Items Constructing LR(1) Sets of Items Canonical LR(1) Parsing Tables Solved Problems Constructing LALR Parsing Tables Efficient Construction of LALR Parsing Tables Compaction of LR Parsing Tables SLR Versus LALR USING AMBIGUOUS GRAMMARS Precedence and Associativity to Resolve Conflicts The Dangling-Else Ambiguity Error Recovery in LR Parsing Differences between Top op-down and Bottom-Up Parsers arsers
8 viii Contents 3.7 PARSER GENERATORS ORS The Parser Generator Yacc acc The Declarations Part art The Translation Rules Part The Supporting C-R -Routines Part art Using Yacc with Ambiguous Grammars Creating Yacc Lexical Analyzers with Lex Error Recovery in Yacc BRUTE FORCING Short Questions and Answers Expected University Questions with Answers UNIT - III [CH.. - 4] ] [SYNT SYNTAX AX-DIRECTED TRANSLATION TION] INTRODUCTION TO O SYNTAX AX-DIRECTED TRANSLATION TION SYNTAX AX-DIRECTED DEFINITIONS Synthesized and Inherited Attributes Evaluating an SDD at the Nodes of a Parse Tree ree EVAL ALUATION ORDERS OF SDD S S Dependency Graphs Ordering the Evaluating of Attributes S-Attributed Definitions L-Attributed Definitions Semantic Rules with Controlled Side Effects APPLICATIONS OF SYNTAX AX-DIRECTED TRANSLATION TION Construction of Syntax Trees The Structure of a Type Solved Problems Short Questions and Answers Expected University Questions with Answers
9 Contents ix UNIT - III [CH. H. - 5] ] [SYMBOL TABLE ORGANIZATION] INTRODUCTION TO SYMBOL TABLES SYMBOL TABLE FORMAT Attributes of a Symbol Table Contents of a Symbol Table Operations Performed on the Symbol Table Indirection in Symbol Table Entries Ordered and Unordered Symbol Table Symbol Table Organization Techniques Comparison of Three Basic Data Structures Hash Table with Temporary and Permanent Storage Reusing the Storage Space for Names Implementation of Hashed Symbol Table SYMBOL TABLE ORGANIZATION FOR BLOCK STRUCTURED LANGUAGES HASHING TREE STRUCTURE REPRESENTATION TION OF SCOPE INFORMATION BLOCK OCK-STRUCTURES AND NON-BLOCK OCK STRUCTURE STORA ORAGE GE ALLOCA OCATION Basic Issues Activation Record Local Data Non-Local Data Dynamic Scoping STORA ORAGE ALLOCA OCATION STRATEGIES TEGIES Static Allocation Strategy Stack Allocation Strategy
10 x Contents Heap Allocation Strategy Dynamic Storage Allocation Techniques Dangling Reference in Storage Allocation Solved Problems PARAMETER PASSING DATA A STRUCTURES OF SYMBOL TABLE ABLE Short Questions and Answers Expected University Questions with Answers UNIT - IV [CH. H. - 6] ] [INTERMEDIATE CODE GENERATION] INTRODUCTION TO O INTERMEDIATE TE-CODE GENERATION TION Intermediate Code Forms Postfix Notation (Polish Notation) Prefix Notation VARIANTS OF SYNTAX AX TREE Directed Acyclic Graphs for Expressions The Value alue-number Method for Constructing DAG s s THREE-ADDRESS CODE Addresses and Instructions Quadruples Triples Static Single-Assignment Form Solved Problems TYPES AND DECLARATIONS TIONS Type Expressions Type Equivalence Declarations
11 Contents xi Storage Layout for Local Names Sequences of Declarations Fields in Records and Classes TRANSLATION TION OF EXPRESSIONS Operations within Expressions Incremental Translation ranslation Addressing Array Elements Translation of Array References eferences TYPE CHECKING Rules for Type Checking Type Conversions Overloading of Functions and Operators Type Inference and Polymorphic Functions An Algorithm for Unification CONTROL FLOW Boolean Expressions Short-Circuit Code Flow-of-Control Statements Control-Flow Translation of Boolean Expressions Avoiding Redundant Gotos Boolean Values and Jumping Code Solved Problems Short Questions and Answers Expected University Questions with Answers
12 xii Contents UNIT - IV [CH. H. - 7] ] [STORAGE ORGANIZATION] INTRODUCTION STORA ORAGE ORGANIZATION TION Static Versus Dynamic Storage Allocation STACK ALLOCA OCATION OF SPACE Activation Trees Activation Records Compile-Time ime Layout of Local Data Downward-Growing Stack Allocation of Activation Records Calling Sequences Variable ariable-l -Length Data on the Stack ACCESS TO O NON-LOCAL OCAL DATA A ON THE STACK CK Data Access without Nested Procedures Issues with Nested Procedures A Language with Nested Procedure Declarations Nesting Depth Access Links Manipulating Access Links Access Links for Procedure Parameters Displays HEAP MANAGEMENT The Memory Manager The Memory Hierarchy of a Computer Locality in Programs Optimization using the Memory Hierarchy
13 Contents xiii Reducing Fragmentation Best-Fit and Next-Fit Object Placement Managing and Coalescing Free Space Manual Deallocation Requests Problems with Manual Deallocation Programming Conventions and Tools INTRODUCTION TO GARBAGE GE COLLECTION Design Goals for Garbage Collections A Basic Requirement Type Safety Performance Metrics Reachability Reference Counting Garbage Collectors Short Questions and Answers Expected University Questions with Answers UNIT - V [CH. - 8] ] [CODE GENERATION] CODE GENERATION TION ISSUES IN THE DESIGN OF A CODE GENERATOR OR Input to the code Generator The Target Program Memory Management Instruction Selection Register Allocation Evaluation Order THE TARGET LANGUAGE A Simple Target Machine Model Program and Instruction Costs
14 xiv Contents 8.4 ADDRESSES IN THE TARGET CODE Static Allocation Stack Allocation Runun-Time Addresses for Names BASIC BLOCKS AND FLOW GRAPHS Basic Blocks Next-Use Information Flow Graphs Representation of Flow Graphs Loops OPTIMIZATION TION OF BASIC BLOCKS The DAG Representation of Basic Blocks Finding Local Common Subexpressions Dead Code Elimination The Use of Algebraic Identities Representation of Array References Pointer Assignments and Procedure Calls Reassembling Basic Blocks from DAG s PEEPHOLE OPTIMIZATION TION Eliminating Redundant Loads and Stores Eliminating Unreachable Code Flow-of-Control Optimizations Algebraic Simplification and Reduction in Strength Use of Machine Idioms
15 Contents xv 8.8 REGISTER ALLOCA OCATION AND ASSIGNMENT Global Register Allocation Usage Counts Register Assignement for Outer Loops Register Allocation by Graph Coloring Short Questions and Answers Expected University Questions with Answers UNIT - V [CH. H. - 9] ] [MACHINE-INDEPENDENT OPTIMIZATIONS] MACHINE CHINE-INDEPENDENT OPTIMIZATIONS TIONS THE PRINCIPAL SOURCES OF OPTIMIZATION TION Causes of Redundancy A Running Example Quicksort Semantics-P -Preserving Transformations Global Common Subexpressions Copy Propagation Dead-Code Elimination Code Motion Induction Variables and Reduction in Strength INTRODUCTION TO O DATA-FL -FLOW ANALYSIS The Data-Flow Abstraction The Data-Flow Analysis Schema Transfer Functions Control-Flow Constraints Data-Flow Schemas on Basic Blocks Reaching Definitions Transfer Equations for Reaching Definitions Control-Flow Equations Iterative Algorithm for Reaching Definitions Live-Variable Analysis Available Expressions
16 xvi Contents 9.4 FOUNDATIONS OF DATA-FL -FLOW ANALYSIS Semilattices Partial Orders The Partial Order for a Semilattice Greatest Lower Bounds Lattice Diagrams Product Lattices Height of a Semilattice Transfer Functions Monotone Frameworks Distributive Frameworks rameworks The Iterative Algorithm for General Frameworks Meaning of a Data-Flow Solution The Ideal Solution The Meet-Over Over-P -Paths Solution The Maximum Fixed Point Versus the MOP Solution Short Questions and Answers Expected University Questions with Answers UNIT - V [CH. - 10] ] [ERROR RECOVERY] INTRODUCTION SOURCES OF ERRORS GOALS OF ERRORS SYNTAX ERRORS Recovery from Syntax Errors Recovery in Top op-down Parsing Recovery in Bottom-Up Parsing arsing Error-R -Recovery in YACC
17 Contents xvii 10.5 SYNTAX ERRORS HANDLING ERROR DETECTING Error Detection in Top op-down Parsers arsers Error Detection in Bottom-Up Parsers ERROR REPORTING ERROR DETECTING IN VARIOUS PHASES Lexical Errors Syntax Errors Semantic Error ERROR REPORTING IN VARIOUS PHASES LEXICAL ERRORS Lexical Error Handling ERROR RECOVERY Error Recovery in Various Phases Error-R -Recovery in Top op-down Parsing arsing Recovery in Bottom-Up Parsing arsing Short Questions and Answers Expected University Questions with Answers UNIT - VI [CH ] ] [OPTIMIZING FOR PARALLELISM AND LOCALITY OCALITY] OPTIMIZING FOR PARALLELISM AND LOCALITY BASIC CONCEPTS Multiprocessors Parallelism in Applications Amdahl s Law Granularity of Parallelism Loop oop-l -Level Parallelism Data Locality Introduction to Affine Transform Theory
18 xviii Contents 11.3 MATRIX MULTIPL TIPLY : AN IN-DEPTH EXAMPLES The Matrix-Multiplication Algorithm Serial Execution of the Matrix Multiplication Row ow-by -by-r -Row Parallelization Optimizations Changing Data Layout Blocking Cache Interface DATA-REUSE Types of Reuse euse Self Reuse Rank of a Matrix Null Space of a Matrix Self-Spatial Reuse Group Reuse SYNCHRONIZATION BETWEEN PARALLEL LOOPS A Constant Number of Synchronizations Program-Dependence Graphs Hierarchical Time The Parallelization Algorithm Short Questions and Answers Expected University Questions with Answers UNIT - VI [CH. - 12] ] [LINKERS AND LOADERS] INTRODUCTION TO LINKERS AND LOADERS BASIC LOADERS FUNCTIONS Design of an Absolute Loader A Simple Bootstrap Loader
19 Contents xix 12.3 MACHINE DEPENDENT LOADER FEATURES Relocation Program Linking Algorithm and Data Structures for a Linking Loader MACHINE INDEPENDENT LOADER FEATURES TURES Automatic Library Search Loader Options LOADER DESIGN OPTIONS Linkage Editors Dynamic Linking Short Questions and Answers Expected University Questions with Answers LATEST UNIVERSITY QUESTION PAPERS [April/May ] [Main] [CSE CSE]... QP.1 - QP.2 [April/May ] [Main] [IT IT]... QP.3 - QP.4
20 xx Contents STUDENT NOTES
About the Authors... iii Introduction... xvii. Chapter 1: System Software... 1
Table of Contents About the Authors... iii Introduction... xvii Chapter 1: System Software... 1 1.1 Concept of System Software... 2 Types of Software Programs... 2 Software Programs and the Computing Machine...
More informationSYED AMMAL ENGINEERING COLLEGE (An ISO 9001:2008 Certified Institution) Dr. E.M. Abdullah Campus, Ramanathapuram
CS6660 COMPILER DESIGN Question Bank UNIT I-INTRODUCTION TO COMPILERS 1. Define compiler. 2. Differentiate compiler and interpreter. 3. What is a language processing system? 4. List four software tools
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Subject Name: CS2352 Principles of Compiler Design Year/Sem : III/VI
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Subject Name: CS2352 Principles of Compiler Design Year/Sem : III/VI UNIT I - LEXICAL ANALYSIS 1. What is the role of Lexical Analyzer? [NOV 2014] 2. Write
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR / EVEN SEMESTER
KINGS COLLEGE OF ENGINEERING PUNALKULAM DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2010-2011 / EVEN SEMESTER SUBJECT CODE\SUBJECT NAME: CS1352 \ PRINCIPLES OF COMPILER DESIGN QUESTION BANK
More informationVIVA QUESTIONS WITH ANSWERS
VIVA QUESTIONS WITH ANSWERS 1. What is a compiler? A compiler is a program that reads a program written in one language the source language and translates it into an equivalent program in another language-the
More informationThe analysis part breaks up the source program into constituent pieces and creates an intermediate representation of the source program.
COMPILER DESIGN 1. What is a compiler? A compiler is a program that reads a program written in one language the source language and translates it into an equivalent program in another language-the target
More informationGujarat Technological University Sankalchand Patel College of Engineering, Visnagar B.E. Semester VII (CE) July-Nov Compiler Design (170701)
Gujarat Technological University Sankalchand Patel College of Engineering, Visnagar B.E. Semester VII (CE) July-Nov 2014 Compiler Design (170701) Question Bank / Assignment Unit 1: INTRODUCTION TO COMPILING
More informationINSTITUTE OF AERONAUTICAL ENGINEERING (AUTONOMOUS)
Name Code Class Branch INSTITUTE OF AERONAUTICAL ENGINEERING (AUTONOMOUS) Dundigal, Hyderabad - 500 043 Year 0-0 INFORMATION TECHNOLOGY ASSIGNMENT QUESTIONS AUTOMATA AND COMPILER DESIGN A50513 III B. Tech
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 60 20 DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK VI SEMESTER CS6660 COMPILER DESIGN Regulation 20 Academic Year 207 8 Prepared by Ms. S.
More informationQuestion Bank. 10CS63:Compiler Design
Question Bank 10CS63:Compiler Design 1.Determine whether the following regular expressions define the same language? (ab)* and a*b* 2.List the properties of an operator grammar 3. Is macro processing a
More informationG.PULLAIH COLLEGE OF ENGINEERING & TECHNOLOGY
G.PULLAI COLLEGE OF ENGINEERING & TECNOLOGY Nandikotkur Road, Kurnool 518002 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Semester VI (2017-2018) COURSE DESCRIPTION Course Code : 15A05601 Course Title
More informationPRINCIPLES OF COMPILER DESIGN
PRINCIPLES OF COMPILER DESIGN 2 MARK QUESTIONS WITH ANSWERS UNIT I 1. What is a Complier? A Complier is a program that reads a program written in one language-the source language-and translates it in to
More informationSRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING COURSE PLAN
SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING COURSE PLAN Course Code : CS1014 Semester: VI Course Title : System Software and Compiler Design Course Time:
More informationDEPARTMENT OF INFORMATION TECHNOLOGY / COMPUTER SCIENCE AND ENGINEERING UNIT -1-INTRODUCTION TO COMPILERS 2 MARK QUESTIONS
BHARATHIDASAN ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY / COMPUTER SCIENCE AND ENGINEERING Year & Semester : III & VI Degree & Branch : B.E (CSE) /B.Tech (Information Technology) Subject
More informationVALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur
VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : III & VI Section : CSE 1 & 2 Subject Code : CS6660 Subject Name : COMPILER
More informationVETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY
VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6660 COMPILER DESIGN III year/ VI sem CSE (Regulation 2013) UNIT I -INTRODUCTION TO COMPILER PART A
More informationRoll No. :... Invigilator's Signature :. CS/B.Tech(CSE)/SEM-7/CS-701/ LANGUAGE PROCESSOR. Time Allotted : 3 Hours Full Marks : 70
Name : Roll No. :... Invigilator's Signature :. CS/B.Tech(CSE)/SEM-7/CS-701/2011-12 2011 LANGUAGE PROCESSOR Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design
i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target
More informationINSTITUTE OF AERONAUTICAL ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 00 043 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Name AUTOMATA AND COMPILER DESIGN Code A03 Class III B. Tech I Semester Branch
More informationCompiler Design Aug 1996
Aug 1996 Part A 1 a) What are the different phases of a compiler? Explain briefly with the help of a neat diagram. b) For the following Pascal keywords write the state diagram and also write program segments
More informationTorben./Egidius Mogensen. Introduction. to Compiler Design. ^ Springer
Torben./Egidius Mogensen Introduction to Compiler Design ^ Springer Contents 1 Lexical Analysis 1 1.1 Regular Expressions 2 1.1.1 Shorthands 4 1.1.2 Examples 5 1.2 Nondeterministic Finite Automata 6 1.3
More informationGUJARAT TECHNOLOGICAL UNIVERSITY
Type of course: Core GUJARAT TECHNOLOGICAL UNIVERSITY SUBJECT NAME: Compiler Design SUBJECT CODE: 21701 B.E. 7 th SEMESTER Prerequisite: Data Structures and Algorithms, Theory of Computation, Rationale:
More informationLECTURE NOTES ON COMPILER DESIGN P a g e 2
LECTURE NOTES ON COMPILER DESIGN P a g e 1 (PCCS4305) COMPILER DESIGN KISHORE KUMAR SAHU SR. LECTURER, DEPARTMENT OF INFORMATION TECHNOLOGY ROLAND INSTITUTE OF TECHNOLOGY, BERHAMPUR LECTURE NOTES ON COMPILER
More information1. Explain the input buffer scheme for scanning the source program. How the use of sentinels can improve its performance? Describe in detail.
Code No: R05320502 Set No. 1 1. Explain the input buffer scheme for scanning the source program. How the use of sentinels can improve its performance? Describe in detail. 2. Construct predictive parsing
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4020 July 5, 2007 14.00-15.30 This exam (8 pages) consists of 60 True/False
More informationPSD3A Principles of Compiler Design Unit : I-V. PSD3A- Principles of Compiler Design
PSD3A Principles of Compiler Design Unit : I-V 1 UNIT I - SYLLABUS Compiler Assembler Language Processing System Phases of Compiler Lexical Analyser Finite Automata NFA DFA Compiler Tools 2 Compiler -
More informationPrinciples of Programming Languages [PLP-2015] Detailed Syllabus
Principles of Programming Languages [PLP-2015] Detailed Syllabus This document lists the topics presented along the course. The PDF slides published on the course web page (http://www.di.unipi.it/~andrea/didattica/plp-15/)
More informationCS606- compiler instruction Solved MCQS From Midterm Papers
CS606- compiler instruction Solved MCQS From Midterm Papers March 06,2014 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 Final Term MCQ s and Quizzes CS606- compiler instruction If X is a
More informationLet us construct the LR(1) items for the grammar given below to construct the LALR parsing table.
MODULE 18 LALR parsing After understanding the most powerful CALR parser, in this module we will learn to construct the LALR parser. The CALR parser has a large set of items and hence the LALR parser is
More information4. An interpreter is a program that
1. In an aboslute loading scheme, which loader function is accomplished by programmer? A. Allocation B. LInking C. Reallocation D. both (A) and (B) 2. A compiler program written in a high level language
More informationSRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN
Course Code : CS0301 Course Title : Compiler Design Semester : V Course Time : July Dec 2011 DAY SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN SECTION
More informationSRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY
SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF CSE COURSE PLAN Course Code : CS0301 Course Title : Compiler Design Semester : V Course Time
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4303 April 9, 2010 14.00-15.30 This exam (6 pages) consists of 52 True/False
More informationCST-402(T): Language Processors
CST-402(T): Language Processors Course Outcomes: On successful completion of the course, students will be able to: 1. Exhibit role of various phases of compilation, with understanding of types of grammars
More informationLife Cycle of Source Program - Compiler Design
Life Cycle of Source Program - Compiler Design Vishal Trivedi * Gandhinagar Institute of Technology, Gandhinagar, Gujarat, India E-mail: raja.vishaltrivedi@gmail.com Abstract: This Research paper gives
More informationCJT^jL rafting Cm ompiler
CJT^jL rafting Cm ompiler ij CHARLES N. FISCHER Computer Sciences University of Wisconsin Madison RON K. CYTRON Computer Science and Engineering Washington University RICHARD J. LeBLANC, Jr. Computer Science
More informationAppendix Set Notation and Concepts
Appendix Set Notation and Concepts In mathematics you don t understand things. You just get used to them. John von Neumann (1903 1957) This appendix is primarily a brief run-through of basic concepts from
More informationSYNTAX ANALYSIS 1. Define parser. Hierarchical analysis is one in which the tokens are grouped hierarchically into nested collections with collective meaning. Also termed as Parsing. 2. Mention the basic
More informationTime : 1 Hour Max Marks : 30
Total No. of Questions : 6 P4890 B.E/ Insem.- 74 B.E ( Computer Engg) PRINCIPLES OF MODERN COMPILER DESIGN (2012 Pattern) (Semester I) Time : 1 Hour Max Marks : 30 Q.1 a) Explain need of symbol table with
More information2068 (I) Attempt all questions.
2068 (I) 1. What do you mean by compiler? How source program analyzed? Explain in brief. 2. Discuss the role of symbol table in compiler design. 3. Convert the regular expression 0 + (1 + 0)* 00 first
More informationQUESTIONS RELATED TO UNIT I, II And III
QUESTIONS RELATED TO UNIT I, II And III UNIT I 1. Define the role of input buffer in lexical analysis 2. Write regular expression to generate identifiers give examples. 3. Define the elements of production.
More informationAppendix A The DL Language
Appendix A The DL Language This appendix gives a description of the DL language used for many of the compiler examples in the book. DL is a simple high-level language, only operating on integer data, with
More information1. (a) What are the closure properties of Regular sets? Explain. (b) Briefly explain the logical phases of a compiler model. [8+8]
Code No: R05311201 Set No. 1 1. (a) What are the closure properties of Regular sets? Explain. (b) Briefly explain the logical phases of a compiler model. [8+8] 2. Compute the FIRST and FOLLOW sets of each
More informationINSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad
INTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, yderabad - 500 043 COMPUTER CIENCE AND ENGINEERING COURE DECRIPTION FORM Course Title Course Code Regulation Course tructure Course Coordinator
More informationSection A. A grammar that produces more than one parse tree for some sentences is said to be ambiguous.
Section A 1. What do you meant by parser and its types? A parser for grammar G is a program that takes as input a string w and produces as output either a parse tree for w, if w is a sentence of G, or
More informationCOURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05
COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 Unit 1 : LINEAR DATA STRUCTURES Introduction - Abstract Data Types (ADT), Arrays and its representation Structures, Stack, Queue, Circular
More informationCOMPILER DESIGN LEXICAL ANALYSIS, PARSING
COMPILER DESIGN LEXICAL ANALYSIS, PARSING 1. Which of the following system program forgoes the production of object code to generate absolute machine code and load it into the Physical main storage location
More informationSyntax Analysis. Chapter 4
Syntax Analysis Chapter 4 Check (Important) http://www.engineersgarage.com/contributio n/difference-between-compiler-andinterpreter Introduction covers the major parsing methods that are typically used
More informationUNIT I INTRODUCTION TO COMPILER 1. What is a Complier? A Complier is a program that reads a program written in one language-the source language-and translates it in to an equivalent program in another
More informationList of Figures. About the Authors. Acknowledgments
List of Figures Preface About the Authors Acknowledgments xiii xvii xxiii xxv 1 Compilation 1 1.1 Compilers..................................... 1 1.1.1 Programming Languages......................... 1
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4020 January 19, 2006 14.00-15.30 This exam (8 pages) consists of 60 True/False
More informationAlternatives for semantic processing
Semantic Processing Copyright c 2000 by Antony L. Hosking. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies
More informationCS 406/534 Compiler Construction Putting It All Together
CS 406/534 Compiler Construction Putting It All Together Prof. Li Xu Dept. of Computer Science UMass Lowell Fall 2004 Part of the course lecture notes are based on Prof. Keith Cooper, Prof. Ken Kennedy
More informationGroup B Assignment 9. Code generation using DAG. Title of Assignment: Problem Definition: Code generation using DAG / labeled tree.
Group B Assignment 9 Att (2) Perm(3) Oral(5) Total(10) Sign Title of Assignment: Code generation using DAG. 9.1.1 Problem Definition: Code generation using DAG / labeled tree. 9.1.2 Perquisite: Lex, Yacc,
More informationCompiler Construction Using
Compiler Construction Using Java, JavaCC, and Yacc ANTHONY J. DOS REIS Stale University ofnew York at New Pallz IEEE computer society WILEY A JOHN WILEY & SONS, INC., PUBLICATION Preface xv Chapter 1 Strings,
More informationCompiler Optimization
Compiler Optimization The compiler translates programs written in a high-level language to assembly language code Assembly language code is translated to object code by an assembler Object code modules
More informationCS6660-COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS PART A
CS6660-COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS PART A 1. What does translator mean? A translator is a program that takes a input program on one programming language (source language) and produces
More informationGUJARAT TECHNOLOGICAL UNIVERSITY
Type of course: System Programming GUJARAT TECHNOLOGICAL UNIVERSITY SYSTEM PROGRAMMING SUBJECT CODE: 21508 B.E. 5 th SEMESTER Prerequisite: Data Structures and Operating Systems Rationale: NA Teaching
More informationCS5363 Final Review. cs5363 1
CS5363 Final Review cs5363 1 Programming language implementation Programming languages Tools for describing data and algorithms Instructing machines what to do Communicate between computers and programmers
More informationBIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division
SECOND SEMESTER 2015-2016 Course Handout (Part II) Date:23-01-2017 In addition to part I (General Handout for all courses appended to the time table) this portion gives further specific details regarding
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK VI SEMESTER CS6660-COMPILER DESIGN Regulation 2013 Academic Year 2017 18 (Even)
More informationContext-free grammars
Context-free grammars Section 4.2 Formal way of specifying rules about the structure/syntax of a program terminals - tokens non-terminals - represent higher-level structures of a program start symbol,
More informationUNIT I INTRODUCTION TO COMPILING
UNIT I INTRODUCTION TO COMPILING 1. Define compiler? A compiler is a program that reads a program written in one language (source language) and translates it into an equivalent program in another language
More informationReview. Pat Morin COMP 3002
Review Pat Morin COMP 3002 What is a Compiler A compiler translates from a source language S to a target language T while preserving the meaning of the input 2 Structure of a Compiler program text syntactic
More informationContents. Chapter 1 SPECIFYING SYNTAX 1
Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren
More informationCompiler Construction: Parsing
Compiler Construction: Parsing Mandar Mitra Indian Statistical Institute M. Mitra (ISI) Parsing 1 / 33 Context-free grammars. Reference: Section 4.2 Formal way of specifying rules about the structure/syntax
More informationDEPARTMENT OF INFORMATION TECHNOLOGY AUTOMATA AND COMPILER DESIGN. B.Tech-IT, III Year -I Sem
DEPARTMENT OF INFORMATION TECHNOLOGY AUTOMATA AND COMPILER DESIGN B.Tech-IT, III Year -I Sem Dr. Smriti Agrawal Assoc. Professor J.B.Institute of Engg & Technology Yenkapally, Moinabad(Mandal) Himathnagar(post),Hydreabad
More informationOutline. Lecture 17: Putting it all together. Example (input program) How to make the computer understand? Example (Output assembly code) Fall 2002
Outline 5 Fall 2002 Lecture 17: Putting it all together From parsing to code generation Saman Amarasinghe 2 6.035 MIT Fall 1998 How to make the computer understand? Write a program using a programming
More information1. The output of lexical analyser is a) A set of RE b) Syntax Tree c) Set of Tokens d) String Character
1. The output of lexical analyser is a) A set of RE b) Syntax Tree c) Set of Tokens d) String Character 2. The symbol table implementation is based on the property of locality of reference is a) Linear
More informationSYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS
SYSTEMS PROGRAMMING Srimanta Pal Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS Contents Preface v 1. Scope of Systems Programming 1 1.1 Introduction 7 1.2 Computers and
More informationParsing Wrapup. Roadmap (Where are we?) Last lecture Shift-reduce parser LR(1) parsing. This lecture LR(1) parsing
Parsing Wrapup Roadmap (Where are we?) Last lecture Shift-reduce parser LR(1) parsing LR(1) items Computing closure Computing goto LR(1) canonical collection This lecture LR(1) parsing Building ACTION
More informationCompiler Code Generation COMP360
Compiler Code Generation COMP360 Students who acquire large debts putting themselves through school are unlikely to think about changing society. When you trap people in a system of debt, they can t afford
More informationCS 4201 Compilers 2014/2015 Handout: Lab 1
CS 4201 Compilers 2014/2015 Handout: Lab 1 Lab Content: - What is compiler? - What is compilation? - Features of compiler - Compiler structure - Phases of compiler - Programs related to compilers - Some
More informationKALASALINGAM UNIVERSITY ANAND NAGAR, KRISHNAN KOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ODD SEMESTER COURSE PLAN
Subject with Code KALASALINGAM UNIVERSITY ANAND NAGAR, KRISHNAN KOIL 626 126 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ODD SEMESTER 2013-2014 Semester/Branch/Section Credits : 3 COURSE PLAN : Compiler
More informationCS 2210 Sample Midterm. 1. Determine if each of the following claims is true (T) or false (F).
CS 2210 Sample Midterm 1. Determine if each of the following claims is true (T) or false (F). F A language consists of a set of strings, its grammar structure, and a set of operations. (Note: a language
More informationBuilding a Runnable Program and Code Improvement. Dario Marasco, Greg Klepic, Tess DiStefano
Building a Runnable Program and Code Improvement Dario Marasco, Greg Klepic, Tess DiStefano Building a Runnable Program Review Front end code Source code analysis Syntax tree Back end code Target code
More informationA programming language requires two major definitions A simple one pass compiler
A programming language requires two major definitions A simple one pass compiler [Syntax: what the language looks like A context-free grammar written in BNF (Backus-Naur Form) usually suffices. [Semantics:
More informationThe View from 35,000 Feet
The View from 35,000 Feet This lecture is taken directly from the Engineering a Compiler web site with only minor adaptations for EECS 6083 at University of Cincinnati Copyright 2003, Keith D. Cooper,
More informationContext-Free Grammar. Concepts Introduced in Chapter 2. Parse Trees. Example Grammar and Derivation
Concepts Introduced in Chapter 2 A more detailed overview of the compilation process. Parsing Scanning Semantic Analysis Syntax-Directed Translation Intermediate Code Generation Context-Free Grammar A
More informationEDAN65: Compilers, Lecture 06 A LR parsing. Görel Hedin Revised:
EDAN65: Compilers, Lecture 06 A LR parsing Görel Hedin Revised: 2017-09-11 This lecture Regular expressions Context-free grammar Attribute grammar Lexical analyzer (scanner) Syntactic analyzer (parser)
More informationCS 132 Compiler Construction
CS 132 Compiler Construction 1. Introduction 2 2. Lexical analysis 31 3. LL parsing 58 4. LR parsing 110 5. JavaCC and JTB 127 6. Semantic analysis 150 7. Translation and simplification 165 8. Liveness
More informationLR Parsing LALR Parser Generators
LR Parsing LALR Parser Generators Outline Review of bottom-up parsing Computing the parsing DFA Using parser generators 2 Bottom-up Parsing (Review) A bottom-up parser rewrites the input string to the
More informationCompiler Design. Computer Science & Information Technology (CS) Rank under AIR 100
GATE- 2016-17 Postal Correspondence 1 Compiler Design Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,
More informationProgramming Language Processor Theory
Programming Language Processor Theory Munehiro Takimoto Course Descriptions Method of Evaluation: made through your technical reports Purposes: understanding various theories and implementations of modern
More informationChapter 6 Intermediate Code Generation
Chapter 6 Intermediate Code Generation Outline Variants of Syntax Trees Three-address code Types and declarations Translation of expressions Type checking Control flow Backpatching Introduction Intermediate
More informationWednesday, September 9, 15. Parsers
Parsers What is a parser A parser has two jobs: 1) Determine whether a string (program) is valid (think: grammatically correct) 2) Determine the structure of a program (think: diagramming a sentence) Agenda
More informationParsers. What is a parser. Languages. Agenda. Terminology. Languages. A parser has two jobs:
What is a parser Parsers A parser has two jobs: 1) Determine whether a string (program) is valid (think: grammatically correct) 2) Determine the structure of a program (think: diagramming a sentence) Agenda
More informationEvaluation Scheme L T P Total Credit Theory Mid Sem Exam
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
More informationSECTION A. (i) The Boolean function in sum of products form where K-map is given below (figure) is:
SECTION A 1. Fill in the blanks: (i) The Boolean function in sum of products form where K-map is given below (figure) is: C B 0 1 0 1 0 1 A A (ii) Consider a 3-bit error detection and 1-bit error correction
More information4. Lexical and Syntax Analysis
4. Lexical and Syntax Analysis 4.1 Introduction Language implementation systems must analyze source code, regardless of the specific implementation approach Nearly all syntax analysis is based on a formal
More informationPSD1C SYSTEM SOFTWAE UNIT: I - V PSD1C SYSTEM SOFTWARE
PSD1C SYSTEM SOFTWAE UNIT: I - V 1 Syllabus Unit-I Language Processors Types of Language Processors Language Processing Activities Fundamentals of Language Processing Language Specification Data Structures
More informationCompilers and Interpreters
Overview Roadmap Language Translators: Interpreters & Compilers Context of a compiler Phases of a compiler Compiler Construction tools Terminology How related to other CS Goals of a good compiler 1 Compilers
More informationSyntax-Directed Translation
Syntax-Directed Translation ALSU Textbook Chapter 5.1 5.4, 4.8, 4.9 Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 What is syntax-directed translation? Definition: The compilation
More information4. Lexical and Syntax Analysis
4. Lexical and Syntax Analysis 4.1 Introduction Language implementation systems must analyze source code, regardless of the specific implementation approach Nearly all syntax analysis is based on a formal
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationUnderstanding and Writing Compilers
Understanding and Writing Compilers Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester G. M. Birtwistle, Discrete Event Modelling on Simula Richard Bornat,
More informationIntermediate Code Generation
Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target
More informationOverview of a Compiler
High-level View of a Compiler Overview of a Compiler Compiler Copyright 2010, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California have
More informationUNIT IV INTERMEDIATE CODE GENERATION
UNIT IV INTERMEDIATE CODE GENERATION 2 Marks 1. Draw syntax tree for the expression a=b*-c+b*-c 2. Explain postfix notation. It is the linearized representation of syntax tree.it is a list of nodes of
More informationCompiling Techniques
Lecture 2: The view from 35000 feet 19 September 2017 Table of contents 1 2 Passes Representations 3 Instruction Selection Register Allocation Instruction Scheduling 4 of a compiler Source Compiler Machine
More information