This module defines a derived-type dfa_graph_t
that contains all the states of the DFA.
This type has the entire graph of DFA states.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | public | :: | alloc_count_node | = | 0 | ||
integer(kind=int32), | public | :: | dfa_base | = | DFA_STATE_BASE | ||
integer(kind=int32), | public | :: | dfa_limit | = | DFA_STATE_UNIT | ||
integer(kind=int32), | public | :: | dfa_top | = | DFA_INVALID_INDEX | ||
type(dfa_state_node_t), | public, | allocatable | :: | nodes(:) |
procedure, public :: add_transition => lazy_dfa__add_transition | |
procedure, public :: free => lazy_dfa__deallocate | |
procedure, public :: preprocess => lazy_dfa__preprocess | |
procedure, public :: reallocate => lazy_dfa__reallocate | |
procedure, public :: registered => lazy_dfa__registered_index |
Returns whether the DFA state is already registered by index, or DFA_INVALID_INDEX if it is not registered.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_graph_t), | intent(in) | :: | self | |||
type(nfa_state_set_t), | intent(in) | :: | set |
This subroutine construct an new transition object from the arguments,
and invokes the type-bound procedure of dfa_state_node_t
with it.
Type | Intent | Optional | 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 |
This subroutine performs deallocation of the arrays representing the DFA node transitions for every node in the DFA graph.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_graph_t), | intent(inout) | :: | self |
This subroutine determines the number of DFA nodes the graph has and allocate the array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_graph_t), | intent(inout) | :: | self |
This subroutine performs reallocating array that represents the DFA graph.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dfa_graph_t), | intent(inout) | :: | self |