public BnfTermSet GetReduceReduceConflicts()
        {
            var result = new BnfTermSet();

            result.UnionWith(Conflicts);
            result.ExceptWith(ShiftTerms);
            return(result);
        }
        public string ToString(BnfTermSet exceptLookaheads)
        {
            string s = Core.ToString();

            if (!this.Core.IsFinal)
            {
                return(s);
            }
            var lkhds = new BnfTermSet();

            lkhds.UnionWith(Lookaheads);
            lkhds.ExceptWith(exceptLookaheads);
            s += " [" + lkhds.ToString() + "]";
            return(s);
        }