annotate Implab/Formats/ByteAlphabet.cs @ 172:92d5278d1b10 ref20160224

Working on text scanner
author cin
date Mon, 14 Mar 2016 01:19:38 +0300
parents e227e78d72e4
children 0c3c69fe225b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
165
e227e78d72e4 DFA refactoring
cin
parents: 164
diff changeset
1 using System.Collections.Generic;
164
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
2 using System.Linq;
165
e227e78d72e4 DFA refactoring
cin
parents: 164
diff changeset
3 using Implab.Automaton;
164
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
4
165
e227e78d72e4 DFA refactoring
cin
parents: 164
diff changeset
5 namespace Implab.Formats {
164
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
6 public class ByteAlphabet : IndexedAlphabetBase<byte> {
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
7 public ByteAlphabet() : base(byte.MaxValue + 1){
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
8 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
9
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
10 #region implemented abstract members of IndexedAlphabetBase
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
11
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
12 public override int GetSymbolIndex(byte symbol) {
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
13 return (int)symbol;
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
14 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
15
172
92d5278d1b10 Working on text scanner
cin
parents: 165
diff changeset
16 public override byte GetSymbolByIndex(int index) {
92d5278d1b10 Working on text scanner
cin
parents: 165
diff changeset
17 return (byte)index;
92d5278d1b10 Working on text scanner
cin
parents: 165
diff changeset
18 }
92d5278d1b10 Working on text scanner
cin
parents: 165
diff changeset
19
164
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
20 public IEnumerable<byte> InputSymbols {
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
21 get {
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
22 return Enumerable.Range(byte.MinValue, byte.MaxValue).Cast<byte>();
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
23 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
24 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
25
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
26 #endregion
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
27 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
28 }
ec35731ae299 Almost complete DFA refactoring
cin
parents:
diff changeset
29