Returns whether the DFA state is already registered by index, or DFA_INVALID_INDEX if it is not registered.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_graph_t), | intent(in) | :: | self | |||
type(nfa_state_set_t), | intent(in) | :: | set |
pure function lazy_dfa__registered_index(self, set) result(res) use :: forgex_nfa_state_set_m implicit none class(dfa_graph_t), intent(in) :: self type(nfa_state_set_t), intent(in) :: set integer(int32) :: res integer(int32) :: i logical :: is_registered ! Initialize the result variable. res = DFA_INVALID_INDEX do i = DFA_INITIAL_INDEX, self%dfa_top if (.not. allocated(self%nodes(i)%nfa_set%vec)) cycle is_registered = equivalent_nfa_state_set(self%nodes(i)%nfa_set, set) if (is_registered) then res = i return end if end do end function lazy_dfa__registered_index