Exemple #1
0
        public void AddDocument(FeedItem doc)
        {
            // merge new labels into existing labels
            foreach (Label newLabel in doc.Labels)
            {
                Label duplLabel = Labels.Find(lbl => lbl.Name == newLabel.Name);
                if (duplLabel != null)
                {
                    duplLabel.Count    += newLabel.Count;
                    duplLabel.Frequency = 0;                     // reset
                }
                else
                {
                    Labels.Add(newLabel);
                    newLabel.Frequency = 0;                     // reset
                }
            }

            // recalculate frequencies
            WordsCount += doc.WordsCount;
            foreach (Label label in Labels)
            {
                label.Frequency = (double)label.Count / WordsCount;
            }

            LikedDocs.Add(doc.Id);
        }
Exemple #2
0
        public void Jump(string name)
        {
            Label label = Labels.Find(x => x.Name == name);

            if (label != null)
            {
                Counter = label.Index;
            }
        }
 public LabelSe Label(Predicate <ElementSe> predicate)
 {
     try
     {
         return(Labels.Find(predicate));
     }
     catch (Exception)
     {
         return(null);
     }
 }
Exemple #4
0
 public void MakeLabel(string name)
 {
     if (Labels.Find(x => x.Name == name) == null)
     {
         Labels.Add(
             new Label()
         {
             Name  = name,
             Index = Counter - 1
         }
             );
     }
 }
Exemple #5
0
        public void LoadLabel(string name, char register, int lineNumber)
        {
            Label label = Labels.Find(x => x.Name.Equals(name));

            if (label != null)
            {
                throw new LabelException("Label Already Exists On Line: " + label.LineNumber + 1);
            }

            int regIndex = Registers.FindIndex(x => x.Name.Equals(register));

            Labels.Add(new Label(name, regIndex, lineNumber + 1));
        }
Exemple #6
0
        public void ExecuteDecrement(string name, ref int index)
        {
            Label label = Labels.Find(x => x.Name.Equals(name));

            if (label == null)
            {
                throw new LabelException(string.Format("Label '{0}' Doesnt Exist", name));
            }

            Register register = Registers[label.RegisterIndex];

            if (register.Value > 0)
            {
                register.Value--;
                index = label.LineNumber - 1;
            }
        }