subroutine runner_do_matching_including(automaton, text, from, to, prefix, suffix, flag_no_literal_optimize, runs_engine)
use :: forgex_syntax_tree_optimize_m
use :: forgex_automaton_m
use :: forgex_api_internal_m
use :: forgex_cli_api_internal_no_opts_m
implicit none
type(automaton_t), intent(inout) :: automaton
character(*), intent(in) :: text
integer(int32), intent(inout) :: from, to
character(*), intent(in) :: prefix, suffix
logical,intent(in) :: flag_no_literal_optimize
logical, intent(inout) :: runs_engine
if (flag_no_literal_optimize) then
call do_matching_including_no_literal_opts(automaton, text, from, to)
runs_engine = .true.
else
call do_matching_including(automaton, text, from, to, prefix, suffix, runs_engine)
end if
end subroutine runner_do_matching_including