Introduction to Compiler Design: An Object-Oriented Approach Using Kotlin(TM)
Introduction to Compiler Design: An Object-Oriented Approach Using Kotlin(TM)
Moore, John I.
product information
Condition: New, UPC: 9781734139150, Publication Date: Thu, October 1, 2020, Type: Paperback ,
join & start selling
description
6

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 one symbol lookahead.

reviews

Be the first to write a review

member goods

No member items were found under this heading.

notems store

Algorithms for Dummies

by Mueller, John Paul

Paperback /Paperback

$25.49

Programming the BBC Micro: Bit: ...

by Monk, Simon

Paperback /Paperback

$12.15

Humans vs Computers

by Adzic, Gojko

Paperback /Paperback

$12.29

listens & views

KEEP BREATHING

by JAMES,OLIVER

COMPACT DISC

out of stock

$5.75

TRACTOR BEAM

by STEARNS,RICHIE

COMPACT DISC

out of stock

$13.75

MUFFENSAUSEN (HK)

by BEATSTEAKS

COMPACT DISC

out of stock

$33.99

BRANCHES OF LIFE

by BOLAM,REBECCA L. AND THE ISSUES

COMPACT DISC

out of stock

$5.75

Return Policy

All sales are final

Shipping

No special shipping considerations available.
Shipping fees determined at checkout.
promoting relevance through notable postings ]

A notem is a meaningful post that highlights an experience, idea, topic of interest, an event ... whatever a member believes worthy of discussion. Each notem becomes a pathway by which to make meaningful connections.

notems is a free, global social network that rewards members by the number and quality of notems they post.

notemote® © . Privacy Policy. Developed by Hartmann Software Group