Books by splitShops
Compiler Design Using Kotlin(TM): An Object-Oriented Approach - Paperback
$53.95
In stock
Shipping charges, applicable taxes, the final order total, and available payment methods are shown during checkout before payment. Delivery timing varies by item and fulfillment origin. Standard U.S. returns are by mail for eligible new, unopened items within 30 days of carrier delivery. Customers pay standard return shipping; there is no restocking fee. Approved refunds are issued within 5 business days after the return is received and inspected. Standard exchanges are not offered.
Cindi Book items have a flat $9.99 shipping charge. Shopify Collective items use shipping rates set by the supplier. Orders containing items from different fulfillment sources may include more than one shipping charge. Your full shipping total is shown at checkout before payment.
Return eligibility is subject to the full policy. Opened, read, or unsealed books with broken seals or visible wear are final sale. Digital downloads, gift cards, and personalized products are non-refundable. Original shipping charges are not refunded for standard returns. Contact us within 7 days of delivery about damaged, defective, or incorrect items.
by John I. Moore (Author)
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. 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.
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. Following are some of the decisions made in order to accommodate the goals of this book.
1. The book has a narrow focus as a project-oriented course on compilers. Compiler theory is kept to a minimum, but the project orientation retains the "fun" part of studying compilers.
2. The source language being compiled is relatively simple, but it is powerful enough to be interesting and challenging. It has basic data types, arrays, procedures, functions, and parameters, but it relegates many other interesting language features to the project exercises.
3. 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). This approach greatly simplifies code generation. Both an assembler and an emulator for the virtual machine are provided on the course web site.
4. No special compiler-related tools are required or used within the book. 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).
5. 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. 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.
Pay with
Available payment methods and your final total are shown at checkout before payment.
Clear Information Before You Order
Cindi Book is the trade name of Cindi Book LLC, a Texas-registered online-only retailer. We provide clear contact, shipping, return, and checkout information so customers can make informed purchasing decisions.
Business & Customer Care
Cindi Book LLC
Administrative office only; no storefront or local pickup.
214-308-1733 · info@cindibook.com
Monday–Friday, 8:00 AM–5:00 PM CT
Shipping Transparency
Orders ship within the United States. Cindi Book branded titles typically arrive in 5–9 business days, including 0–2 business days of handling and 5–7 business days in transit. Supplier-fulfilled items typically arrive in 8–11 business days, including 1–3 business days of handling and 7–8 business days in transit. Business days are Monday–Friday, excluding U.S. federal holidays. Delivery estimates are not guarantees. Cindi Book items have a flat $9.99 shipping charge. Shopify Collective items use shipping rates set by the supplier. Orders containing items from different fulfillment sources may include more than one shipping charge. Your full shipping total is shown at checkout before payment.
Returns & Refunds
Standard U.S. returns are accepted for eligible new, unopened items within 30 days of carrier delivery. Returns are by mail. Customers are responsible for standard return shipping, there is no restocking fee, and standard exchanges are not offered. Once an approved return is received and inspected, the refund is issued to the original payment method within 5 business days. Damaged, defective, or incorrect items are handled at no return-shipping cost to the customer.
Return eligibility is subject to the full policy. Opened, read, or unsealed books with broken seals or visible wear are final sale. Digital downloads, gift cards, and personalized products are non-refundable. Original shipping charges are not refunded for standard returns. Contact us within 7 days of delivery about damaged, defective, or incorrect items.
Payment & Checkout
Checkout is processed securely through Shopify. Shipping charges, applicable taxes, the final order total, and available payment methods are shown before you submit payment.
Order Responsibility
Some items may ship from Cindi Book or U.S.-based publishing, manufacturing, or distribution suppliers that fulfill orders for Cindi Book. Cindi Book LLC remains the customer-service contact for order questions, delivery support, returns, and refunds.
