| 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 |
| 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 | 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 |
type, public :: nfa_graph_t type(nfa_state_node_t), allocatable :: graph(:) integer(int32) :: top = 0 integer(int32) :: entry = 0 integer(int32) :: exit = 0 integer(int32) :: nfa_base = NFA_STATE_BASE integer(int32) :: nfa_limit = NFA_STATE_LIMIT contains procedure :: new_nfa_node => nfa_graph__new_node procedure :: is_exceeded => nfa_graph__is_exceeded procedure :: reallocate => nfa_graph__reallocate procedure :: build => nfa_graph__build procedure :: collect_epsilon_transition => nfa_graph__collect_epsilon_transition procedure :: mark_epsilon_transition => nfa_graph__mark_epsilon_transition procedure :: disjoin => nfa_graph__disjoin procedure :: print => nfa_graph__print end type nfa_graph_t