Beispiel #1
0
        /// <summary>
        /// Go a single char
        /// </summary>
        /// <param name="q">start States</param>
        /// <param name="w">Char to go</param>
        /// <returns>Set of possible states</returns>
        internal uint[] GoChar(uint[] q, char w) {
            var retQ = new List<uint>(); // store all possible q-Next

            //combine to E-Huelle of all states
            var eh = EpsilonHuelle(q);

            for (int i = 0; i < eh.Length; i++) //iterate q+e(q)
            {
                var t = new EATuple(eh[i], w); //e Transform
                if (Transforms.TryGetValue(t, out uint[] qNext))
Beispiel #2
0
 protected uint[] GoChar(EATuple eat) => GoChar(eat.q, eat.c.Value);