示例#1
0
        public void Assign(TAlternativeParserItemTFS ATfs)
        {
            TPredicateItemTFE mTfe;

            FreeList();
            f_TFS  = ATfs.TFS;
            NumAlt = ATfs.NumAlt;
            for (int i = 0; i <= ATfs.TFECount - 1; i++)
            {
                mTfe        = new TPredicateItemTFE();
                mTfe.RfcTFE = ATfs.GetTFEItems(i);
                mTfe.TFE    = ATfs.GetTFEItems(i).TFE;
                f_ListTFE.Add(mTfe);
            }
        }
示例#2
0
        void FillItemGrp(TAlternativeParserGrpItemBase AItem, ref TAlternativeParserItemBig ABig)
        {
            TAlternativeParserGrpItemTFS          GTfs;
            TAlternativeParserGrpItemList         GList;
            TAlternativeParserItemTFS             mTfs;
            TAlternativeParserItemBig             mBig;
            TAlternativeParserGrpCrossItemEnlarge Enl;

            int m_who = AItem.Who();

            if (m_who == 0)
            {
                GTfs          = (TAlternativeParserGrpItemTFS)(AItem);
                mTfs          = new TAlternativeParserItemTFS();
                mTfs.TFS      = GTfs.TFS;
                mTfs.OwnerBig = ABig;
                ABig.MainList.Append(mTfs);
            }
            if (m_who == 1)
            {
                GList = (TAlternativeParserGrpItemList)(AItem);
                mBig  = new TAlternativeParserItemBig();
                mBig.FillBasisFromGrpItemList(GList);
                mBig.OwnerBig = ABig;
                ABig.MainList.Append(mBig);
                mBig.BadBasis = ABig.Cross;
            }
            if (m_who == 2)
            {
                CrossToBigs((TAlternativeParserGrpCrossItem)(AItem), ABig);
            }
            if (m_who == 3)
            {
                Enl          = (TAlternativeParserGrpCrossItemEnlarge)(AItem);
                mBig         = new TAlternativeParserItemBig();
                mBig.Enlarge = Enl.ID;
                mBig.FillBasisFromEnlarge(Enl);
                mBig.OwnerBig = ABig;
                ABig.MainList.Append(mBig);
            }
        }