As I have announced here before, I have been working on rewriting part of
Jasper.  There are several goals for the new Jasper:

    1. To reorganize/simplify parsing and code generation to make it
       more maintainable and yet runs faster.
    2. To be used as a basis for reference implementation for JSP1.3.
    3. To be used as a basis for performance optimizations, especially
       with custom tags.

The majority of work has been concentrated on the compiler engine: the parser,
the syntax checker, the attribute validator, and the code generator.  Most
of the utilities (except those related to parsing) and compiler environments
(e.g. taglib infos), and runtimes have not been changed.  The major change
to the compiler has been the introduction of nodes as an internal
representation of a JSP page or JSP document.  Nodes are created by the
parsers; and they are read, annotated, or transformed by other phases of
the compiler.

The compiler has added some new features (e.g. JSP id, pluggable error
handlers); and it conforms the specs better, in terms of parsing and
syntax error checking.  Not much has changed in the servlet (java) file
produced by the code generator, to maintain backward compatibility.  Of
couse this will be changed, as we move to goal 2 and 3.

I have been doing it so far in my own sandbox.  The reason for this is not
to keep it a secret, but to avoid de-stablizing the current tomcat,
since a lot of my early work was mainly experimental.  There have
been interests recently in making the new Jasper public, so I am going to
do that, even though it is not ready to replace the current jasper yet.

My plan is to create a new jasper directory (jasper2) under jakarta-tomcat-4.0,
and to modify build.xml to allow for building jasper from sources under either
jasper(the default) or jasper2 (the new jasper).  This arrangement allows
both the existing jasper and the new jasper to coexist and be co-developed
without affecting each other.  One drawback is that some files are duplicated
in both directories and bugs fixed in one need to be duplicated in the other.
But hopefully such an arranagement is only temporary and when the new jasper
is in good enough shape, it will replace the existing one.

I plan to put back the new japser source tree in a day or two.  If anyone has
comments, concerns, or objections, please let me know.  Of course, anyone
interested in contributing to the new jasper development is also welcome.


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

Reply via email to