Exemple #1
0
            private void RemoveFalsifiedCases(List <KthSet> alts, MSet <AndPred> falsified)
            {
                if (falsified.Count == 0)
                {
                    return;
                }

                var results = new List <KthSet>(alts.Count);

                foreach (var alt in alts)
                {
                    if (alt.Cases.RemoveAll(t => falsified.Overlaps(t.AndPreds)) != 0)
                    {
                        alt.UpdateSet(alt.Set.ContainsEOF);
                    }
                }
                alts.RemoveAll(alt => alt.Cases.Count == 0);
            }
Exemple #2
0
			private void RemoveFalsifiedCases(List<KthSet> alts, MSet<AndPred> falsified)
			{
				if (falsified.Count == 0)
					return;

				var results = new List<KthSet>(alts.Count);
				foreach (var alt in alts) {
					if (alt.Cases.RemoveAll(t => falsified.Overlaps(t.AndPreds)) != 0)
						alt.UpdateSet(alt.Set.ContainsEOF);
				}
				alts.RemoveAll(alt => alt.Cases.Count == 0);
			}