private boolean Primary()
    {
      begin("Primary");
      if (Name())
      { sem.Resolve(); return accept(); }
      if (Primary_0())
      { sem.Pass2(); return accept(); }
      if (ANY())
      { sem.Any(); return accept(); }
      if (StringLit())
      { sem.Pass(); return accept(); }
      if (Range())
      { sem.Pass(); return accept(); }
      if (CharClass())
      { sem.Pass(); return accept(); }
      return reject();
    }