code: function() {
        switch (this.type) {
          case _Numeric:
          case _String:
          case _RegularExpression:
          case _Boolean:
          case _Null:
            return this.parseLiteral();
          case _Identifier:
            return this.parseIdentifier();
          case _Keyword:
            return this.parsePrimaryKeywordExpression();
          case _Punctuator:
            return this.parsePrimaryPunctuatorExpression();
          case _Template:
            return this.parseTemplateLiteral();
          default:
            this.unexpected();
        }
      }
docs: ECMA-262 12.2 Primary Expression