예제 #1
0
        void DoFill(TAlternativeParserGrpCrossItem AItem)
        {
            int m_who;
            TAlternativeParserGrpItemTFS      mTfs;
            TAlternativeParserGrpItemBase     mBase;
            TAlternativeParserGrpCrossItemOut mOut;
            TAlternativeParserEnlargerItem    Item = GetNew(AItem);

            Item.Basis = true;
            for (int i = 0; i <= AItem.CountBasis - 1; i++)
            {
                Item.AddTfsItem((TAlternativeParserGrpItemTFS)(AItem.GetItemsBasis(i)));
            }

            for (int i = 0; i <= AItem.CountOut - 1; i++)
            {
                mOut        = AItem.GetItemsOut(i);
                Item        = GetNew(AItem);
                Item.Parent = mOut;
                for (int j = 0; j <= mOut.Count - 1; j++)
                {
                    mBase = mOut.GetItems(j);
                    m_who = mBase.Who();
                    if (m_who == 0)
                    {
                        mTfs = (TAlternativeParserGrpItemTFS)(mBase);
                        Item.AddTfsItem(mTfs);
                    }
                }
            }
        }
예제 #2
0
 public TAlternativeParserEnlargerTrashItem()
 {
     f_ID     = 0;
     f_Length = 0;
     f_Pos    = null;
     f_Owner  = null;
 }
예제 #3
0
        TAlternativeParserEnlargerItem GetNew(TAlternativeParserGrpCrossItem AParentMain)
        {
            TAlternativeParserEnlargerItem Item = new TAlternativeParserEnlargerItem();

            Item.ParentMain = AParentMain;
            f_List.Add(Item);
            return(Item);
        }
예제 #4
0
        void CreateTrashItem(TAlternativeParserGrpItemTFS APos, int ALength,
                             TAlternativeParserEnlargerItem AOwner, int AID)
        {
            TAlternativeParserEnlargerTrashItem Item = f_Trash.NewTrashItem();

            Item.Pos    = APos;
            Item.Length = ALength;
            Item.Owner  = AOwner;
            Item.ID     = AID;
        }
예제 #5
0
        TAlternativeParserEnlargerItem FindMax()
        {
            TAlternativeParserEnlargerItem Res = null;
            int a, b = 0;

            for (int i = 0; i <= Count - 1; i++)
            {
                a = GetItems(i).Count;
                if (a > b)
                {
                    b   = a;
                    Res = GetItems(i);
                }
            }
            return(Res);
        }