jscc-parser
Version:
A LALR(1) Parser Generator for JavaScript written in JavaScript.
199 lines (176 loc) • 7.84 kB
Plain Text
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