PROPOSAL: open and close brace optional for single statement try, catch, finally, method declaration (original) (raw)

Tom Hawtin Thomas.Hawtin at Sun.COM
Mon Mar 30 09:28:29 PDT 2009


Neal Gafter wrote:

On Mon, Mar 30, 2009 at 8:07 AM, Tom Hawtin <Thomas.Hawtin at sun.com> wrote:

I think that is inappropriately pedantic. JLS 3rd Ed, 14.5/p368: 'the if statement of the Java programming language suffers from the so-called "dangling else problme,".' I don't know how parser implementations tend to handle the issue. Parser implementations tend to handle the issue by following the grammar in the JLS, which is not ambiguous. See the discussion following your quote.

A reason why I wasn't sure is that there are two Java grammars in the JLS. The (non-normative, IIRC) Chapter 18/p585 states:

"The grammar presented piecemeal in the preceding chapters is much 

better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation."

The grammer contains:

 Statement:
     if ParExpression Statement [else Statement]

I believe that causes an ambiguity.

Are the quoted statements dated, wrong or something else?

Tom Hawtin



More information about the coin-dev mailing list