Change 20080820-dda-z by [EMAIL PROTECTED] on 2008-08-20 16:47:43 EDT
    in /Users/dda/laszlo/src/svn/openlaszlo/trunk-c
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Allow public/protected/private/internal as identifiers; better error messages for other keywords

New Features:

Bugs Fixed: LPP-6576 [Syntax error without reporting file name or line number w/ 4.1]

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

Documentation:

Release Notes:

Details:
    The two problems discussed in the JIRA are:
- 'public/protected/private/internal' are not allowed as identifiers
      - when certain kinds of errors occur, no line number is given

The first of these is straightforward to fix - public/protected/ private/internal
    are no longer keywords in the grammar, but they are recognized as
'special' namespace identifiers. This allows them to be also used as names of classes, vars, etc. so that previously working programs that happened to use 'public' as the name of a view, or other variable, can continue to work.

The second is more difficult to solve in the general case - syntax errors are apparently not well handled by our version of JavaCC. Upgrading to a newer JavaCC is not a trivial exercise - I did spend a few hours on it, and it may be something we want/need to do eventually. For the time being, I ensured that every keyword known in our grammar can either be used as an identifier for view, etc. *or* it is known by the tag compiler to be forbidden, so a proper error message can be given. This does not completely solve the general problem of being able to create programs that have mysterious syntax errors, but it should solve to class of problems where a view or other tag is named with a keyword.

Tests:
    - Test case given in LPP-6576.

- Enhanced the same test case using all keywords found in Parser.jjt, for example <view name="true"/> will no longer give a mysterious error message.

- Regression: smokecheck (DHTML,SWF8), lzpix (ALL), weather (ALL), hello (SWF9)

Files:
M      WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptCompiler.java
M      WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/parser/ ASTModifiedDefinition.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080820-dda-z.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