Concatenation:
    CSN1String BasicString ExponentExpr*
|   CSN1String BASIC_NAME ExponentExpr*          
        
      
There is no operator for the concatenation operation. Instead, one simply lists the things to be concatenated together.
The lack of a concatenation operator, together with the allowance of spaces in a BASIC_NAME gives rise to an ambiguity: is "foo bar" a single BASIC_NAME or the concatenation of two names? To resolve this, we let BASIC_NAME match as many characters as possible, and then in contexts where there is possible ambiguity, we report an error if a multi-word name is used.
The BASIC_NAME in the second alternative shall not be a multi-word name.