diff Implab/Parsing/EDFADefinition.cs @ 158:130781364799 v2

refactoring, code cleanup
author cin
date Thu, 18 Feb 2016 14:34:02 +0300
parents 948c015a9011
children 5802131432e4
line wrap: on
line diff
--- a/Implab/Parsing/EDFADefinition.cs	Thu Feb 18 11:03:47 2016 +0300
+++ b/Implab/Parsing/EDFADefinition.cs	Thu Feb 18 14:34:02 2016 +0300
@@ -2,22 +2,17 @@
 using System;
 
 namespace Implab.Parsing {
-    public class EDFADefinition<T> : DFADefinitionBase where T : struct, IConvertible {
+    public class EDFADefinition<T> : DFADefinition where T : struct, IConvertible {
         readonly EnumAlphabet<T> m_alphabet;
 
         public EnumAlphabet<T> Alphabet { 
             get { return m_alphabet; }
         }
 
-        public EDFADefinition(EnumAlphabet<T> alphabet) {
-            Safe.ArgumentNotNull(alphabet, "alphabet");
+        public EDFADefinition(EnumAlphabet<T> alphabet) : base(alphabet.Count) {
             m_alphabet = alphabet;
         }
 
-        public override int AlphabetSize {
-            get { return m_alphabet.Count; }
-        }
-
         public void DefineTransition(int s1, int s2, T input) {
             DefineTransition(s1, s2, m_alphabet.Translate(input));
         }