JE, version 0.005

JE is a pure-Perl ECMAScript (JavaScript) engine.

This is still an alpha release. All JavaScript syntax should be parsed
and executed correctly now. The core objects are not yet complete.

If  you have the time and the interest,  please experiment with this
module. If you have any ideas as to how the API could be improved or
reworked, please e-mail me.


CHANGES IN THIS RELEASE

The parser has been rewritten with recursive subroutines (it used to
use recursive  regexps).  It  runs  faster  now  and  doesn't  cause
bus errors.

The Error and SyntaxError classes now actually work. Before I just
threw them together without even testing them.

The Object constructor is now according to spec.

URI-handling functions and the URIError class have been added.

The rest of Object.prototype's properties have been added.


TO DO

- Finish the core object classes
- Implement exception handling and helpful error messages
- Write lots and lots and lots of tests, at the same time fixing all
  the bugs they bring to light.
- Verify that tainted JS code runs safely (I'm not sure this is feasible)
- Deal with circular references somehow
- Optimise JS functions by turning them into Perl subs (but run benchmarks
  first to see whether this would actually speed things up) (I'm having
  second thoughts about this one)


INSTALLATION

The easiest way to install this module is to use the CPAN module:

    [sudo] perl -MCPAN -e "install JE"

Or you can use the following:

    perl Makefile.PL
    make
    make test
    [sudo] make install


DEPENDENCIES

This module requires Perl 5.8.0 or later.


DOCUMENTATION

After installing, you can find documentation for this module with the 
perldoc command.

    perldoc JE


COPYRIGHT AND LICENCE

Copyright (C) 2007 Father Chrysostomos

This program is free software; you may redistribute it and/or modify
it under the same terms as perl.
