Mercurial > pub > ImplabNet
comparison Implab/Parsing/AlphabetBase.cs @ 59:21611344d366
code cleanup
author | cin |
---|---|
date | Wed, 18 Jun 2014 03:54:02 +0400 |
parents | c0bf853aa04f |
children | 97fbbf816844 |
comparison
equal
deleted
inserted
replaced
58:1710dcda34bb | 59:21611344d366 |
---|---|
15 | 15 |
16 public int Count { | 16 public int Count { |
17 get { return m_nextId; } | 17 get { return m_nextId; } |
18 } | 18 } |
19 | 19 |
20 protected AlphabetBase() { | 20 protected AlphabetBase(int mapSize) { |
21 m_map = new int[MapSize]; | 21 m_map = new int[mapSize]; |
22 } | 22 } |
23 | 23 |
24 protected AlphabetBase(int[] map) { | 24 protected AlphabetBase(int[] map) { |
25 Debug.Assert(map != null); | 25 Debug.Assert(map != null); |
26 Debug.Assert(map.Length == MapSize); | |
27 | 26 |
28 m_map = map; | 27 m_map = map; |
29 m_nextId = map.Max() + 1; | 28 m_nextId = map.Max() + 1; |
30 } | 29 } |
31 | 30 |
92 | 91 |
93 public abstract int GetSymbolIndex(T symbol); | 92 public abstract int GetSymbolIndex(T symbol); |
94 | 93 |
95 public abstract IEnumerable<T> InputSymbols { get; } | 94 public abstract IEnumerable<T> InputSymbols { get; } |
96 | 95 |
97 protected abstract int MapSize { get; } | |
98 | |
99 public int[] GetTranslationMap() { | 96 public int[] GetTranslationMap() { |
100 return m_map; | 97 return m_map; |
101 } | 98 } |
102 } | 99 } |
103 } | 100 } |