Automatic definition of arguments yaml_parse

This module deals with the parsing of yaml streams and their conversion into FUTILE dictionaries.

Anyone which uses python knows how practical it the usage of the argparse module. This FORTRAN module is an attempt to combine the ideas of the argparse approach with the yaml syntax.

Quick access

Routines:yaml_parse_errors_finalize(), yaml_parse_errors(), yaml_parse_from_char_array(), yaml_parse_from_file(), yaml_parse_from_string(), yaml_parse_database(), yaml_argparse(), yaml_cl_parse_free(), yaml_cl_parse_init(), yaml_cl_parse_cmd_line(), yaml_cl_parse_option_from_dict(), yaml_cl_parse_option(), yaml_cl_parse_option_from_string(), yaml_cl_parse_null(), yaml_load()

Needed modules

Subroutines and functions

function yaml_parse/yaml_cl_parse_null()
Return:parser [yaml_cl_parse]
Called from:yaml_argparse(), yaml_cl_parse_free()
subroutine yaml_parse/yaml_cl_parse_free(parser)
Parameters:parser [yaml_cl_parse,inout]
Use :dictionaries_base (dict_free())
Called from:yaml_argparse(), yaml_cl_parse_cmd_line()
Call to:dict_free(), yaml_cl_parse_null()
subroutine yaml_parse/yaml_cl_parse_option(parser, name, default_bn, help_string[, shortname[, help_dict[, first_option[, conflicts]]]])
Parameters:
  • parser [yaml_cl_parse,inout]
  • name [character,in] :: protected value
  • default_bn [character,in]
  • help_string [character,in]
Options:
  • shortname [character,in,optional]
  • help_dict [dictionary,optional/pointer]
  • first_option [logical,in,optional]
  • conflicts [character,in,optional]
Use :

dictionaries, yaml_strings

Called from:

yaml_argparse(), yaml_cl_parse_option_from_dict()

Call to:

dict_new(), dict_iter(), dict_key(), dict_next(), yaml_load(), dict_update(), dict_free(), dict_init()

subroutine yaml_parse/yaml_cl_parse_option_from_string(parser, string_bn)
Parameters:
  • parser [yaml_cl_parse,inout]
  • string_bn [character,in]
Use :

dictionaries

Call to:

yaml_load(), dict_islist(), yaml_cl_parse_option_from_dict(), dict_free()

subroutine yaml_parse/yaml_cl_parse_option_from_dict(parser, dict)
Parameters:
  • parser [yaml_cl_parse,inout]
  • dict [dictionary,pointer]
Use :

dictionaries, f_utils (f_zero())

Called from:

yaml_cl_parse_option_from_string()

Call to:

dict_copy(), yaml_cl_parse_option()

subroutine yaml_parse/yaml_argparse(options, string_bn)
Parameters:
  • options [dictionary,pointer]
  • string_bn [character,in]
Use :

dictionaries, f_utils (f_zero())

Call to:

yaml_cl_parse_null(), yaml_cl_parse_option(), yaml_cl_parse_cmd_line(), yaml_cl_parse_free()

subroutine yaml_parse/yaml_cl_parse_init(parser)
Parameters:parser [yaml_cl_parse,inout]
Use :dictionaries
Called from:yaml_cl_parse_cmd_line()
Call to:dict_free(), dict_init(), dict_iter(), dict_key(), dict_next()
subroutine yaml_parse/yaml_cl_parse_cmd_line(parser[, args])
Parameters:parser [yaml_cl_parse,inout]
Options:args [dictionary,out,optional/pointer]
Use :yaml_output, dictionaries, yaml_strings (f_strcpy())
Called from:yaml_argparse()
Call to:yaml_cl_parse_init(), f_err_check(), dict_update(), dict_free(), dict_iter(), dict_key(), dict_value(), dict_next(), dict_copy(), get_cmd(), parser_help(), yaml_cl_parse_free(), yaml_load()
subroutine yaml_parse/yaml_parse_errors()
Use :dictionaries
Call to:f_err_define(), dict_new()
subroutine yaml_parse/yaml_parse_from_file(dict, fname)
Parameters:
Use :

dictionaries

Call to:

yaml_parse_()

subroutine yaml_parse/yaml_parse_database(dict, symbol)
Parameters:
  • dict [dictionary,pointer]
  • symbol [external] :: <we fill the array
Use :

yaml_parse_database__user__routines, f_precisions

Call to:

yaml_parse_from_char_array()

subroutine yaml_parse/yaml_parse_from_char_array(dict, carr)
Parameters:
  • dict [dictionary,pointer]
  • carr (*) [character,in]
Use :

dictionaries

Called from:

yaml_parse_database()

Call to:

yaml_parse_()

subroutine yaml_parse/yaml_parse_from_string(dict, str)
Parameters:
Use :

dictionaries

Called from:

yaml_load()

Call to:

yaml_parse_()

function yaml_parse/yaml_load(string_bn[, key])
Parameters:string_bn [character,in]
Options:key [character,in,optional]
Return:dict [dictionary,pointer]
Use :dictionaries, yaml_strings (f_strcpy())
Called from:yaml_cl_parse_option_from_string(), yaml_cl_parse_option(), yaml_cl_parse_cmd_line()
Call to:yaml_parse_from_string(), dict_free(), dict_value(), dict_init(), dict_copy(), dict_new(), dict_iter()
subroutine yaml_parse/yaml_parse_errors_finalize()
Use :dictionaries_base (dict_free())
Call to:dict_free()