WIN $150 GIFT VOUCHERS: ALADDIN'S GOLD

Close Notification

Your cart does not contain any items

Compiler Design Using Kotlin(TM)

An Object-Oriented Approach

John I Moore

$83.95   $71.35

Paperback

Not in-store but you can order this
How long will it take?

QTY:

English
Softmoore Consulting
16 September 2022
"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."
By:  
Imprint:   Softmoore Consulting
Edition:   2nd ed.
Dimensions:   Height: 235mm,  Width: 191mm,  Spine: 19mm
Weight:   603g
ISBN:   9781734139167
ISBN 10:   1734139161
Pages:   352
Publication Date:  
Audience:   General/trade ,  ELT Advanced
Format:   Paperback
Publisher's Status:   Active

John I. Moore, Jr., Professor Emeritus of Cyber and Computer Sciences at The Citadel in Charleston, SC, has a wide range of experience in both industry and academia, with specific expertise in the areas of object-oriented technology, software engineering, compilers, and mobile applications. For more than four decades John has designed and developed software using several high-order languages, and he has worked extensively in Java since version 1.1. In addition, he has developed and taught numerous academic courses and industrial seminars on advanced topics in computer science, training several thousand software professionals throughout the United States and Canada.

Reviews for Compiler Design Using Kotlin(TM): An Object-Oriented Approach

"""I genuinely enjoyed reading it and rarely had to reread sections as it was well-written, comprehensive, and fun. I recommend this book to any student, professor teaching compiler design, and anyone looking for a challenge."" ""Best intro book on Compilers! Well explained yet succinct!"" From the first edition: ""I program differently and more efficiently because of this book, and I hope everyone has the chance to read it. This book will change how you view both programming and computer science as a topic."""


See Also