check_unsupported Subroutine

private subroutine check_unsupported(word, path, line, errors, n_err)

Flag unsupported namelist syntax embedded in a bare token.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: word
character(len=*), intent(in) :: path
integer, intent(in) :: line
character(len=:), intent(inout), allocatable :: errors(:)
integer, intent(inout) :: n_err

Calls

proc~~check_unsupported~~CallsGraph proc~check_unsupported check_unsupported proc~add_err add_err proc~check_unsupported->proc~add_err proc~is_repeat_count is_repeat_count proc~check_unsupported->proc~is_repeat_count proc~make_prefix make_prefix proc~check_unsupported->proc~make_prefix proc~fmt_int fmt_int proc~make_prefix->proc~fmt_int

Called by

proc~~check_unsupported~~CalledByGraph proc~check_unsupported check_unsupported proc~collect_tokens collect_tokens proc~collect_tokens->proc~check_unsupported proc~parse_group_body parse_group_body proc~parse_group_body->proc~collect_tokens proc~dispatch_group dispatch_group proc~dispatch_group->proc~parse_group_body proc~parse_from_lines parse_from_lines proc~parse_from_lines->proc~dispatch_group proc~parse_file parse_file proc~parse_file->proc~parse_from_lines proc~schema_parse_lines nml_schema_t%schema_parse_lines proc~schema_parse_lines->proc~parse_from_lines

Source Code

   subroutine check_unsupported(word, path, line, errors, n_err)
      !! Flag unsupported namelist syntax embedded in a bare token.
      character(len=*), intent(in) :: word
      character(len=*), intent(in) :: path
      integer, intent(in) :: line
      character(len=:), allocatable, intent(inout) :: errors(:)
      integer, intent(inout) :: n_err

      if (index(word, "%") > 0) then
         call add_err(errors, n_err, make_prefix(path, line)// &
                      "derived-type reference '"//trim(word)//"' is not supported")
      else if (index(word, "(") > 0) then
         call add_err(errors, n_err, make_prefix(path, line)// &
                      "indexed assignment '"//trim(word)//"' is not supported")
      else if (is_repeat_count(word)) then
         call add_err(errors, n_err, make_prefix(path, line)// &
                      "repeat-count syntax '"//trim(word)//"' is not supported")
      end if
   end subroutine check_unsupported