The forgex_nfa_m module defines the data structure of NFA.
The nfa_t is defined as a class representing NFA.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public | :: | alloc_count_f | = | ALLOC_COUNT_INITTIAL | ||
| type(nfa_transition_t), | public, | allocatable | :: | forward(:) | |||
| integer(kind=int32), | public | :: | forward_top | = | 1 | ||
| integer(kind=int32), | public | :: | own_i |
| generic, public :: add_transition => nfa__add_transition, nfa__add_transition_cube | |
| procedure, public :: merge_segment => nfa__merge_segments_of_transition | |
| procedure, public :: nfa__add_transition | |
| procedure, public :: nfa__add_transition_cube | |
| procedure, public :: realloc_forward => nfa__reallocate_transition_forward |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(cube_t), | public | :: | c | ||||
| integer(kind=int32), | public | :: | dst | = | NFA_NULL_TRANSITION | ||
| logical, | public | :: | is_registered | = | .false. | ||
| integer(kind=int32), | public | :: | own_j | = | NFA_NULL_TRANSITION |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nfa_state_node_t), | intent(inout) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | src | |||
| integer(kind=int32), | intent(in) | :: | dst | |||
| type(segment_t), | intent(in) | :: | seg(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nfa_state_node_t), | intent(inout) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | src | |||
| integer(kind=int32), | intent(in) | :: | dst | |||
| type(cube_t), | intent(in) | :: | cube |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nfa_state_node_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nfa_state_node_t), | intent(inout) | :: | self |