This module defines the nfa_graph_t
derived-type which represents the NFA graph.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | public | :: | entry | = | 0 | ||
integer(kind=int32), | public | :: | exit | = | 0 | ||
type(nfa_state_node_t), | public, | allocatable | :: | graph(:) | |||
integer(kind=int32), | public | :: | nfa_base | = | NFA_STATE_BASE | ||
integer(kind=int32), | public | :: | nfa_limit | = | NFA_STATE_LIMIT | ||
integer(kind=int32), | public | :: | top | = | 0 |
procedure, public :: build => nfa_graph__build | |
procedure, public :: collect_epsilon_transition => nfa_graph__collect_epsilon_transition | |
procedure, public :: disjoin => nfa_graph__disjoin | |
procedure, public :: is_exceeded => nfa_graph__is_exceeded | |
procedure, public :: mark_epsilon_transition => nfa_graph__mark_epsilon_transition | |
procedure, public :: new_nfa_node => nfa_graph__new_node | |
procedure, public :: print => nfa_graph__print | |
procedure, public :: reallocate => nfa_graph__reallocate |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(in) | :: | self |
This subroutine updates the NFA state transitions by disjoining the segments.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(nfa_transition_t), | intent(inout) | :: | transition | |||
type(segment_t), | intent(in) | :: | seg_list(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tree_t), | intent(in) | :: | tree | |||
integer(kind=int32), | intent(in) | :: | idx | |||
type(nfa_graph_t), | intent(inout) | :: | nfa | |||
integer(kind=int32), | intent(in) | :: | entry_i | |||
integer(kind=int32), | intent(in) | :: | exit_i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tree_t), | intent(in) | :: | tree | |||
integer(kind=int32), | intent(in) | :: | idx | |||
type(nfa_graph_t), | intent(inout) | :: | nfa | |||
integer(kind=int32), | intent(in) | :: | entry_i | |||
integer(kind=int32), | intent(in) | :: | exit_i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tree_t), | intent(in) | :: | tree | |||
integer(kind=int32), | intent(in) | :: | idx | |||
type(nfa_graph_t), | intent(inout) | :: | nfa | |||
integer(kind=int32), | intent(in) | :: | entry_i | |||
integer(kind=int32), | intent(in) | :: | exit_i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(inout) | :: | self | |||
type(tree_t), | intent(in) | :: | tree | |||
integer(kind=int32), | intent(inout) | :: | entry_i | |||
integer(kind=int32), | intent(inout) | :: | exit_i | |||
type(cube_t), | intent(inout) | :: | entire |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(in) | :: | self | |||
type(nfa_state_set_t), | intent(inout) | :: | state_set |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(inout) | :: | self | |||
type(cube_t), | intent(inout) | :: | cube |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(in) | :: | self | |||
type(nfa_state_set_t), | intent(inout) | :: | state_set | |||
integer, | intent(in) | :: | idx |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(inout) | :: | self |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(in) | :: | self | |||
integer(kind=int32), | intent(in) | :: | uni | |||
integer(kind=int32), | intent(in) | :: | nfa_exit |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nfa_graph_t), | intent(inout) | :: | self |