The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.006

  • Alpha release.
  • Added TypeError and RangeError classes
  • Finished the Function and Array classes (except for Function.prototype.toString)
  • JE::String now has an exportable 'surrogify' function
  • Added some methods (toString, valueOf, charAt, charCodeAt, concat, indexOf, lastIndexOf, localeCompare) to String objects, and added the String constructor to the global object
  • Found and fixed quite a few bugs in the parser: o || && were parsing as | | and & & o Hexadecimal literals would cause syntax errors o The parser would create a garbage tree when certain infix ops were followed by compound expressions that could con- tain the same op (i.e., [], {}, () and function literals). (I fell into the 'sub foo { /regex(.*)/; foo(); print $1}' trap.) o Bracketed subscripts did not allow whitespace before the closing bracket o "a++\nb++" without a semicolon between the two statements was causing a syntax error because -- and ++ were gobbling up trailing whitespace. o <<= and >>= and >>>= were causing syntax errors o for loops with variable declarations in the header weren't parsing o continue/throw/break/return were not parsing correctly when followed by a line break o 'with' was parsing as 'while' (!) o switch and try blocks weren't parsing correctly

Documentation

JavaScript types and objects

Modules

JE
Pure-Perl ECMAScript (JavaScript) Engine
JavaScript boolean value
ECMAScript parser and code executor for JE
JavaScript lvalue class
JavaScript null value
JavaScript number value
Base class for all JavaScript objects
JavaScript Array object class
JavaScript Boolean object class
JavaScript Error object class
JavaScript RangeError object class
JavaScript SyntaxError object class
JavaScript TypeError object class
JavaScript URIError object class
JavaScript function class
JavaScript Number object class
JavaScript regular expression (RegExp object) class
JavaScript String object class
JavaScript scope chain (what makes closures work)
JavaScript string value
JavaScript undefined value
Pure-Perl ECMAScript (JavaScript) engine

Provides

in lib/JE/Code.pm
in lib/JE/Code.pm
in lib/JE/Code/Grammar.pm
in lib/JE/Code.pm
in lib/JE/Code.pm
in lib/JE/Object/Function.pm
in lib/JE/Object/Function.pm