» Content »pkg://JE-0.051.tar.gz:276696
/ info downloads
JE, version 0.051
- Easy to install (no C compiler necessary)
- Compatible with Data::Dump::Streamer, so the runtime environment
can be serialised
- The parser can be extended/customised to support extra (or
fewer) language features (not yet complete)
(they all have overloaded operators)
Here are its main weakness:
- It's slow (well, what did you expect?).
- It uses lots of memory.
- It leaks memory (to be fixed).
This is still an alpha release, but it fully implements ECMAScript v3,
except for a few seldom-used features like -0.
If you have the time and the interest, please experiment with this
module (or maybe even lend a hand :-). If you have any ideas as to how
the API could be improved or reworked, please e-mail me.
Bug fix: On DragonFly BSD, exp(Infinity) and exp(-Infinity) now cor-
rectly return Infinity and 0, respectively, instead of NaN (I hope).
• Fix t/parse08-regexps.t to work with the new (?^...) syntax in
• constant::lexical is no longer required.
Bug fix: String.prototype.indexOf no longer dies if the starting posi-
tion is greater than the length of the string and perl was built
with -DDEBUGGING. Thanks to Jurgen Weigert for reporting this
- Make the parser extensible/customisable
- Add more helpful error messages
- Determine some logical way of dealing with locale settings (for
String.prototype.localeCompare, et al.)
- Finish writing tests
- Deal with circular references
- Finish making built-in JS properties load lazily
- Finish optimising JS compiled code by turning it into Perl code
- Other optimisations
The easiest way to install this module is to use the CPAN module or
the cpan script:
[sudo] perl -MCPAN -e "install JE"
cpan> install JE
Or you can use the following:
[sudo] make install
This module requires perl 5.8.3 or higher and the following modules:
• Scalar::Util version 1.14 or later
• The TimeDate distribution (more precisely, Time::Zone, Date::Format
• Encode 2.08 or later
For perl versions earlier than 5.9.4 it also requires
Later it will probably require Unicode::Collate.
There is a slight incompatibility with perl version 5.8.3. If you try
to create a regular expression with invalid modifiers, you will get a
warning as well as a SyntaxError. This causes one of the test scripts
(parse08-regexps.t) to fail.
After installing, you can find documentation for this module with the
Or try using man (it's faster, in my experience):
Thanks to Kevin Cameron [ kevin cameron com ] for his contributions,
to Max Maischein [ webmaster corion net ] for letting me use his
to Andy Armstrong [ andy hexten net ],
Yair Lenga [ yair lenga gmail com ],
Alex Robinson [ alex solidgoldpig com ],
Christian Forster [ boronk boronk de ],
Imre Rad [ radimre freemail hu ] and
Craig MacKenna [ craig animalhead com ]
for their suggestions,
and to the CPAN Testers for their helpful reports.
COPYRIGHT AND LICENCE
Copyright (C) 2007-10 Father Chrysostomos
This program is free software; you may redistribute it and/or modify
it under the same terms as perl.