Beispiel #1
0
        /// <summary>
        /// zählt die anzahl der Transitionen und füllt die Liste der Symbole auf
        /// </summary>
        /// <returns>Anzahl der Zustände</returns>
        private int CountStates()
        {
            int CountStates = 0;

            m_Symbols.Clear();

            TMState sts = m_TM.GetStates;

            while (sts != null)
            {
                CountStates++;
                string symbl = sts.GetRead();
                AddSymbol(symbl);
                sts = sts.GetNext();
            }
            return(CountStates);
        }
Beispiel #2
0
        /// <summary>
        /// Look for the next state
        /// </summary>
        /// <param name="FirstSts">first State</param>
        /// <param name="colStates">Liste der zusammengefassten Zustände</param>
        /// <returns>next state</returns>
        private TMState GetNextState(TMState FirstSts, ref ArrayList colStates)
        {
            colStates = new ArrayList();
            TMState resState = null;

            if (FirstSts != null)
            {
                string StateSymbl    = FirstSts.GetStateF();
                string NxtStateSymbl = StateSymbl;
                while (FirstSts != null && StateSymbl.Equals(NxtStateSymbl))
                {
                    colStates.Add(FirstSts);
                    FirstSts = FirstSts.GetNext();
                    if (FirstSts != null)
                    {
                        NxtStateSymbl = FirstSts.GetStateF();
                    }
                }
                resState = FirstSts;
            }
            return(resState);
        }