Exemplo n.º 1
0
        public static bool TryMatch <T>(this FST <T> fst, IEnumerable <char> input, out T value)
        {
            var outputType = fst.OutputType;
            var v          = outputType.Zero();
            var s          = fst.Initial;

            foreach (var c in input)
            {
                if (fst.TryMove(s, c, out var to, out var o))
                {
                    s = to;
                    v = outputType.Sum(v, o);
                }