diff Implab/Automaton/IDFADefinitionBuilder.cs @ 162:0526412bbb26 ref20160224

DFA refactoring
author cin
date Wed, 24 Feb 2016 08:39:53 +0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Implab/Automaton/IDFADefinitionBuilder.cs	Wed Feb 24 08:39:53 2016 +0300
@@ -0,0 +1,23 @@
+using System;
+
+namespace Implab.Automaton {
+    public interface IDFADefinitionBuilder<TTag> {
+        /// <summary>
+        /// Marks the state as final and assings tags.
+        /// </summary>
+        /// <param name="state">State.</param>
+        /// <param name="tags">Tags.</param>
+        void MarkFinalState(int state, params TTag[] tags);
+
+        /// <summary>
+        /// Defines the transition from <paramref name="s1"/> to
+        /// <paramref name="s2"/> with input <paramref name="symbol"/>.
+        /// </summary>
+        /// <param name="s1">S1.</param>
+        /// <param name="s2">S2.</param>
+        /// <param name="symbol">Symbol.</param>
+        void DefineTransition(int s1, int s2, int symbol);
+
+    }
+}
+