code: private IdentifierToken eatId() {
      if (peekId()) {
        return eatIdOrKeywordAsId();
      } else {
        reportExpectedError(peekToken(), TokenType.IDENTIFIER);
        if (peekIdOrKeyword()) {
          return eatIdOrKeywordAsId();
        } else {
          return null;
        }
      }
    }
docs: Consumes an identifier token that is not a reserved word.
  @see "http://www.ecma-international.org/ecma-262/5.1/#sec-7.6"