Shop now Shop now Shop now Shop All Amazon Fashion Up to 70% off Fashion Cloud Drive Photos Shop now Shop Amazon Fire TV Shop now Shop Fire HD 6 Learn More Shop now Shop now Shop now
Buy Used
Condition: Used: Good
Comment: This item is used and has some wear. Qualifies for free shipping and prime programs.
Trade in your item
Get a £0.41
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

The Definitive ANTLR Reference: Building Domain-Specific Languages (Pragmatic Programmers) Paperback – 27 May 2007

4 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£32.40 £1.71

There is a newer edition of this item:

Special Offers and Product Promotions

  • Save £20 on with the aqua Classic card. Get an initial credit line of £250-£1,200 and build your credit rating. Representative 32.9% APR (variable). Subject to term and conditions. Learn more.

Product details

  • Paperback: 376 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (27 May 2007)
  • Language: English
  • ISBN-10: 0978739256
  • ISBN-13: 978-0978739256
  • Product Dimensions: 19 x 1.8 x 22.9 cm
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: 756,779 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Terence Parr is a professor of computer science and graduate program director at the University of San Francisco, where he continues to work on his ANTLR parser generator, Terence has consulted for and held various technical positions at companies such as IBM, Lockheed Missiles and Space, NeXT, and Renault Automation. Terence holds a Ph.D. in computer engineering from Purdue University and was a postdoctoral fellow at the Army High-Performance Computing Research Center at the University of Minnesota, where he built parallelizing FORTRAN source-to-source translators.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 4 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

2 of 2 people found the following review helpful By Ash on 23 Dec. 2010
Format: Paperback
If you are into compilers or in fact any kind of parser, interpreter or building DSLs this book needs to go on your bookshelf (right next to the Dragon book!).

Please be aware that it takes serious learning, study, practice, patience and time to learn how to build parsers, compilers and their ilk. This book will definitely help you along that path.

I'd even recommend this book to beginners but only if they are sufficiently interested in the topic and have the time to invest, because if you are a beginner you should be prepared for a serious learning curve trying to get to grips with parser/compiler theory.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
18 of 21 people found the following review helpful By Mr. S. Crook on 13 Jun. 2007
Format: Paperback Verified Purchase
If you've got your computer science degree tucked under your belt you've probably come across Antlr and much of the content of this book will be familiar and approachable. If not, then there's a learning curve ahead of you.

Antlr is probably the best parser generator available and is free. The online documentation is Ok but bitty. Finding the bits you need and then working it all out can be hard work.

This book gathers everything into one place in a consistent and structured fashion. Parrs prose is easy to read and the book avoids starting simple and then suddenly dropping the reader straight in at the deep end after the first couple of chapters.

The main example in the book is a simple calculator that supports variable assignment (something of a staple with all parser generators) and it's enough to be getting on with, but it would have been nice to have it gradually expanded on through the book to a small language with error recovery and meaningful error messages.

Overall though, it's a book full of useful information, not just on Antlr but language design and parsing in general. It's well written and presented and should get you going with Antlr *3.0* and provide reading material for some time to come.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback Verified Purchase
Ultimately I was unable to extract enough information from this book to accomplish the task before me. It is not organised as reference work and is not comprehensive as a tutorial. For me this felt like a collection of hints, which might have been adequate if I had had a flesh-and-blood expert on hand to fill in the gaps or explain the significance of the hints.

If you acquire this book because it has the words "definitive" and "reference" in its title you are likely to be disappointed.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
0 of 40 people found the following review helpful By Kayed A. Alshammari on 22 Feb. 2009
Format: Paperback
I spent a long time trying to install the software on my windows machine. The site had sputter of advice but not a single place to go for a new users. There are things about tar etc for linux and even how to set classpath on Windows, but not how to install it.It fails to mention that in the book & on the site.

After more than 10 yrs, this software is still targeted for geek audience.
Makes one really mad!
5 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 21 reviews
25 of 25 people found the following review helpful
A Perfectly Pragmatic Guide! 12 Jun. 2007
By Joshua Benuck - Published on
Format: Paperback
If you have any interest in compiler design, building translators, building intelligent editors, code generation, understanding what goes into building your own computer language, or just how to use ANTLR v3 then you may want to get a copy of this book.

This book is all about ANTLR. ANTLR is a tool you can use to build compilers and interpreters for computer languages, but don't let that scare you off. With the increasing interest in domain specific languages, bulding intelligent editors, code generation, and model driven development books like this are becoming ever more important. Terence Parr has made the topic far more approachable than any other book I have read (or attempted to read) on the topic.

In the first few chapters the author walks readers through the phases of parser construction using language that is approachable and easy to understand. He explains the needed principles and demonstrates their application with well chosen examples.

This is followed by a quick tour of how one might use ANTLR. I love the approach taken in this chapter as it takes a small example and shows two different ways to approach the problem using ANTLR. This is coupled with explanations describing when you want to use one approach over another.

The middle section of the book goes into depth on the various aspects of ANTLR. This is the reference section. Don't expect to be able to read these chapters one after another in quick succession. There's just too much to take in all at once!

The text is littered with references both forward and back to other sections and topics of interest. You can tell the author has spent a lot of time working with compiler construction by the breadth and depth of information presented. I really liked the motivating examples he gives for certain ANTLR features such as the need to emit imaginary tokens when lexing python (see page 94 in chapter 4).

