*COD & Shipping Charges may apply on certain items.
Review final details at checkout.
₹4214
₹4567
7% OFF
Paperback
All inclusive*
Qty:
1
About The Book
Description
Author
<p>This book is designed primarily for use as a textbook in a one-semester course on compiler design for undergraduate students and beginning graduate students.&nbsp;The only prerequisites for this book are familiarity with basic algorithms and data structures (lists maps recursion etc.) a rudimentary knowledge of computer architecture and assembly language and some experience with the Kotlin programming language or a closely related language such as Java.</p><p>A complete study of compilers could easily fill several graduate-level courses and therefore some simplifications and compromises are necessary for a one-semester course that is accessible to undergraduate students.&nbsp;Following are some of the decisions made in order to accommodate the goals of this book.</p><p>1.&nbsp;&nbsp;&nbsp;&nbsp;The book has a narrow focus as a project-oriented course on compilers.&nbsp;Compiler theory is kept to a minimum but the project orientation retains the fun part of studying compilers.&nbsp;</p><p>2.&nbsp;&nbsp;&nbsp;&nbsp;The source language being compiled is relatively simple but it is powerful enough to be interesting and challenging.&nbsp;It has basic data types arrays procedures functions and parameters but it relegates many other interesting language features to the project exercises.</p><p>3.&nbsp;&nbsp;&nbsp;&nbsp;The target language is assembly language for a virtual machine with a stack-based architecture similar to but much simpler than the Java Virtual Machine (JVM).&nbsp;This approach greatly simplifies code generation.&nbsp;Both an assembler and an emulator for the virtual machine are provided on the course web site.</p><p>4.&nbsp;&nbsp;&nbsp;&nbsp;No special compiler-related tools are required or used within the book.&nbsp;Students require access only to a Kotlin compiler and a text editor but most students will want to use Kotlin with an Integrated Development Environment (IDE).</p><p>5.&nbsp;&nbsp;&nbsp;&nbsp;One very important component of a compiler is the parser which verifies that a source program conforms to the language syntax and produces an intermediate representation of the program that is suitable for additional analysis and code generation.&nbsp;There are several different approaches to parsing but in keeping with the focus on a one-semester course this book emphasizes only one approach recursive descent parsing with several lookahead tokens.</p>