示例#1
0
            public TokenInterProductionBuilder(TokenInterEntry tokenRule)
            {
                _collection = null;
                _entry0     = tokenRule;
                _entry1     = null;
                _entry2     = null;
                _entry3     = null;

                _entryCount = 1;
            }
示例#2
0
            internal                       TokenInterEntry[] CreateArray()
            {
                var entryArray = new TokenInterEntry[_entryCount];

                for (var i = 0; i < _entryCount; i++)
                {
                    entryArray[i] = this[i];
                }

                return(entryArray);
            }
示例#3
0
            private void Add(TokenInterEntry parserEntry)
            {
                if (_entryCount >= Capacity)
                {
                    _collection.Add(parserEntry);

                    _entryCount++;

                    return;
                }

                if (_entryCount == 0)
                {
                    _entry0 = parserEntry;
                }
                else if (_entryCount == 1)
                {
                    _entry1 = parserEntry;
                }
                else if (_entryCount == 2)
                {
                    _entry2 = parserEntry;
                }
                else if (_entryCount == 3)
                {
                    _entry3 = parserEntry;
                }

                _entryCount++;

                if (_entryCount == Capacity)
                {
                    _collection = new List <TokenInterEntry>(Capacity);

                    for (var i = 0; i < _entryCount; i++)
                    {
                        _collection.Add(this[i]);
                    }
                }
            }