nfa_graph__build Subroutine

private pure subroutine nfa_graph__build(self, tree, nfa_entry, nfa_exit, all_segments)

Type Bound

nfa_graph_t

Arguments

Type IntentOptional Attributes Name
class(nfa_graph_t), intent(inout) :: self
type(tree_t), intent(in) :: tree
integer(kind=int32), intent(inout) :: nfa_entry
integer(kind=int32), intent(inout) :: nfa_exit
type(segment_t), intent(inout), allocatable :: all_segments(:)

Source Code

   pure subroutine nfa_graph__build(self, tree, nfa_entry, nfa_exit, all_segments)
      use :: forgex_syntax_tree_graph_m
      use :: forgex_segment_m
      implicit none
      class(nfa_graph_t), intent(inout) :: self
      type(tree_t),   intent(in) :: tree
      integer(int32), intent(inout) :: nfa_entry, nfa_exit
      type(segment_t), allocatable, intent(inout) :: all_segments(:)

      call build_nfa_graph(tree, self%nodes, nfa_entry, nfa_exit, self%nfa_top, all_segments)
      self%nfa_limit = ubound(self%nodes, dim=1)
   end subroutine nfa_graph__build