NAME
    PPI ( Parse::Perl::Isolated ) - Parse and manipulate Perl code

DESCRIPTION
    This is a checkpoint upload for the current state of PPI at the end of
    April 2003.

STATUS
    Tokenizer
        The tokenizer now has something close to it's final API completed.
        You should however expect changes. It now runs about 25% faster,
        some innacuracies have been fixed, and the memory overhead for
        tokenized code has been significantly reduced. The Tokenizer can be
        considered complete, but with some minor bugs.

    Lexer
        The basic framework of the lexer has been completely replaced. The
        new lexer should be sufficient, but the lex logic is far from
        complete, and so the parse tree may look kind of odd, but works for
        basic statements.

        The classes and methods are roughly completed for the basic parse
        tree manipulation, but more advanced filters and such are yet to be
        written. Overall, the lexer is considered about half complete.

    Syntax Highlighting
        The syntax highlighter is virtually unchanged, except that instead
        of working from an ( old style ) PPI::Document object, it pulls
        directly from a Tokenizer. This is temporary, and you should expect
        the entire PPI::Format tree to be overhauled and largely replaced
        once the lexer is completed.

    Other Functionality
        Given their current state, I have removed the entire PPI::Transform
        and PPI::Analysis trees from the upload. They are totally out of
        date, and will be replaced as the

    Documentation
        I have started on the very beginning of the manual, which can be
        found at PPI::Manual. It's raw, incomplete, and subject to change.

TO DO
    Tokenizer
        Further optomization work need to be done, and fix any bugs as they
        come to light. Also, further fragments of token manipulation code
        need to be added to the PPI::Token tree.

    Lexer
        PPI::Statement::* and PPI::Structure::* classes need to be written,
        and the logic to tell what type of statement or structure something
        is. The lexer itself than needs to use this analysis to build the
        tree correctly.

        A filter/transform framework needs to be created on top of the basic
        lexer, to provide for the ability to add higher lever logic and
        capabilities.

    Other Stuff
        PPI::Format needs to be created properly. PPI::Analysis packages
        will need to be written... but they are likely to be largely third
        party, later.

        Replacements or equivalents are needed for current methods that do
        POD extraction... some form of auto-doc needs to be written.

    Documentation
        Both used manuals and API documentation needs to get written.

SUPPORT
    None. Don't use this for anything you don't want to have to rewrite. To
    help contribute, contact the author.

AUTHOR
        Adam Kennedy
        cpan@ali.as
        http//ali.as/

COPYRIGHT
    Copyright (c) 2002-2004 Adam Kennedy. All rights reserved. This program
    is free software; you can redistribute it and/or modify it under the
    same terms as Perl itself.

    The full text of the license can be found in the LICENSE file included
    with this module.

