[antlr-interest] new book organization question

Monty Zukowski monty at codetransform.com
Wed Aug 20 08:27:12 PDT 2008


The flow between subsystems is by far the most difficult part of my
ANTLR parsers/analyzers/code generators to explain to new hires.  I've
found it very helpful to take a single expression and show what is
happening with it in each phase.  I also have a summary document which
gives the conceptual flow through the system and what files are
involved in each phase.

A changeset has been quite a useful tool to show which files need to
be modified when altering the entire system, such as when adding a new
built-in type, which, in my system, affects the lexer for adding a new
imaginary node, some support files which deal with type coercion, some
java files which represent our program structure, and the string
template for code generation.  We use trac as our bug tracking system
and it's quite easy to link to any committed changeset and it shows a
nice html diff.

Regarding I-VI, I don't see much to argue about.

Monty

P.S. I can go into much greater detail via voice if you like.

On Tue, Aug 19, 2008 at 6:11 PM, Terence Parr <parrt at cs.usfca.edu> wrote:
...

> As for the organization of the book, I'd like to break the book up
> into different parts/units according to language application
> categories (reader, generator, interpreter, translator, etc...).  Each
> part will use techniques and patterns identified in the previous
> parts.  Each part would start out with an overview of the application
> category and then dig in solving problems rather than using a dry list
> of pattern definitions. Lets solve some of the problems in order to
> identify key patterns and principles. This means a traditional book
> with parts, chapters, and sections. The parts would be in this order
>
> I. Introduction
>  basic architectures, describe application categories,
>  introduce language implementation ideas.
>
> II. Generators (before readers because it's easier to understand)
>
> III. Readers (parsing, introduces all of the intermediate data
> structures too)
>
> IV. Semantic analysis, type checking, symbol tables
>
> V. Interpreters
>
> VI. Translators
>
> Once we argue about this for awhile, I will give you the list of
> examples I want to include. :) Any and all thoughts welcome even if
> it's something like "take a writing class" ;)
>
> Ter
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>


More information about the antlr-interest mailing list