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); } }
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); } }