This derived-type contains all node of syntax-tree in the tree_node_t type array nodes.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | code | = | SYNTAX_VALID | ||
| logical, | public | :: | is_valid | = | .true. | ||
| type(tree_node_t), | public, | allocatable | :: | nodes(:) | |||
| integer, | public | :: | num_alloc | = | 0 | ||
| integer, | public | :: | paren_balance | ||||
| type(tape_t), | public | :: | tape | ||||
| integer, | public | :: | top | = | INVALID_INDEX |
This procedure builds an AST corresponding to a given (regular expression) pattern from it.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| character(len=*), | intent(in) | :: | pattern |
This function constructs a tree node for carriage return (CR) and line feed (LF) characters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
This subroutine treats character class expression, and does not call any other recursive procedures.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | parent | |||
| integer, | intent(in) | :: | child |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | parent | |||
| integer, | intent(in) | :: | child |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
This procedure deallocates nodes of tree_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| integer(kind=int32), | intent(inout) | :: | cp |
This procedure handles a escape sequence with '\x'.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| type(segment_t), | intent(inout), | allocatable | :: | seglist(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(in) | :: | self | |||
| integer, | intent(in) | :: | uni |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| type(segment_t), | intent(inout), | allocatable | :: | seglist(:) |
This procedure handles the reallcation of the tree_node_t type array
within the component of the tree_t object.
However, it is not be used in v4.2.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| type(tree_node_t), | intent(inout) | :: | node |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self | |||
| type(tree_node_t), | intent(inout) | :: | node | |||
| type(tree_node_t), | intent(in) | :: | left | |||
| type(tree_node_t), | intent(in) | :: | right |
This function handles shorthand escape sequences (\t, \n, \r, \d, \D,
\w, \W, \s, \S).
It does not call any other recursive procedures.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |
This subroutine handles a quantifier range, and does not call any other recursive procedures.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tree_t), | intent(inout) | :: | self |