update_c_top Subroutine

private pure subroutine update_c_top(transition)

Update c_top, which has become outdated by disjoin, to new information.

Arguments

Type IntentOptional Attributes Name
type(nfa_transition_t), intent(inout) :: transition

Source Code

   pure subroutine update_c_top(transition)
      implicit none
      type(nfa_transition_t), intent(inout) :: transition

      integer :: k
      if (.not. allocated(transition%c)) return

      k = 0
      do while(k+1 <= size(transition%c, dim=1))
         k = k + 1
         if (transition%c(k) == SEG_INIT) exit
      end do
      transition%c_top = k

   end subroutine update_c_top