| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=0), | private, | parameter | :: | theta | = | '' |
This type is wrapper to make a allocatable character array with variable length.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | c |
This type contains a character variables that represents each literal: all, pref, suff, and fact.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(character_array_element_t), | public | :: | all | ||||
| type(character_array_element_t), | public | :: | fact | ||||
| logical, | public | :: | flag_class | = | .false. | ||
| logical, | public | :: | flag_closure | = | .false. | ||
| type(character_array_element_t), | public | :: | pref | ||||
| type(character_array_element_t), | public | :: | suff |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | c1 | |||
| character(len=*), | intent(in) | :: | c2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | f_L_class | |||
| logical, | intent(in) | :: | f_r_class | |||
| logical, | intent(in) | :: | f_l_closure | |||
| logical, | intent(in) | :: | f_r_closure |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | c1 | |||
| character(len=*), | intent(in) | :: | c2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | c1 | |||
| character(len=*), | intent(in) | :: | c2 |
This is the public procedure of this module to obtain each literal from AST.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tree_t), | intent(in) | :: | tree | |||
| character(len=:), | intent(inout), | allocatable | :: | all | ||
| character(len=:), | intent(inout), | allocatable | :: | prefix | ||
| character(len=:), | intent(inout), | allocatable | :: | suffix | ||
| character(len=:), | intent(inout), | allocatable | :: | factor |
This is recursive procedure to tour a given syntax tree.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tree_node_t), | intent(in) | :: | nodes(:) | |||
| integer, | intent(in) | :: | idx | |||
| type(literal_t), | intent(inout) | :: | lit |