diff Implab/Parsing/CDFADefinition.cs @ 55:c0bf853aa04f

Added initial JSON support +JSONParser +JSONWriter
author cin
date Sun, 15 Jun 2014 19:39:11 +0400
parents
children 97fbbf816844
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Implab/Parsing/CDFADefinition.cs	Sun Jun 15 19:39:11 2014 +0400
@@ -0,0 +1,36 @@
+using Implab;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Implab.Parsing {
+    public class CDFADefinition : DFADefinitionBase {
+        Alphabet m_alphabet;
+
+        public Alphabet Alphabet {
+            get { return m_alphabet; }
+        }
+
+        public override int AlphabetSize {
+            get { return m_alphabet.Count; }
+        }
+
+        public CDFADefinition(Alphabet alphabet): base() {
+            Safe.ArgumentNotNull(alphabet, "alphabet");
+            m_alphabet = alphabet;
+        }
+
+        public CDFADefinition Optimize() {
+            var optimized = new CDFADefinition(new Alphabet());
+
+            Optimize(optimized, m_alphabet, optimized.Alphabet);
+            return optimized;
+        }
+
+        public void PrintDFA() {
+            PrintDFA(m_alphabet);
+        }
+    }
+}