The first chapter of part three of the book delves into the depths of the parsing algorithm used in ANTLR since you will need to understand it when you run into parsing errors and need to make sense of them.

The remaining chapters are devoted to ways to deal with the problems you may run into when trying to parse various language constructs.

This book has left a very lasting impression on me. I can visualize what goes into an editor like eclipse more fully. I no longer feel that the topic of abstract syntax trees is above my head and I feel I am better equipped to tackle the dragon book. I also understand why lisp programmers say that lisp has no syntax (take a look at the serialized form of the AST from chapter 3 on page 62, it looks like a bunch of s-expressions!).

One more note: ANTLR itself is a domain specific language (DSL) and serves as a prime example of how a DSL can greatly increase the clarity of the solution to a problem if the solution is described in terms native to the problem domain. (I think that's what the folks in the lisp camp have been saying for a long time.) ANTLR helps show the value of having DSLs and this book shows how easy it can be to write one!
24 of 24 people found the following review helpful
Essential purchase for anyone starting with ANTLR 6 Jun. 2007
By Wincent Colaiuta - Published on
Format: Paperback
If you're working with ANTLR then you need "The Definitive ANTLR Reference". It's a reference work, but only in part; the vast majority of the book consists of explanations and examples rather than dry reference material. The reference material is in there, of course, but there's really not a lot of it because ANTLR itself has a very minimal design.

But despite the fact that ANTLR looks like a simple tool on the surface (the rules for building a grammar are few and simple) in reality it is fiendishly difficult to use until you get the knack for it. This book will help you through the difficult early stages of learning how to write ANTLR grammars; it really is the only resource out there that does this in a comprehensive way. Terence Parr somehow manages to take the incredibly dry subject matter of lexer and parser generation and turn it into a witty and entertaining conversation; you really feel as though Terence is speaking to you from across the table.

My only complaint about the book is that it is almost totally Java-centric (all the examples are in Java) despite the fact that ANTLR can target multiple languages (if the book had a little more information about other target languages then it would be a five-star title).
9 of 10 people found the following review helpful
A major comp-sci milestone 6 Jun. 2007
By Robin Davies - Published on
Format: Paperback
The release of ANTLR version 3 represents a major milestone in compiler-compiler technology. LALR and LL(k) parsers, useful as they are, are difficult to master, and often require significant effort to overcome simple problems. Not only does ANTLR's LL(*) parser technology allows one to churn out problem-specific parsers with amazing speed, it also provides an arsenal of tools not found in other compiler-compiler tools: easy AST generation, tree parsers, rewrite rules, multiple language backends, templating. The scope and breadth of ANTLR puts it in a category all by itself.

I'm convinced that ANTLR will become an indispensible tool in any programmer's toolbox. And, by extension, the Definitive ANRL Reference will become an indispensible part of serious programmers' bookshelf.

5 of 5 people found the following review helpful
Serious ANTLR users should have this 16 Jan. 2010
By K. Ferrio - Published on
Format: Paperback Verified Purchase
Well, really, how many *casual* ANTLR users are there? The ANTLR community might be broadly divided into three groups: (1) Terence Parr, the self-described maniac behind ANTLR; (2) the demigods of ANTLR who are slightly more numerous than Terence and have already learned at the School of Really Hard Knocks; and (3) the rest of us, who want to become productive with ANTLR. It's that last group of us who can benefit from this text which softens some of the knocks. To be sure, this book is not a shortcut or substitute for getting your hands dirty and experiencing some frustration. Creating languages is not for slackers. No book can change that. The real value of this text is as an in-depth guide to the guts of ANTLR. It's a very "pragmatic" book and might have been called "The ANTLR Missing Manual" if another publisher had not already locked up that motif. Although the author tries to start from zero knowledge, I think you really need to have worked through at least the main examples at [...] first. Then, you'll be prepared to appreciate what this book has to offer. It's a great field manual for people in the thick of operating the tool.

The critiques (and criticisms) of the strong Java flavor of this book have some basis in fact. But this is, after all, a book about a programming tool written in Java. Professionals should be able to overcome this obstacle, and anyone who tries to find an equal to ANTLR without the Java baggage will quickly discover that learning enough Java to use ANTLR is a comparatively small price to pay.

Final words: Read the second book ("Language Implementation Patterns") first. Actually, read chapters 1, 2, 4, 9 and 10 of that book. Twice. That second book is hardly Java-centric at all and indeed only incidentally about ANTLR. Then get this first book ("The Definitive ANTLR Reference") and get to work. From there, you won't need any more advice from a book review.
6 of 7 people found the following review helpful
Excellent book! 5 Jun. 2007
By Richard L. Burton III - Published on
Format: Paperback
Before leaving for a business trip to Florida, I decided to do some research on ANTLR for work. The book is very well written and brings you into the world of writing your own Lex without having any prior experience. It makes no assumptions about knowing Yacc, Javacc, or any of the other tools out there. I highly recommend this book to anyone in need of creating a DSL (Domain Specific Language), parser, or if you're even attempting to a program to migrate from one language to another.

Very well written, very organized and provides excellent insight into parsers.

Best Regards,

Richard L. Burton III
Were these reviews helpful? Let us know