yaml Module


Uses

  • module~~yaml~~UsesGraph module~yaml yaml module~yaml_types yaml_types module~yaml->module~yaml_types

Used by

  • module~~yaml~~UsedByGraph module~yaml yaml module~yaml_settings yaml_settings module~yaml_settings->module~yaml program~test_yaml test_yaml program~test_yaml->module~yaml

Contents


Variables

TypeVisibility AttributesNameInitial
integer, private, parameter:: line_length =2048
integer, public, parameter:: error_length =2048

Derived Types

type, private :: type_file

Components

TypeVisibility AttributesNameInitial
integer, public :: unit =-1
character(len=line_length), public :: line =''
integer, public :: indent =0
logical, public :: eof =.false.
integer, public :: iline =0
character(len=error_length), public :: error_message =''
logical, public :: has_error =.false.

Type-Bound Procedures

procedure, public :: next_line
procedure, public :: set_error

Functions

public function parse(path, unit, error) result(root)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: path
integer, intent(in) :: unit
character(len=error_length), intent(out) :: error

Return Value class(type_node), pointer

private recursive function read_value(file) result(node)

Arguments

Type IntentOptional AttributesName
class(type_file), intent(inout) :: file

Return Value class(type_node), pointer

private recursive function read_key_value_pair(file, icolon, icolon_stop) result(pair)

Arguments

Type IntentOptional AttributesName
class(type_file), intent(inout) :: file
integer, intent(in) :: icolon
integer, intent(in) :: icolon_stop

Return Value type(type_key_value_pair)

private function is_whitespace(string)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: string

Return Value logical


Subroutines

private subroutine next_line(file)

Arguments

Type IntentOptional AttributesName
class(type_file), intent(inout) :: file

private subroutine find_mapping_character(string, istart, istop)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: string
integer, intent(out) :: istart
integer, intent(out) :: istop

private subroutine set_error(file, error)

Arguments

Type IntentOptional AttributesName
class(type_file), intent(inout) :: file
character(len=*), intent(in) :: error