internal void ReferenceBucketFromTarget(PredictionTreeDFAContext context, ProductionRuleLookAheadBucket bucket) { if (this.referencedBuckets == null) { this.referencedBuckets = new Dictionary <ProductionRuleLookAheadBucket, PredictionTreeDFAContext>(); } if (!this.referencedBuckets.ContainsKey(bucket)) { this.referencedBuckets.Add(bucket, context); } }
internal ProductionRuleLookAheadBucket CreateBucket(PredictionTreeDFAContext bucketOwner) { if (this.automationBuckets == null) { this.automationBuckets = new Dictionary <PredictionTreeDFAContext, ProductionRuleLookAheadBucket>(); } ProductionRuleLookAheadBucket result; if (!this.automationBuckets.TryGetValue(bucketOwner, out result)) { this.automationBuckets.Add(bucketOwner, result = new ProductionRuleLookAheadBucket() { Owner = bucketOwner, BucketID = this.automationBuckets.Count + 1 }); } if (!bucketUseCount.ContainsKey(result)) { bucketUseCount.Add(result, 0); } bucketUseCount[result]++; return(result); }