Ruby
2.1.10p492(2016-04-01revision54464)
|
Data Structures | |
struct | yaml_simple_key_s |
This structure holds information about a potential simple key. More... | |
struct | yaml_alias_data_s |
This structure holds aliases data. More... | |
struct | yaml_parser_s |
The parser structure. More... | |
Typedefs | |
typedef int | yaml_read_handler_t(void *data, unsigned char *buffer, size_t size, size_t *size_read) |
The prototype of a read handler. More... | |
typedef struct yaml_simple_key_s | yaml_simple_key_t |
This structure holds information about a potential simple key. More... | |
typedef enum yaml_parser_state_e | yaml_parser_state_t |
The states of the parser. More... | |
typedef struct yaml_alias_data_s | yaml_alias_data_t |
This structure holds aliases data. More... | |
typedef struct yaml_parser_s | yaml_parser_t |
The parser structure. More... | |
Functions | |
yaml_parser_initialize (yaml_parser_t *parser) | |
Initialize a parser. More... | |
yaml_parser_delete (yaml_parser_t *parser) | |
Destroy a parser. More... | |
yaml_parser_set_input_string (yaml_parser_t *parser, const unsigned char *input, size_t size) | |
Set a string input. More... | |
yaml_parser_set_input_file (yaml_parser_t *parser, FILE *file) | |
Set a file input. More... | |
yaml_parser_set_input (yaml_parser_t *parser, yaml_read_handler_t *handler, void *data) | |
Set a generic input handler. More... | |
yaml_parser_set_encoding (yaml_parser_t *parser, yaml_encoding_t encoding) | |
Set the source encoding. More... | |
yaml_parser_scan (yaml_parser_t *parser, yaml_token_t *token) | |
Scan the input stream and produce the next token. More... | |
yaml_parser_parse (yaml_parser_t *parser, yaml_event_t *event) | |
Parse the input stream and produce the next parsing event. More... | |
yaml_parser_load (yaml_parser_t *parser, yaml_document_t *document) | |
Parse the input stream and produce the next YAML document. More... | |
typedef struct yaml_alias_data_s yaml_alias_data_t |
This structure holds aliases data.
typedef enum yaml_parser_state_e yaml_parser_state_t |
The states of the parser.
typedef struct yaml_parser_s yaml_parser_t |
The parser structure.
All members are internal. Manage the structure using the yaml_parser_
family of functions.
typedef int yaml_read_handler_t(void *data, unsigned char *buffer, size_t size, size_t *size_read) |
The prototype of a read handler.
The read handler is called when the parser needs to read more bytes from the source. The handler should write not more than size bytes to the buffer. The number of written bytes should be set to the length variable.
[in,out] | data | A pointer to an application data specified by yaml_parser_set_input(). |
[out] | buffer | The buffer to write the data from the source. |
[in] | size | The size of the buffer. |
[out] | size_read | The actual number of bytes read from the source. |
1
. If the handler failed, the returned value should be 0
. On EOF, the handler should set the size_read to 0
and return 1
. typedef struct yaml_simple_key_s yaml_simple_key_t |
This structure holds information about a potential simple key.
enum yaml_parser_state_e |
The states of the parser.
yaml_parser_delete | ( | yaml_parser_t * | parser | ) |
Destroy a parser.
[in,out] | parser | A parser object. |
Definition at line 214 of file api.c.
References assert, BUFFER_DEL, DEQUEUE, yaml_tag_directive_s::handle, POP, yaml_tag_directive_s::prefix, QUEUE_DEL, QUEUE_EMPTY, STACK_DEL, STACK_EMPTY, yaml_free(), and yaml_token_delete().
yaml_parser_initialize | ( | yaml_parser_t * | parser | ) |
Initialize a parser.
This function creates a new parser object. An application is responsible for destroying the object using the yaml_parser_delete() function.
[out] | parser | An empty parser object. |
1
if the function succeeded, 0
on error. Definition at line 171 of file api.c.
References assert, BUFFER_DEL, BUFFER_INIT, INITIAL_QUEUE_SIZE, INITIAL_STACK_SIZE, INPUT_BUFFER_SIZE, INPUT_RAW_BUFFER_SIZE, QUEUE_DEL, QUEUE_INIT, STACK_DEL, and STACK_INIT.
Referenced by allocate(), and parse().
yaml_parser_load | ( | yaml_parser_t * | parser, |
yaml_document_t * | document | ||
) |
Parse the input stream and produce the next YAML document.
Call this function subsequently to produce a sequence of documents constituting the input stream.
If the produced document has no root node, it means that the document end has been reached.
An application is responsible for freeing any data associated with the produced document object using the yaml_document_delete() function.
An application must not alternate the calls of yaml_parser_load() with the calls of yaml_parser_scan() or yaml_parser_parse(). Doing this will break the parser.
[in,out] | parser | A parser object. |
[out] | document | An empty document object. |
1
if the function succeeded, 0
on error. Definition at line 67 of file loader.c.
References assert, INITIAL_STACK_SIZE, NULL, STACK_INIT, yaml_event_s::type, yaml_document_delete(), yaml_parser_delete_aliases(), yaml_parser_load_document(), yaml_parser_parse(), YAML_STREAM_END_EVENT, and YAML_STREAM_START_EVENT.
yaml_parser_parse | ( | yaml_parser_t * | parser, |
yaml_event_t * | event | ||
) |
Parse the input stream and produce the next parsing event.
Call the function subsequently to produce a sequence of events corresponding to the input stream. The initial event has the type YAML_STREAM_START_EVENT
while the ending event has the type YAML_STREAM_END_EVENT
.
An application is responsible for freeing any buffers associated with the produced event object using the yaml_event_delete() function.
An application must not alternate the calls of yaml_parser_parse() with the calls of yaml_parser_scan() or yaml_parser_load(). Doing this will break the parser.
[in,out] | parser | A parser object. |
[out] | event | An empty event object. |
1
if the function succeeded, 0
on error. Definition at line 170 of file parser.c.
References assert, YAML_PARSE_END_STATE, and yaml_parser_state_machine().
Referenced by parse(), yaml_parser_load(), yaml_parser_load_document(), yaml_parser_load_mapping(), and yaml_parser_load_sequence().
yaml_parser_scan | ( | yaml_parser_t * | parser, |
yaml_token_t * | token | ||
) |
Scan the input stream and produce the next token.
Call the function subsequently to produce a sequence of tokens corresponding to the input stream. The initial token has the type YAML_STREAM_START_TOKEN
while the ending token has the type YAML_STREAM_END_TOKEN
.
An application is responsible for freeing any buffers associated with the produced token object using the yaml_token_delete
function.
An application must not alternate the calls of yaml_parser_scan() with the calls of yaml_parser_parse() or yaml_parser_load(). Doing this will break the parser.
[in,out] | parser | A parser object. |
[out] | token | An empty token object. |
1
if the function succeeded, 0
on error. Definition at line 742 of file scanner.c.
References assert, DEQUEUE, token, yaml_parser_fetch_more_tokens(), and YAML_STREAM_END_TOKEN.
yaml_parser_set_encoding | ( | yaml_parser_t * | parser, |
yaml_encoding_t | encoding | ||
) |
yaml_parser_set_input | ( | yaml_parser_t * | parser, |
yaml_read_handler_t * | handler, | ||
void * | data | ||
) |
yaml_parser_set_input_file | ( | yaml_parser_t * | parser, |
FILE * | file | ||
) |
Set a file input.
file should be a file object open for reading. The application is responsible for closing the file.
[in,out] | parser | A parser object. |
[in] | file | An open file. |
Definition at line 303 of file api.c.
References assert, and yaml_file_read_handler().
yaml_parser_set_input_string | ( | yaml_parser_t * | parser, |
const unsigned char * | input, | ||
size_t | size | ||
) |
Set a string input.
Note that the input pointer must be valid while the parser object exists. The application is responsible for destroing input after destroying the parser.
[in,out] | parser | A parser object. |
[in] | input | A source data. |
[in] | size | The length of the source data in bytes. |
Definition at line 283 of file api.c.
References assert, input, size, and yaml_string_read_handler().
Referenced by parse().