burtonator <[EMAIL PROTECTED]> writes:

> Scott Sanders <[EMAIL PROTECTED]> writes:
> <snip>
> 
> > I have written something close to what Torque does over in Turbine land, except
> > that it generates SQL schema, Java objects, and the webapp to access said
> > objects.  I can tell you that it *is* complicated, but it is maintainable.  The
> > minute I catch myself editing the output, I ask myself 'Why?', and then modify
> > the generator.  The only valid use case for modifying the generated code is to
> > test something before you put it back into the generator.
> 
> This only applies to a small minority of users (a better name would be
> developers).
> 
> The real problem comes in when you need to modify something that is project
> specific.  This can't be folded back into the generator :(

In which case you need to modify the inputs and/or the transformation
algorithm (just like you can do with XJay).  With a flexible enough
generator, you rarely have to touch its internals.

> > Modify the generator.  If you created it, and you have the source, you can
> > modify it, no?
> 
> Technically but it isn't realistic to expect everyone to modify their code
> generators.  I don't have the bandwidth to hack on every tool I use. :(

True, but something like ANTRL is already fully functional and
flexible.  It would require little modification.

> I think that the best solution for the JXR2 stuff, since I wrote the JXR1 stuff
> and have a decent perspective, is to keep the current parser (it is simple,
> clean, small) and just have it generate SAX events.  This way we can have the
> best of both worlds.  A small fast HTML output engine and a more robuts and open
> XML output so that we can do XSLT (not that the latter will be slower).

What about use of an ANTLR parser that generates XHTML?  ANTLR appears
to use the same sort of callback mechanism that SAX employs.  Having a
pre-defined Java grammar scores heavy points, IMHO.  :)

Daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to