dfa_state_node_t Derived Type

type, public :: dfa_state_node_t


Components

Type Visibility Attributes Name Initial
logical, public :: accepted = .false.
integer(kind=int32), public :: alloc_count_f = ALLOC_COUNT_INITTIAL
logical, public :: initialized = .false.
type(nfa_state_set_t), public :: nfa_set
integer(kind=int32), public :: own_i = DFA_NOT_INIT
logical, public :: registered = .false.
type(dfa_transition_t), public, allocatable :: transition(:)
integer(kind=int32), private :: tra_top = DFA_NOT_INIT_TRAENSITION_TOP

Type-Bound Procedures

procedure, public :: add_transition => dfa_state_node__add_transition

procedure, public :: free => dfa_state_node__deallocate

  • private pure subroutine dfa_state_node__deallocate(self)

    This subroutine deallocates the transition array of a DFA state node.

    Arguments

    Type IntentOptional Attributes Name
    class(dfa_state_node_t), intent(inout) :: self

procedure, public :: get_tra_top => dfa_state_node__get_transition_top

  • private pure function dfa_state_node__get_transition_top(self) result(res)

    This function returns the index of top transition in the list dfa_state_node_t has.

    Arguments

    Type IntentOptional Attributes Name
    class(dfa_state_node_t), intent(in) :: self

    Return Value integer

procedure, public :: increment_tra_top => dfa_state_node__increment_transition_top

procedure, public :: init_tra_top => dfa_state_node__initialize_transition_top

  • private pure subroutine dfa_state_node__initialize_transition_top(self, top)

    This subroutine initialize the top index of the transition array of the dfa node with the value of the given argument.

    Arguments

    Type IntentOptional Attributes Name
    class(dfa_state_node_t), intent(inout) :: self
    integer, intent(in) :: top

procedure, public :: is_registered_tra => dfa_state_node__is_registered_transition

procedure, public :: realloc_f => dfa_state_node__reallocate_transition_forward

Source Code

   type, public :: dfa_state_node_t
      integer(int32)                      :: own_i = DFA_NOT_INIT
      type(nfa_state_set_t)               :: nfa_set
      logical                             :: accepted = .false.
      type(dfa_transition_t), allocatable :: transition(:)
      integer(int32), private             :: tra_top = DFA_NOT_INIT_TRAENSITION_TOP
      integer(int32)                      :: alloc_count_f = ALLOC_COUNT_INITTIAL
      logical                             :: registered = .false.
      logical                             :: initialized = .false.
   contains
      procedure :: get_tra_top       => dfa_state_node__get_transition_top
      procedure :: init_tra_top      => dfa_state_node__initialize_transition_top
      procedure :: increment_tra_top => dfa_state_node__increment_transition_top
      procedure :: add_transition    => dfa_state_node__add_transition
      procedure :: realloc_f         => dfa_state_node__reallocate_transition_forward
      procedure :: is_registered_tra => dfa_state_node__is_registered_transition
      procedure :: free              => dfa_state_node__deallocate
   end type dfa_state_node_t