comparison Implab/Automaton/DummyAlphabet.cs @ 171:0f70905b4652 ref20160224

Working on regular DFA
author cin
date Thu, 10 Mar 2016 01:19:33 +0300
parents ec35731ae299
children
comparison
equal deleted inserted replaced
170:181119ef3b39 171:0f70905b4652
22 22
23 public List<int>[] CreateReverseMap() { 23 public List<int>[] CreateReverseMap() {
24 Enumerable.Range(0, m_size).ToArray(); 24 Enumerable.Range(0, m_size).ToArray();
25 } 25 }
26 26
27 public int[] Reclassify(IAlphabetBuilder<int> newAlphabet, IEnumerable<IEnumerable<int>> classes) { 27 public int Translate(int symbol) {
28 Safe.ArgumentNotNull(newAlphabet, "newAlphabet"); 28 Safe.ArgumentInRange(symbol, 0, m_size, "symbol");
29 Safe.ArgumentNotNull(classes, "classes"); 29 return symbol;
30 var map = new int[m_size];
31 foreach (var cls in classes) {
32 if (cls.Contains(DFAConst.UNCLASSIFIED_INPUT))
33 continue;
34 var newid = newAlphabet.DefineClass(cls);
35 foreach (var id in cls)
36 map[id] = newid;
37 }
38
39 return map;
40 } 30 }
41 31
42 public int Translate(int symobl) { 32 public bool Contains(int symbol) {
43 Safe.ArgumentInRange(symobl, 0, m_size, "symbol"); 33 Safe.ArgumentInRange(symbol, 0, m_size, "symbol");
44 return symobl; 34 return true;
45 } 35 }
46 36
47 public int Count { 37 public int Count {
48 get { 38 get {
49 return m_size; 39 return m_size;