lazy_dfa__add_transition Subroutine

private pure subroutine lazy_dfa__add_transition(self, state_set, src, dst, seg)

This subroutine construct an new transition object from the arguments, and invokes the type-bound procedure of dfa_state_node_t with it.

Type Bound

dfa_graph_t

Arguments

Type IntentOptional Attributes Name
class(dfa_graph_t), intent(inout) :: self
type(nfa_state_set_t), intent(in) :: state_set
integer, intent(in) :: src
integer, intent(in) :: dst
type(segment_t), intent(in) :: seg

Source Code

   pure subroutine lazy_dfa__add_transition(self, state_set, src, dst, seg)
      use :: forgex_segment_m
      use :: forgex_nfa_state_set_m
      implicit none
      class(dfa_graph_t),    intent(inout) :: self
      type(nfa_state_set_t), intent(in)    :: state_set
      integer,               intent(in)    :: src, dst
      type(segment_t),       intent(in)    :: seg

      type(dfa_transition_t) :: tra

      tra%c = seg
      tra%dst = dst

      tra%nfa_set = state_set

      call self%nodes(src)%add_transition(tra)

   end subroutine lazy_dfa__add_transition