view Implab/Automaton/IDFATableBuilder.cs @ 251:7c7e9ad6fe4a v3

Prerelease version of RunnableComponent Added draft messaging interfaces Added more more helpers to Xml/SerializationHelpers
author cin
date Sun, 11 Feb 2018 00:49:51 +0300
parents 76e8f2ba12b8
children
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace Implab.Automaton {
    public interface IDFATableBuilder : IDFATable, ICollection<AutomatonTransition> {
        /// <summary>
        /// Marks the state as final.
        /// </summary>
        /// <param name="state">State.</param>
        void MarkFinalState(int state);

        void SetInitialState(int s);

        /// <summary>
        /// Increases if needed the input alphabet size to hold the specified symbol.
        /// </summary>
        /// <remarks>
        /// <code>
        /// AlphabetSize = Math.Max(AlphabetSize, symbol + 1)
        /// </code>
        /// </remarks>
        /// <param name="symbol">Symbol.</param>
        void AddSymbol(int symbol);
    }
}