Exemple #1
0
        TAlternativeParserGrpCrossItemOut GetNewCrossOut()
        {
            TAlternativeParserGrpCrossItemOut Item = new TAlternativeParserGrpCrossItemOut();

            f_Out.Add(Item);
            return(Item);
        }
 public TAlternativeParserEnlargerItem()
 {
     f_List       = new List <object>();
     f_Basis      = false;
     f_Parent     = null;
     f_ParentMain = null;
 }
Exemple #3
0
        void DoCreateListItem(TAlternativeParserGrpItemList AItem, TAlternativeParserGrpCrossItemOut ANew)
        {
            int  i;
            bool f_s = false;
            TAlternativeParserGrpItemBase Base;
            TAlternativeParserGrpItemTFS  Tfs;
            TBaseWorkShape WS, WE;

            WS = AItem.Alternative.NodeStart.WorkShape;
            WE = AItem.Alternative.NodeEnd.WorkShape;
            for (i = 0; i <= CountBasis - 1; i++)
            {
                Base = GetItemsBasis(i);
                if (Base.Who() <= 0)
                {
                    Tfs = (TAlternativeParserGrpItemTFS)(Base);
                    if (Tfs.TFS.BaseWorkShape == WS)
                    {
                        f_s = true;
                        break;
                    }
                    ANew.AddItem(Tfs);
                }
            }
            if (f_s)
            {
                ANew.AddItem(AItem);
            }
            for (; i <= CountBasis - 1; i++)
            {
                Base = GetItemsBasis(i);
                if (Base.Who() <= 0)
                {
                    Tfs = (TAlternativeParserGrpItemTFS)(Base);
                    if (Tfs.TFS.BaseWorkShape == WE)
                    {
                        break;
                    }
                }
            }
            for (++i; i <= CountBasis - 1; i++)
            {
                ANew.AddItem(GetItemsBasis(i));
            }
        }