Updated documents

Alex Samuel samuel at codesourcery.com
Tue May 9 18:21:23 UTC 2000


dehnert at baalbek.engr.sgi.com (Jim Dehnert) writes:

  Jim> Please take a good look at the once-again-modified nested name
  Jim> grammar 

I'm having a hard time wrapping my brain around this one.  For one
thing, there's no way for a <compound-name> to start with a namespace's
<source-name>, I think.  Either one of these productions

    <compound-name> ::= <component-name>
    <unqualified-name> ::= <namespace source-name>

is required.

However, can we dispense with some more of C++ syntax and simplify
this?  For instance, these rules I think generate the manglings we
want (though they also produce more illegal syntax, like two sets of
template args in a row):

    <nested-name>     ::= N [<CV-qualifiers>] <scoped-name> E

    <scoped-name>     ::= <substitution>
		      ::= <scope-component>
		      ::= <scoped-name> <scope-component>
		      ::= <scoped-name> <template-args>

    <scope-component> ::= <source-name>
		      ::= <operator-name>
		      ::= <special-name>
		      ::= <builtin-type>
		      ::= <function-type>
		      ::= <array-type>
		      ::= <pointer-to-member-type>

Thoughts?

Regards
Alex




More information about the cxx-abi-dev mailing list