view Implab/Automaton/IDFATableBuilder.cs @ 253:34df34841225 v3 v3.0.1-beta

Implab.Diagnostics drafts
author cin
date Mon, 12 Feb 2018 17:03:37 +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);
    }
}