[ 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
|