Much simpler. Approved. (And I apologize for making the suggestion that sent you down the wrong path in the first place. :)

On 2008-01-07, at 17:34 EST, Donald Anderson wrote:

Change 20080107-dda-C by [EMAIL PROTECTED] on 2008-01-07 16:44:28 EST
   in /Users/dda/laszlo/src/svn/openlaszlo/branches/devildog
   for http://svn.openlaszlo.org/openlaszlo/branches/devildog

Summary: SWF9: Fix grammar glitches in support for ...rest and optional parameters

New Features:

Bugs Fixed: LPP-5234

Technical Reviewer: ptw (pending)
QA Reviewer: hminsky (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Previously, parsing of functions with optional or variable parameters had glitches. The known problems were that seeing a 'public' (and presumably any visibility keyword) before function caused a function with optional parameters to give an error. Also, if the function was the first item in the class (before any var) this would cause an error. To fix this, I chose to simplify the grammar. Before, the rules that any optional parameters must appear after regular parameters, and that the vararg parameter must appear last was built into the rules of the grammar. This made the grammar complicated, and required extra LOOKAHEAD macros to resolve ambigulities. Now the grammar is simple, and the rules for the ordering of kinds of parameters are enforced after the parsing for each element is complete. All the strange error cases related to this part
   of the grammar now appear resolved.

Tests:
Tried the two cases reported by Henry: 'public' appearing before function with opt args,
   and function with opt args appearing first in a class.

   Tried the test/optargs.lzs case for coverage of legal cases.

Added some (commented) illegal cases in test/optargs.lzs to test coverage for illegal cases.

Files:
M      test/optargs.lzx
M      WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080107-dda-C.tar



--

Don Anderson
Java/C/C++, Berkeley DB, systems consultant

voice: 617-547-7881
email: [EMAIL PROTECTED]
www: http://www.ddanderson.com





Reply via email to