NJS JavaScript Interpreter
Status

On this page...

Current Status

Current Status

The following items remain to do before NJS 0.3.0 (codenamed "Resurrection") will be released:
  • Rewrite the bytecode compiler in C.
    The new compiler is complete, but awaiting APIs for assembly output and assembly parsing. Also, code must be written to use the new compiler from the library.
  • Rename API calls.
    Rename public functions from js_* to njs_*, structure names from JS* to NJS*, and non-public functions to njspvt_*.
  • Write ECMA262-3 regexp engine.
    Write a regexp engine for ECMA regexps.
  • Rewrite builtin objects with jig.
    Rewrite the ECMA builtin objects using jig, the JavaScript Interface Generator, in order to gain the use of new query and enumeration methods for builtin objects now defined by the JSVM.
  • Write documentation.
    Convert the info documentation into DocBook format, and add sections on jig and the .jsi format.
The following items remain to do before NJS 0.2.6 (codenamed "Requiem") will be released:
  • Fix implementation issues in current release.
    Minor bugs in the 0.2.5 release are being addressed and will be fixed in the 0.2.6 and later bugfix releases.
The following items remain to do before NJS 0.4.0 (codenamed "Reformation") will be released:
  • Write a Unicode library.
    In order to fully comply with ECMA262-3, we need to understand Unicode. This library is intended to provide such a base for NJS.
  • Rework the virtual machine.
    The virtual machine needs to treat functions as first-class datatypes (i.e. as an object with a [[Call]] property). Also, the handling of the global object needs to be improved, with the ultimate goal of being able to have multiple views onto the virtual machine's object tree rooted at different "global" objects (such as with a web browser's JavaScript environment).
Last Modified: Thu Oct 28 19:24:04 2004
Brian Bassett ( bbassett@bbassett.net )