UNPKG

jscc-parser

Version:

A LALR(1) Parser Generator for JavaScript written in JavaScript.

199 lines (176 loc) 7.84 kB
JS/CC LALR(1) Parser Generator Copyright (C) 2007-2012 by Phorward Software Technologies, Jan Max Meyer http://jscc.phorward-software.com ++ contact<<AT>>phorward-software<<DOT>>com -------------------------------------------------------------------------------- [+] New feature [-] Bugfix ------------------------------------------------------- JS/CC v0.36 (not officially released) ------------------------------------------------------- Changes the licensing terms from Artistic License version 1.0 to 3-clause BSD-open source license, in order to become more interesting for other open source projects. The development on JS/CC has been deceased since the last few years by the core-developers. Any help on the project, also a new project maintenance would be highly appreciated! ------------------------------------------------------- JS/CC v0.35 (not officially released) ------------------------------------------------------- Inserted many changes and improvement contributions written by Sergiy Shatunov. This is a testing stage only, there will be many greater changes also in future. WARNING: This version is under heavy development, and defines a snapshot used for several revision processes. Not all features will work properly or had been tested! [+] Changed all "new Array()", "new Object()" and "new String()" calls into a syntax-specified format [+] Added create_constructor function for creating copy constructors for types used in code [+] Replaced bitset-Functions with a new BitSet type (Constructor+Prototype) [+] Moved parser function, debug functions and data into (function(){...})(); block [+] Moved some of generated parts of data and code outside lexer and parser functions [+] Added json2.js for support on Mozilla platforms (Rhino/Spidermonkey) [+] Added nodejs platform ------------------------------------------------------- JS/CC v0.34 (formerly called 0.33.1, not released) ------------------------------------------------------- [+] Rewritten style of parser template generation, so it is not required anymore to maintain five single parser templates; The logic is now general, and input/output functions are implemented for all platforms in its own file. You can find the new parser generation system in jscc/src/driver ------------------------------------------------------- JS/CC v0.33 (not released) ------------------------------------------------------- [+] Adds a new feature "default production" for testing purposes into JS/CC. This feature allows for better error reporting and recovery, because on wrong tokens, the parsers will continue reducing until a final shift is required - and this invokes error recovery and reporting. ------------------------------------------------------- JS/CC v0.32 (build Dec 29, 2008 - not released) ------------------------------------------------------- [+] Rewritten parser drivers with new Parser Control Block and integrated line- and column-calculation within the lexical analyzer. This is for testing now only! Yet tested parser drivers: + Rhino + Spidermonkey + WebEnv ------------------------------------------------------- JS/CC v0.31 (build Dec 16, 2008 - not released) ------------------------------------------------------- [+] Extended control on lexical analysis; Using the regular expression matching rules, the lexer's behavior can now be modified at recognition time, by simply using a "continue" to continune lexical analysis on the next tokens, or optionally a "break", to stop the lexer and return the currently matched token. The whitespace-symbol is now declared deprecated with this new possibility. [+] Improved error reporting in JS/CC, now with line numbers and filename [+] New error resynchronization token, which is simply the tilde-symbol '~'; It can be used to defined error resynchronization rules that are entered when parse errors occur, to continue the parse at a lower level within the grammar [+] Rewritten error recovery in all parser drivers, using an error token instead of panic-mode error recovery ------------------------------------------------------- JS/CC v0.30 (build Nov 24, 2008) ------------------------------------------------------- [-] Bugfix with whitespaces symbol [-] Bugfix with nonassociative symbols, it works now! [+] Source directory cleaned up ------------------------------------------------------- JS/CC v0.29 (build Nov 17, 2008 - not released) ------------------------------------------------------- [+] Support for Google's V8 JavaScript Engine added [+] Support for Mozilla/Spidermonkey smjs scripting shell added. [+] JS/CC is now maintained and continued under Linux, the Windows version will continue to be supported [+] Completely rewritten build-system optimized for GNU make: + Rhino version under *nix + Spidermonkey version under *nix + V8 version under *nix + WebEnv version, maintained under *nix + JScript version, both for Windows Script Host and JScript.NET for Windows [+] JS/CC command-line version is now behaving more *nix-like: Lesser output of information; When running successfully, no output is generated to stdout/stderr. [+] Several changes in the manual coming with the new build-system, fixed some mistakes ------------------------------------------------------- JS/CC v0.28 (build Aug 25, 2008 - not released) ------------------------------------------------------- [-] Bugfix in FIRST-set computation: Nullable nonterminals produced wrong FIRST-sets in some special cases. Is now solved, for beta. ------------------------------------------------------- JS/CC v0.27 (build Aug 22, 2008) ------------------------------------------------------- [-] Bugfix in terminal semantic action codes: %offset hold a wrong value (the offset behind the token!) [-] The placeholder %source in terminal semantic action codes was not implemented, but mentioned in the manual! ------------------------------------------------------- JS/CC v0.27 (build Jun 23, 2008) ------------------------------------------------------- [+] Visual parse tree construction in web environment [+] Zoom-in parser and generator outputs in web environment for better readability [+] Some design improovements in web environment [-] Bugfix solved in regular expression matching, a lot of thanks to Radim Cebis ------------------------------------------------------- JS/CC v0.26 (build Feb 18, 2008) ------------------------------------------------------- [-] Some extensions on the manual [-] Now with updated jsccr.js for Rhino (the first v0.26 release came with a v0.25 compile for Rhino!) ------------------------------------------------------- JS/CC v0.26 (build Jan 17, 2008) ------------------------------------------------------- [+] Improved error reporting in JS/CC itself [+] Switch warnings in the web environment [+] Some additional files and changes on port to Mozilla/Rhino JavaScript Engine by Louis P. Santillan ------------------------------------------------------- JS/CC v0.25 (build Jan 04, 2008) ------------------------------------------------------- [+] Bugfix with '$' symbol [+] Smaller changes in the source files ------------------------------------------------------- JS/CC v0.24.1 (build Sept 27, 2007) ------------------------------------------------------- [+] CHANGES log text in root directory (this file ;)) [-] Formatting of the Web-interface [-] Better readable example grammars in the web-interface ------------------------------------------------------- JS/CC v0.24 (build Sept 25, 2007) ------------------------------------------------------- [+] First public release of JS/CC