[antlr-interest] Merry Xmas Terence!

Gary R. Van Sickle g.r.vansickle at att.net
Wed Dec 24 14:11:08 PST 2008


You sold another book - my freshly-minted copy arrived yesterday! ;-)

Definitely answered many questions, raised others.  Bottom line is, as I
know others less lingustic-analysis-ly challenged than myself have said, it
looks to me like you really have something game-changing here.  All the
LL/LR/GLR/etc/etc/etc theory aside, you have created a tool that is far more
usable than lex/yacc/flex/bison, while at the same time is significantly
more powerful.

I also want to compliment you on your writing.  Your book is extremely well
written and organized, which simply can't be said for the vast bulk of
CS-targetted books.  It hits exactly the right balance between "here's how
to use the tool", "here's what's going on under-the-hood", and "here's the
underlying theory".  Truth be told, I haven't read the section on LL(*)
theory yet, but that's exactly what I'm getting at - I didn't have to in
order to get what I needed from the book.

One specific thing I'd like to comment on: I've seen others on the Internet
(you heard of this thing?  It's on computers now. ;-)) claim the book is too
"Java-centric", but I can't really say that's a valid criticism.  Yes, all
the non-ANTLR-grammar code is Java, but I came to learn about ANTLR, and
that's what I got.  The Java that's there isn't anything heavy-duty, and
mostly is either boilerplate to run the built recognizers, or short,
easy-to-understand code in the actions.  It simply isn't going to trip up
anyone who is going to be capable of taking away anything from the meat of
the book anyway.  And anyway, you had to pick *some* languge, and Java is
probably as good as any for this pedagogical purpose.  And this is coming
from a guy who has absolutely zero love for Java.

What I would suggest is the addition of an Appendix showing the mappings
between the Java constructs shown in the book and how you have to do things
if you're target language is something other than Java.  I'm thinking about
things like Java: "$id.text" => C: "$id.text->chars", maybe in nice tables,
one for each "Java Target => LanguageX Target" mapping.  I know this may be
a quickly moving target, so maybe make it a web-only thing and direct people
to it in the book.

Here's to a job well done, and continued success in the new year!  I can't
wait for ANTLR V4[1], so I don't have to flatten my list grammars (;-))!

-- 
Gary R. Van Sickle
[1] Rumor control: No, there's no ANTLR V4 being worked on that I'm aware
of, see the smiley at the end of that sentence.



More information about the antlr-interest mailing list