view Implab/Automaton/IDFATableBuilder.cs @ 222:98eeb63cedb2

sync
author cin
date Tue, 22 Aug 2017 09:34:47 +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);
    }
}