dfa_state_node__is_registered_transition Function

private pure function dfa_state_node__is_registered_transition(self, dst, symbol) result(res)

Type Bound

dfa_state_node_t

Arguments

Type IntentOptional Attributes Name
class(dfa_state_node_t), intent(in) :: self
integer, intent(in) :: dst
character(len=*), intent(in) :: symbol

Return Value logical


Source Code

   pure function dfa_state_node__is_registered_transition(self, dst, symbol) result(res)
      use :: forgex_segment_m, only: symbol_to_segment, operator(.in.)
      implicit none
      class(dfa_state_node_t), intent(in) :: self
      integer, intent(in) :: dst
      character(*), intent(in) :: symbol

      logical :: res

      integer :: j

      res = .false.
      do j = 1, self%get_tra_top()
         if (self%transition(j)%dst == dst) then
            if (symbol_to_segment(symbol) .in. self%transition(j)%c) then
               res = .true.
               return
            end if
         end if
      end do
   end function dfa_state_node__is_registered_transition