Identifiers

Syntax

x
*
q::x
q::[k]     ;
(q)::x     ;
(q)::[k]   ;
@x
@[k]
@q::x
@q::[k]
@(q)::x
@(q)::[k]
    PropertyIdentifier :
      Identifier [when keywords are enabled]
      IdentifierName [when keywords are disabled]
      *
    Qualifier :
      PropertyIdentifier
      ReservedNamespace
    ReservedNamespace :
      public
      private
      protected
      internal
    SimpleQualifiedIdentifier :
      PropertyIdentifier
      Qualifier :: PropertyIdentifier
      Qualifier :: Brackets
    ExpressionQualifiedIdentifier :
      ParenExpression :: PropertyIdentifier
      ParenExpression :: Brackets
    NonAttributeQualifiedIdentifier :
      SimpleQualifiedIdentifier
      ExpressionQualifiedIdentifier
    QualifiedIdentifier :
      @ Brackets
      @ NonAttributeQualifiedIdentifier
      NonAttributeQualifiedIdentifier