Beispiel #1
0
        private static FPTransition ParseStringToTransition(FPTransitions transitions, string source)
        {
            List <string> arrayOfTransition = new List <string>();
            string        temp = source.Trim();

            string[] itels = temp.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            arrayOfTransition.AddRange(itels);
            FPTransition transition = ParseArrayToTransition(transitions, arrayOfTransition);

            return(transition);
        }
Beispiel #2
0
        private static FPTransition ParseArrayToTransition(FPTransitions transitions, List <string> sourceArray)
        {
            FPTransition transition = new FPTransition();
            int          size       = sourceArray.Count;

            for (int i = 0; i < size; ++i)
            {
                FPItem item = ParseStringToItem(transitions, sourceArray[i]);
                transition.AddItem(item, transitions.mDuplicate);
            }
            return(transition);
        }
Beispiel #3
0
        public static FPTransitions ParseFromArray(List <string> sources, bool duplicate)
        {
            FPTransitions transitions = new FPTransitions(duplicate);
            int           isize       = sources.Count;

            for (int i = 0; i < isize; ++i)
            {
                FPTransition transition = ParseStringToTransition(transitions, sources[i]);
                transitions.AddTransition(transition);
            }
            return(transitions);
        }
Beispiel #4
0
        void SortByTable(FPTransition transition, FPNodeHeadTable nodeTable, ref Queue <FPItem> result)
        {
            int size = nodeTable.Size();

            for (int i = 0; i < size; ++i)
            {
                if (transition.ContainItem(nodeTable.At(i).mOwner))
                {
                    result.Enqueue(nodeTable.At(i).mOwner);
                }
            }
        }
Beispiel #5
0
 public void AddTransition(FPTransition transition)
 {
     mTransitions.Add(transition);
 }