yaml_parser_s Struct Reference
Parser Definitions

The parser structure. More...

`#include <yaml.h>`

## Data Fields

Error handling
yaml_error_type_t | error
| Error type.
const char * | problem
| Error description.
size_t | problem_offset
| The byte about which the problem occured.
int | problem_value
| The problematic value (`-1` is none).
yaml_mark_t | problem_mark
| The problem position.
const char * | context
| The error context.
yaml_mark_t | context_mark
| The context position.
Reader stuff
yaml_read_handler_t * | read_handler
| Read handler.
void * | read_handler_data
| A pointer for passing to the read handler.
union { |
struct { |
const unsigned char * start |
| The string start pointer.
const unsigned char * end |
| The string end pointer.
const unsigned char * current |
| The string current position.
} string
| String input data.
FILE * file |
| File input data.
} | input
| Standard (string or file) input data.
int | eof
| EOF flag.
struct { |
yaml_char_t * start |
| The beginning of the buffer.
yaml_char_t * end |
| The end of the buffer.
yaml_char_t * pointer |
| The current position of the buffer.
yaml_char_t * last |
| The last filled position of the buffer.
} | buffer
| The working buffer.
size_t | unread
struct { |
unsigned char * start |
| The beginning of the buffer.
unsigned char * end |
| The end of the buffer.
unsigned char * pointer |
| The current position of the buffer.
unsigned char * last |
| The last filled position of the buffer.
} | raw_buffer
| The raw buffer.
yaml_encoding_t | encoding
| The input encoding.
size_t | offset
| The offset of the current position (in bytes).
yaml_mark_t | mark
| The mark of the current position.
Scanner stuff
int | stream_start_produced
| Have we started to scan the input stream?
int | stream_end_produced
| Have we reached the end of the input stream?
int | flow_level
| The number of unclosed '[' and '{' indicators.
struct { |
yaml_token_t * start |
| The beginning of the tokens queue.
yaml_token_t * end |
| The end of the tokens queue.
yaml_token_t * head |
| The head of the tokens queue.
yaml_token_t * tail |
| The tail of the tokens queue.
} | tokens
| The tokens queue.
size_t | tokens_parsed
| The number of tokens fetched from the queue.
int | token_available
| Does the tokens queue contain a token ready for dequeueing.
struct { |
int * start |
| The beginning of the stack.
int * end |
| The end of the stack.
int * top |
| The top of the stack.
} | indents
| The indentation levels stack.
int | indent
| The current indentation level.
int | simple_key_allowed
| May a simple key occur at the current position?
struct { |
yaml_simple_key_t * start |
| The beginning of the stack.
yaml_simple_key_t * end |
| The end of the stack.
yaml_simple_key_t * top |
| The top of the stack.
} | simple_keys
| The stack of simple keys.
Parser stuff
struct { |
yaml_parser_state_t * start |
| The beginning of the stack.
yaml_parser_state_t * end |
| The end of the stack.
yaml_parser_state_t * top |
| The top of the stack.
} | states
| The parser states stack.
yaml_parser_state_t | state
| The current parser state.
struct { |
yaml_mark_t * start |
| The beginning of the stack.
yaml_mark_t * end |
| The end of the stack.
yaml_mark_t * top |
| The top of the stack.
} | marks
| The stack of marks.
struct { |
yaml_tag_directive_t * start |
| The beginning of the list.
yaml_tag_directive_t * end |
| The end of the list.
yaml_tag_directive_t * top |
| The top of the list.
} | tag_directives
| The list of TAG directives.
Dumper stuff
struct { |
yaml_alias_data_t * start |
| The beginning of the list.
yaml_alias_data_t * end |
| The end of the list.
yaml_alias_data_t * top |
| The top of the list.
} | aliases
| The alias data.
yaml_document_t * | document
| The currently parsed document.

## Detailed Description

The parser structure.

All members are internal. Manage the structure using the `yaml_parser_` family of functions.

The documentation for this struct was generated from the following file:

- yaml.h