What's new in the NGS JavaScript Interpreter ============================================ Noteworthy changes in js-0.2.5: - Implemented nested function declarations, e.g. function declarations as statements. - Ported to 64 bit Alpha chip. Noteworthy changes in js-0.2.4: - Security options for the virtual machine to disable insecure methods from the File and System built-in objects. - New global method `print()' that prints its arguments to the system's standard output stream. - User-definable event hooks. - New built-in object `Directory' to access directories. - ECMAScript compatibility fixes in: built-in objects, byte-code operands, compiler - Optimizations in the memory usage. - Simple constant folding optimization for additive expressions. - JavaScript assembler `jsas'. - Many bug fixes. Noteworthy changes in js-0.2.3: * Misc - ECMAScript compatibility fixes in: built-in objects, byte-code operands, compiler - fixed the configure option `--with-pthreads' to resolve the system features Noteworthy changes in js-0.2.2: * Misc - js.h API changes - better ECMAScript support * JSC - do Statement while (Expression); - switch (Expression) CaseBlock - try statement (ECMAScript compatible) - labeled statements - the continue and break statements now support the labeled statements - local variable declarations in for statements - \xHH and \uHHHH escape sequences in string and regular expression literals - strict equals and does-not-equal operators - the `arguments' property of function instance - optimizations and code cleanups Noteworthy changes in js-0.2.1: * New methods: ** global methods - callMethod() to call methods from objects with given array of arguments. - loadClass() extend the interpreter by calling extension entry functions from shared libraries. ** File - chmod() change permissions of a file ** Number - constructor `new Number()' - global method `Number()' invocation * The `js' program - new option -x, --executable to add execute permissions to the generated byte-code files - new warning options: -Wmissing-semicolon, -Wstrict-ecma, -Wpedantic * js.h API changes * Misc - Uses libtool for libraries. Now the libjs can be built to a shared library. - New utility program `jswrap' to create C functions that are implemented in JavaScript. - Automatic semicolon insertion. - Support for regular expression literals. - Support for array initializers. - updates in the byte-code operands - new configure option `--disable-jumps' to uncoditionally disable the `jumps' byte-code instruction dispatch method - ported to Windows 9x/NT Noteworthy changes in js-0.2.0: * The license was changed to GNU Library General Public License LGPL. * JSC - Implemented 'foo'-strings. The character constants are now written as #'a'. - Implemented the mod operand. * Implemented the prototype properties for objects. * Implemented the prototype properties for built-in objects. Now you can define your own properties for built-in objects. * Major cleanups in the memory management: - The interpreter will not exit if memory allocations fail. - Fixed all known memory leaks. - Optimized the heap freelist handling. This reduces the memory consumption noticeably. * Namespace cleanups. * Documentation updates. * Bug fixes and feature updates. Please, see the ChangeLogs for the details.