Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tree_t), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | pattern |
pure subroutine tree_graph__build_syntax_tree(self, pattern) implicit none class(tree_t), intent(inout) :: self character(*), intent(in) :: pattern integer :: i, status ! if (allocated(self%nodes)) deallocate(self%nodes) allocate(self%nodes(TREE_NODE_BASE:TREE_NODE_UNIT), stat=status) self%nodes(TREE_NODE_BASE:TREE_NODE_UNIT)%own_i = [(i, i=TREE_NODE_BASE, TREE_NODE_UNIT)] self%num_alloc = 1 self%tape%idx = 1 self%tape%str = pattern self%top = 0 call self%tape%get_token() call self%regex() self%nodes(self%top)%parent_i = TERMINAL_INDEX end subroutine tree_graph__build_syntax_tree