St. Xavier's University, Kolkata
Fr. Arrupe Central Library
Online Public Access Catalogue

Compiler design (Record no. 14418)

MARC details
000 -LEADER
fixed length control field 09047nam a22002057a 4500
005 - DATE & TIME
control field 20260218154057.0
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 260218b |||||||| |||| 00| 0 eng d
020 ## - ISBN
International Standard Book Number 9789386235640
Price 915.00
040 ## - CATALOGING SOURCE
Original cataloging agency S.X.U.K
041 ## - Language
Language English
082 ## - DDC NUMBER
Classification number R 005.453 CHA(COM)
100 ## - MAIN ENTRY--PERSONAL NAME
Personal name Chandak, Manoj B
245 ## - TITLE STATEMENT
Title Compiler design
Statement of responsibility Manoj B Chandak; Khushboo P Khurana
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT)
Place of publication, distribution, etc xvi, 462p.
Name of publisher, distributor, etc University press
Date of publication, distribution, etc c2018
300 ## - PHYSICAL DESCRIPTION
Pages 462p.
Other Details P.B.
500 ## - GENERAL NOTE
General note Preface<br/>Acknowledgements<br/><br/>1. Introduction to Compilers<br/>Objectives<br/>1.1 Introduction<br/>1.2 History of Compiler<br/>1.2.1 C Compiler<br/>1.2.2 Java Compiler<br/>1.3 Language Processing System<br/>1.3.1 Preprocessor<br/>1.3.2 Assembler<br/>1.3.3 Linker<br/>1.3.4 Loader<br/>1.4 Interpreter and Compiler<br/>1.4.1 Interpreter<br/>1.4.2 Compiler<br/>1.4.3 Interpreter vs Compiler<br/>1.5 Phases of Compiler<br/>1.5.1 Lexical Analysis<br/>1.5.2 Syntax Analysis<br/>1.5.3 Semantic Analysis<br/>1.5.4 Intermediate Code Generation<br/>1.5.5 Code Optimisation<br/>1.5.6 Code Generation<br/>1.5.7 Symbol Table and Error Handling<br/>1.6 Overview of Compiler Design<br/>1.6.1 Pass and Phase<br/>1.7 Application of Techniques Used in Compiler Design<br/>1.8 Tombstone Diagram<br/>1.9 Cross-compiler and Bootstrapping<br/>1.10 Relating Compilation Phases with Formal Systems<br/>1.11 Compiler Construction Tools<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/><br/>2. Lexical Analysis<br/>Objectives<br/>2.1 Lexical Analysis and Tokens<br/>2.2 Input Buffering<br/>2.2.1 Two-buffer Input Scheme Using Buffer Pair<br/>2.3 Separation of Lexical Analysis and Syntax Analysis<br/>2.4 Specification of Tokens<br/>2.5 Tokens, Patterns and Lexemes<br/>2.6 Attributes for Tokens<br/>2.7 Lexical Analyser and Symbol Table<br/>2.8 Regular Expression<br/>2.9 Transition Diagram<br/>2.10 Recognition of Tokens<br/>2.11 Lexical Errors<br/>2.12 NFA and DFA for Lexical Analysis<br/>2.12.1 Combining NFAs of Different Patterns into a Single NFA<br/>2.13 Regular Expression to NFA<br/>2.14 NFA to DFA Conversion<br/>2.15 Regular Expression to DFA<br/>2.15.1 Direct Method for Conversion of RE to DFA<br/>2.16 DFA Minimisation<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>3. Syntax Analysis<br/>Objectives<br/>3.1 Introduction to Syntax Analysis<br/>3.2 Types of Grammars<br/>3.3 Context-free Grammar<br/>3.4 Derivation<br/>3.5 Ambiguous Grammar<br/>3.6 Top-down Parsing<br/>3.6.1 Non-predictive Parsing<br/>3.6.2 Predictive Top-down Parsing<br/>3.7 LL(1) – Predictive Top-down Parser<br/>3.8 Bottom-up Parsing<br/>3.8.1 Handle and Viable Prefix<br/>3.8.2 Shift-reduce Parsers<br/>3.9 Simple LR Parser (SLR)<br/>3.10 Canonical LR Parser (CLR)<br/>3.11 LALR Parser<br/>3.12 Ambiguous Grammars in LR Parsing<br/>3.13 Parser Conflicts<br/>3.14 Handling Ambiguous Grammars in LALR Parser<br/>3.15 Selection of Parsing Algorithm<br/>3.16 Comparison of LR Parsers<br/>3.17 Applications of the LR Parser<br/>3.18 LR Parser in Natural Language Processing<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>4. Syntax-directed Translation and Semantic Analysis<br/>Objectives<br/>4.1 Introduction to Semantic Analysis and Type Checking<br/>4.2 Attributes and Specification of Semantic Rules<br/>4.3 Syntax-directed Definition<br/>4.4 Syntax-directed Translation Scheme<br/>4.5 Dependency Graph<br/>4.6 Methods to Calculate Semantic Rules<br/>4.7 Evaluation Order of Semantic Rules<br/>4.8 Syntax Trees<br/>4.9 Directed Acyclic Graph Construction<br/>4.10 Type and Type Checking<br/>4.10.1 Basic Types and Constructed Types<br/>4.10.2 Type System and Type Checker<br/>4.10.3 Type Expressions<br/>4.10.4 Operator and Function Overloading<br/>4.10.5 Static and Dynamic Typing<br/>4.10.6 Encoding of Type Expressions<br/>4.11 A Simple Type Checking System<br/>4.12 Type Conversion<br/>4.12.1 Coercion<br/>4.13 Type Equivalence<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>5. Intermediate Code Generation Using Syntax-directed Translations<br/>Objectives<br/>5.1 Introduction to Intermediate Code Generation<br/>5.2 Intermediate Code Representation<br/>5.3 Syntax-directed Translation into Three-address Code – Principle<br/>5.4 Syntax-directed Translation of Assignment Statement into Three-address Code<br/>5.4.1 Assignment Statement<br/>5.5 Syntax-directed Translation to TAC for Boolean Expressions<br/>5.5.1 Method 1: Numerical Representation<br/>5.5.2 Method 2: Short Circuit Code<br/>5.6 Syntax-directed Translation into TAC for Programming Language Control Structures<br/>Using Backpatching<br/>5.6.1 If-then Construct<br/>5.6.2 If-then-else Construct<br/>5.6.3 While Loop<br/>5.6.4 Do-while Loop<br/>5.6.5 For Loop<br/>5.6.6 Repeat-Until<br/>5.7 Syntax-directed Translation of Arrays to TAC<br/>5.8 Syntax-directed Translation to TAC for the Switch-Case Statement<br/>5.9 Syntax-directed Translation to TAC for Procedures<br/>5.10 Syntax-directed Translation to TAC for Declarations<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/><br/>6. Code Optimisation<br/>Objectives<br/>6.1 Introduction<br/>6.2 Machine-independent Optimisation<br/>6.2.1 Common Sub-expression Elimination<br/>6.2.2 Algebraic Simplification and Strength Reduction<br/>6.2.3 Dead Code Elimination<br/>6.2.4 Copy Propagation<br/>6.2.5 Constant Propagation<br/>6.2.6 Constant Folding<br/>6.2.7 Function Inlining and Cloning<br/>6.2.8 Loop Optimisation<br/>6.3 Machine-dependent Optimisation<br/>6.3.1 Peephole Optimisation<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>7. Code Generation<br/>Objectives<br/>7.1 Introduction to Code Generation<br/>7.2 Problems in Code Generator Design<br/>7.3 Target Machine<br/>7.4 Instruction Cost<br/>7.5 Simple Code Generation<br/>7.5.1 Code Generation for a Three-address Statement of the form X = Y op Z<br/>7.5.2 Reordering of Statements for Improved Cost of Generated Code<br/>7.5.3 Code Generation for a Three-address Statement of the Form X = Y<br/>7.5.4 Generating Code for Array Assignment and Pointer<br/>7.6 Code Generation Using DAG<br/>7.6.1 Heuristic for Finding the Optimal Order of Nodes in DAG<br/>7.6.2 Labelling Algorithm<br/>7.6.3 Code Generation From a Labelled Tree<br/>7.7 Register Allocation<br/>7.7.1 Global Register Allocation<br/>7.7.2 Register Assignment for an Outer Loop<br/>7.7.3 Register Allocation by Graph Colouring<br/>7.8 Code Generation by Dynamic Programming<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>8. Storage Management and Symbol Table<br/>Objectives<br/>8.1 Introduction to the Run-time Environment<br/>8.2 Storage Organisation<br/>8.3 Activation of Procedures<br/>8.3.1 Activation Tree<br/>8.3.2 Control Stack<br/>8.3.3 Activation Record<br/>8.4 Scope of Declaration<br/>8.5 Storage Allocation Strategies<br/>8.5.1 Static Storage Allocation<br/>8.5.2 Stack Storage Allocation<br/>8.5.3 Heap Storage Allocation<br/>8.6 Garbage Collection<br/>8.7 Parameter Passing<br/>8.8 Symbol Table<br/>8.9 Data Structure for Symbol Table<br/>8.9.1 Linear List<br/>8.9.2 Search Tree: Binary Search Tree<br/>8.9.3 Hash Table<br/>8.10 Scope of Information in Symbol Table<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>9. Error Handling<br/>Objectives<br/>9.1 Introduction to Error Generation and Error Handling<br/>9.2 Error Handling in Each Phase of Compilation<br/>9.3 Error Handling in Lexical Analysis Phase<br/>9.4 Error Handling in Syntax Analysis Phase<br/>9.4.1 Error Recovery in Predictive LL Parser<br/>9.4.2 Errors in Shift-Reduce Parsers (LR Parser)<br/>9.5 Error Handling in Semantic Analysis Phase<br/>Summary<br/>Exercises<br/>Review Questions<br/>Practice Questions<br/>Programming Questions<br/><br/>10. Compiler Construction Tools<br/>Objectives<br/>10.1 Introduction to Open Source Compiler Construction Tools<br/>10.2 Java Formal Languages and Automata Package (JFLAP)<br/>10.3 Scanner Generator: Lex<br/>10.3.1 Lex Source File<br/>10.3.2 Lex Regular Expressions<br/>10.3.3 Ambiguous Source Rules<br/>10.4 Parser Generator: Yet Another Compiler-Compiler (Yacc)<br/>10.5 JFlex and CUP<br/>10.6 ANTLR<br/>10.7 Other Tools and Techniques<br/>Summary<br/>Exercises<br/>Programming Questions<br/><br/>11. Functional Languages<br/>Objectives<br/>11.1 Introduction to Functional Languages<br/>11.2 Characteristics of Functional Languages<br/>11.3 Concepts in Functional Languages<br/>11.3.1 First Class Functions<br/>11.3.2 Pure Functions<br/>11.3.3 Higher-order Functions<br/>11.3.4 Closure<br/>11.3.5 Currying<br/>11.3.6 Lazy Evaluation<br/>11.3.7 Recursion<br/>11.4 Introduction to Lambda Notation/?-calculus<br/>11.4.1 Free and Bound Variables<br/>11.4.2 Substitution<br/>11.4.3 Arithmetic Computations<br/>11.4.4 Recursion<br/>11.5 Basic Compilation<br/>11.6 Polymorphic Type Checking<br/>11.7 Desugaring<br/>Summary<br/>Exercises<br/>Review Questions<br/><br/>12. Parallel Compilers and Scheduling<br/>Objectives<br/>12.1 Parallel Programming Concepts<br/>12.2 Processes and Threads<br/>12.3 Shared Memory and Message Passing<br/>12.4 NVCC for Parallel Compilation<br/>12.5 Dependency<br/>12.6 Iteration Spaces<br/>12.7 Affine Array Indexes<br/>Summary<br/>Exercises<br/>Review Questions<br/><br/>13. Programs on Compiler Design<br/>Objectives<br/>13.1 Regular Expressions in Python<br/>13.2 Programs for Different Phases of the Compiler<br/>Exercises<br/>Practice Questions<br/><br/>14. Solved Gate Questions<br/>Lexical Analysis<br/>Parsing<br/>SDTS<br/>Code Generation and Optimisation<br/>Memory Allocation<br/><br/>Index
650 ## - Subject
Subject Computer programming
-- preogramming language
-- Compilers
700 ## - Added Entry Personal Name
Relator Code auth.
Added Entry Personal Name Khurana, Khushboo P.
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Koha item type REFERENCE COMPUTER SCIENCE
Holdings
Withdrawn status Lost status Source of classification or shelving scheme Damaged status Not for loan Koha collection Location (home branch) Sublocation or collection (holding branch) Shelving location Date acquired Source of acquisition Cost, normal purchase price Serial Enumeration / chronology Koha issues (times borrowed) Koha full call number Barcode (Accession No.) Koha date last seen Copy Number Price effective from Koha item type
    Dewey Decimal Classification   Not For Loan Reference St. Xavier's University, Kolkata St. Xavier's University, Kolkata Reference Section 02/18/2026 K.M. Enterprise 915.00 S.X.U.K   R 005.453 CHA(COM) UCS 13931 02/18/2026 13931 02/18/2026 REFERENCE COMPUTER SCIENCE
    Dewey Decimal Classification       St. Xavier's University, Kolkata St. Xavier's University, Kolkata Lending Section 02/18/2026 K.M. Enterprise 915.00 S.X.U.K   005.453 CHA(COM) CS 13932 02/18/2026 13932 02/18/2026 COMPUTER SCIENCE
    Dewey Decimal Classification       St. Xavier's University, Kolkata St. Xavier's University, Kolkata Lending Section 02/18/2026 K.M. Enterprise 915.00 S.X.U.K   005.453 CHA(COM)C1 CS 13933 02/18/2026 13933 02/18/2026 COMPUTER SCIENCE
St. Xaviers University, Kolkata
St. Xavier's University, Kolkata ,Action Area III B, New Town, Kolkata - 700 160


OPAC Customized by Avior Technologies Private Limited
mail@aviortechnologies.co.in