Beispiel #1
0
 private ActivePoint WalkDownTree(int index)
 {
     while (!_activePoint.PointsToActiveNode() && (_activePoint.PointsAfterTheEndOfActiveEdge() || _activePoint.PointsToTheEndOfActiveEdge()))
     {
         _activePoint = _activePoint.PointsAfterTheEndOfActiveEdge()
             ? _activePoint.MoveToNextNodeOfActiveEdge(_store, index)
             : _activePoint.MoveToNextNodeOfActiveEdge();
     }
     return(_activePoint);
 }
Beispiel #2
0
 private void ActiveEdgeWithSymbol()
 {
     _activePoint = _activePoint.MoveOneSymbol();
     if (_activePoint.PointsToTheEndOfActiveEdge())
     {
         _activePoint = _activePoint.MoveToNextNodeOfActiveEdge();
     }
 }
Beispiel #3
0
 private void ActiveNodeHasEdgeForSymbol(byte symbol, UNode uNode)
 {
     _activePoint.SetSuffixLinkToActiveNodeAndReturnActiveNode(uNode);
     _activePoint = _activePoint.MoveToEdgeStartingWith(symbol);
     if (_activePoint.PointsToTheEndOfActiveEdge())
     {
         _activePoint = _activePoint.MoveToNextNodeOfActiveEdge();
     }
 }