The forgex_lazy_dfa_node_m
module defines the state nodes and transitions of DFA.
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 |
procedure, public :: add_transition => dfa_state_node__add_transition | |
procedure, public :: free => dfa_state_node__deallocate | |
procedure, public :: get_tra_top => dfa_state_node__get_transition_top | |
procedure, public :: increment_tra_top => dfa_state_node__increment_transition_top | |
procedure, public :: init_tra_top => dfa_state_node__initialize_transition_top | |
procedure, public :: is_registered_tra => dfa_state_node__is_registered_transition | |
procedure, public :: realloc_f => dfa_state_node__reallocate_transition_forward |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(segment_t), | public | :: | c | ||||
integer(kind=int32), | public | :: | dst | = | DFA_NOT_INIT | ||
type(nfa_state_set_t), | public | :: | nfa_set | ||||
integer(kind=int32), | public | :: | own_j | = | DFA_NOT_INIT |
This function returns the index of top transition in the list dfa_state_node_t has.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(in) | :: | self |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(in) | :: | self | |||
integer, | intent(in) | :: | dst | |||
character(len=*), | intent(in) | :: | symbol |
This subroutine copies the data of a specified transition into the variables of another dfa_transition_t.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dfa_transition_t), | intent(in) | :: | src | |||
type(dfa_transition_t), | intent(inout) | :: | dst |
This subroutine processes to add the given transition to the list which dfa_state_node_t has.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(inout) | :: | self | |||
type(dfa_transition_t), | intent(in) | :: | tra |
This subroutine deallocates the transition array of a DFA state node.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(inout) | :: | self |
This subroutine increments the value of top transition index.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(inout) | :: | self |
This subroutine initialize the top index of the transition array of the dfa node with the value of the given argument.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | top |
This subroutine performs allocating initial or additional transition arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_state_node_t), | intent(inout) | :: | self |