Insert() public method

public Insert ( System.Item item ) : void
item System.Item
return void
Ejemplo n.º 1
0
        private void Scan(StateSet[] S, int stateIndex, Item item, Terminal terminal, Sentence s, Terminal currentTerminal)
        {
            var state = S[stateIndex];

            if (stateIndex + 1 >= S.Length)
            {
                return;
            }
            StateSet nextState = S[stateIndex + 1];

            if (currentTerminal == terminal)
            {
                var newItem = item.Increment();
                if (item.CurrentPosition != 0)
                {
                    newItem.AddPredecessor(stateIndex, item);
                }
                // Scan can never insert a duplicate because it adds items to the next
                // StateSet, but never adds them more than once
                nextState.Insert(newItem);
            }
        }