Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Updated documents


  • To: dehnert@xxxxxxxxxxxxxxxxxxxx (Jim Dehnert)
  • Subject: Updated documents
  • From: Alex Samuel <samuel@xxxxxxxxxxxxxxxx>
  • Date: Tue, 9 May 2000 11:21:23 -0700 (PDT)

dehnert@xxxxxxxxxxxxxxxxxxxx (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