3 instantiations of State
System.Speech (3)
Internal\SrgsCompiler\BackEnd.cs (2)
872
var newState = new
State
(ruleCur, hNewState, k);
893
var nextState = new
State
(ruleCur, hNewState, iNextArc);
Internal\SrgsCompiler\Graph.cs (1)
73
State newState =
new
(rule, hNewState);
135 references to State
System.Speech (135)
Internal\SrgsCompiler\Arc.cs (8)
43
internal Arc(Arc arc,
State
? start,
State
? end)
50
internal Arc(Arc arc,
State
? start,
State
? end, int wordId)
614
internal
State
? Start
631
internal
State
? End
797
private
State
? _start;
800
private
State
? _end;
Internal\SrgsCompiler\BackEnd.cs (49)
57
List<
State
> sortedStates = new(_states);
141
foreach (
State
state in sortedStates)
156
foreach (
State
state in sortedStates)
207
Dictionary<
State
,
State
> srcToDestHash = new();
220
internal
State
CreateNewState(Rule rule)
225
internal void DeleteState(
State
state)
230
internal void MoveInputTransitionsAndDeleteState(
State
from,
State
to)
235
internal void MoveOutputTransitionsAndDeleteState(
State
from,
State
to)
469
internal
State
CloneSubGraph(
State
srcFromState,
State
srcEndState,
State
destFromState)
471
Dictionary<
State
,
State
> SrcToDestHash = new(); // Hash source state to destination state
472
Stack<
State
> CloneStack = new(); // States to process
490
State
? srcToState = arc.End;
491
State
? destToState = null;
526
internal void CloneSubGraph(Rule rule, Backend org, Backend extra, Dictionary<
State
,
State
> srcToDestHash, bool fromOrg)
531
List<
State
> CloneStack = new(); // States to process
540
State
srcFromState = CloneStack[0];
542
State
destFromState = srcToDestHash[srcFromState];
547
State
? srcToState = arc.End;
548
State
? destToState = null;
630
internal void DeleteSubGraph(
State
state)
633
Stack<
State
> stateToProcess = new(); // States to delete
635
Collection<
State
> statesToDelete = new();
650
State
? endState = arc.End;
666
foreach (
State
stateToDelete in statesToDelete)
814
State
?[] apStateTable = new
State
[header.arcs.Length];
831
State
? currentState = null;
872
var
newState = new State(ruleCur, hNewState, k);
885
State
? targetState = null;
893
var
nextState = new State(ruleCur, hNewState, iNextArc);
981
private CfgGrammar.CfgSerializedHeader BuildHeader(List<
State
> sortedStates, int cBasePath, ushort iSemanticGlobals, out int cArcs, out float[]? pWeights)
989
foreach (
State
state in sortedStates)
1089
private CfgGrammar.CfgHeader BuildRulesFromBinaryGrammar(CfgGrammar.CfgHeader header,
State
?[] apStateTable, SortedDictionary<int, Rule> ruleFirstArcs, int previousCfgLastRules)
1146
private Rule CloneState(
State
srcToState, List<
State
> CloneStack, Dictionary<
State
,
State
> srcToDestHash)
1165
State
newState = CreateNewState(dstRule);
1253
private void CheckLeftRecursion(List<
State
> states)
1256
foreach (
State
state in states)
1270
internal void AddState(
State
state)
Internal\SrgsCompiler\Graph.cs (46)
19
internal class Graph : IEnumerable<
State
>
23
internal void Add(
State
state)
36
internal void Remove(
State
state)
52
for (
State
? item = _startState; item != null; item = item.Next)
58
IEnumerator<
State
> IEnumerable<
State
>.GetEnumerator()
60
for (
State
? item = _startState; item != null; item = item.Next)
69
internal
State
CreateNewState(Rule rule)
73
State
newState = new(rule, hNewState);
84
internal void DeleteState(
State
state)
98
foreach (
State
state in this)
127
foreach (
State
state in this)
168
internal void MoveInputTransitionsAndDeleteState(
State
srcState,
State
? destState)
214
internal void MoveOutputTransitionsAndDeleteState(
State
srcState,
State
? destState)
240
internal
State
? First
253
for (
State
? se = _startState; se != null; se = se.Next)
293
for (
State
? state = First, nextState = null; state != null; state = nextState)
306
State
? pEpsilonStartState = epsilonArc.Start;
336
State
? pEpsilonEndState = epsilonArc.End;
371
foreach (
State
state in this)
381
Stack<
State
> mergeStates = new();
387
private void RecursiveMergeDuplicatedInputTransition(Stack<
State
> mergeStates)
390
foreach (
State
state in this)
402
State
state = mergeStates.Pop();
412
private void RecursiveMergeDuplicatedOutputTransition(Stack<
State
> mergeStates)
415
foreach (
State
state in this)
427
State
state = mergeStates.Pop();
457
private void MergeDuplicateInputTransitions(ArcList arcs, Stack<
State
> mergeStates)
502
State
? commonStartState = null;
526
State
? duplicatedStartState = duplicatedArc.Start;
599
private void MergeDuplicateOutputTransitions(ArcList arcs, Stack<
State
> mergeStates)
644
State
? commonEndState = null;
668
State
duplicatedEndState = duplicatedArc.End!;
717
private static void AddToMergeStateList(Stack<
State
> mergeStates,
State
commonEndState)
737
State
? startState = arc.Start;
772
State
endState = arc.End;
922
private static void NormalizeTransitionWeights(
State
state)
957
public
State
[] AKeys
961
State
[] states = new
State
[_states.Count];
963
foreach (
State
state in _states)
979
private
State
? _startState;
980
private
State
? _curState;
Internal\SrgsCompiler\Item.cs (7)
48
State
endState = _startArc.End;
64
State
? startState = _startArc.End;
75
State
? currentStartState = startState;
82
State
newStartState = _backend.CreateNewState(_endArc.Start.Rule);
85
State
newEndState = _backend.CloneSubGraph(currentStartState!, _endArc.Start, newStartState);
142
private void AddEpsilonTransition(
State
? start,
State
? end, float weight)
Internal\SrgsCompiler\OneOf.cs (4)
72
State
? endStartState = end.Start;
73
State
? startEndState = start.End;
104
private
State
_startState;
105
private
State
_endState;
Internal\SrgsCompiler\ParseElementCollection.cs (7)
33
State
state = _backend.CreateNewState(_rule);
77
State
insertionState = _backend.CreateNewState(_rule);
102
for (
State
? startState = startArc.End; startArc.IsEpsilonTransition && startState != null && Graph.MoveSemanticTagRight(startArc) && startState.InArcs.CountIsOne && startState.OutArcs.CountIsOne; startState = startArc.End)
135
for (
State
? endState = endArc.Start; endArc.IsEpsilonTransition && endState != null && Graph.MoveSemanticTagLeft(endArc) && endState.InArcs.CountIsOne && endState.OutArcs.CountIsOne; endState = endArc.Start)
176
State
? state = null;
201
State
? from = _endArc.Start;
202
State
? to = start.End;
Internal\SrgsCompiler\Rule.cs (2)
245
State
? endState = endArc.Start;
274
internal
State
? _firstState;
Internal\SrgsCompiler\State.cs (12)
19
internal sealed class State : IComparable<
State
>
41
int IComparable<
State
>.CompareTo(
State
? state2)
157
internal
State
Add(
State
state)
171
internal
State
? Next
179
internal
State
? Prev
259
State
pRuleFirstNode = arc.RuleRef._firstState;
387
private static int Compare(
State
state1,
State
state2)
489
private
State
? _next;
490
private
State
? _prev;