annotate Implab/Automaton/RegularExpressions/DFAStateDescriptorT.cs @ 175:96a89dcb4060 ref20160224

sync
author cin
date Mon, 21 Mar 2016 18:41:45 +0300
parents 92d5278d1b10
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
171
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
1 using System;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
2
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
3 namespace Implab.Automaton.RegularExpressions {
172
92d5278d1b10 Working on text scanner
cin
parents: 171
diff changeset
4 public struct DFAStateDescriptor<T> {
171
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
5 public readonly bool final;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
6
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
7 public readonly int[] transitions;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
8
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
9 public readonly T[] tags;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
10
172
92d5278d1b10 Working on text scanner
cin
parents: 171
diff changeset
11 public DFAStateDescriptor(int size, bool final, T[] tags) {
171
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
12 Safe.ArgumentAssert(size >= 0, "size");
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
13 this.final = final;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
14 this.tags = tags;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
15
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
16 transitions = new int[size];
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
17
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
18 for (int i = 0; i < size; i++)
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
19 transitions[i] = DFAConst.UNREACHABLE_STATE;
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
20 }
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
21 }
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
22 }
0f70905b4652 Working on regular DFA
cin
parents:
diff changeset
23