@@ -309,7 +309,7 @@ logical function matchcharclass(c,str) result(match)
309309
310310 end function matchcharclass
311311
312- logical function matchquestion (p , pattern , text , matchlength )
312+ recursive logical function matchquestion(p, pattern, text, matchlength)
313313 type (regex_token), intent (in ) :: p, pattern(:)
314314 character (len=* ,kind= RCK), intent (in ) :: text
315315 integer , intent (inout ) :: matchlength
@@ -334,7 +334,7 @@ logical function matchquestion(p, pattern, text, matchlength)
334334
335335 end function matchquestion
336336
337- logical function matchstar (p , pattern , text , it0 , matchlength )
337+ recursive logical function matchstar(p, pattern, text, it0, matchlength)
338338 type (regex_token), intent (in ) :: p, pattern(:)
339339 character (len=* ,kind= RCK), intent (in ) :: text
340340 integer , intent (in ) :: it0 ! starting point
@@ -371,7 +371,7 @@ logical function matchstar(p, pattern, text, it0, matchlength)
371371
372372 end function matchstar
373373
374- logical function matchplus (p , pattern , text , it0 , matchlength )
374+ recursive logical function matchplus(p, pattern, text, it0, matchlength)
375375 type (regex_token), intent (in ) :: p, pattern(:)
376376 character (len=* ,kind= RCK), intent (in ) :: text
377377 integer , intent (in ) :: it0
@@ -615,7 +615,7 @@ function print_pattern(pattern) result(msg)
615615 end function print_pattern
616616
617617 ! Match a single pattern at the g
618- logical function pat_match (p , c ) result(match)
618+ recursive logical function pat_match(p, c) result(match)
619619 class(regex_token), intent (in ) :: p
620620 character (kind= RCK), intent (in ) :: c
621621
0 commit comments