protected MyArrayList CreateGotoFromLastHuellen(MyArrayList LastHuelle) { MyArrayList nextHuellen = new MyArrayList(); if (LastHuelle != null) { for (int i = 0; i < LastHuelle.Count; i++) { MyArrayList Huelle = (MyArrayList)LastHuelle[i]; if (Huelle != null) { MyArrayList neueHuellen = CreateGoto(Huelle); nextHuellen.AddArray(neueHuellen); } } } return(nextHuellen); }
protected virtual void GenerateClosure() { MyArrayList Huelle = new MyArrayList(); if (FirstClosureFromRule(Huelle, m_StartSign)) { Closure(Huelle); MyArrayList actHuellen = new MyArrayList(); actHuellen.Add(Huelle); m_HuellenCounter++; while (!AreHuellenEmpty(actHuellen)) { m_Huellen.AddArray(actHuellen); MyArrayList nextHuellen = CreateGotoFromLastHuellen(actHuellen); actHuellen = nextHuellen; } } }