[QUERY] C++ ambiguties -- is this right?

jlilley@empathy.com (John Lilley)
7 Jan 1997 12:18:37 -0500

          From comp.compilers

Related articles
[QUERY] C++ ambiguties -- is this right? jlilley@empathy.com (1997-01-07)
| List of all articles for this month |

From: jlilley@empathy.com (John Lilley)
Newsgroups: comp.std.c++,comp.compilers
Date: 7 Jan 1997 12:18:37 -0500
Organization: Nerds for Hire, Inc.
Keywords: C++, parse, question

I have a question concering the dreaded declaration/expression
ambiguities in C++. This is how my C++ parser treats the cases
described below. Am I handling this right?

Context: this is in a code block where statements are parsed.
Assuming that declarations with no declaration-specifiers are allowed,
then I parse this:

        g(int(x), int(y)), h(int(z), int(3));

as declaring g as a function, and h as a variable with (too many)
initializers. This bothers me -- since it is not valid to declare
variables with no declaration-specifiers, then should this
interpretation be rejected in favor of a comma-expression calling g()
and h()?

This one:

        g(int(x), int(y)), h(int(z), int(3)), 5;

I parse as a comma-expression calling g() and h() and finally yielding

I'm unclear as to the status of declarations with no
declaration-specifiers. Are they still allowed in the latest draft?
Even if they are disallowed, is this sort of stuff still a practical
consideration for C++ parser wishing to handle old-style function

john lilley

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.