private boolean Range()
    {
      begin("Range");
      if (!next('[')) return reject();
      if (!Char()) return reject();
      if (!next('-')) return reject();
      if (!Char()) return reject();
      if (!next(']')) return reject();
      Space();
      sem.Range();
      return accept();
    }