- Main Page
- Modules
- Data Structures
- Files

- Data Structures
- Data Fields

# yaml_parser_s Struct Reference
[Parser Definitions]

The parser structure. More...

`#include <yaml.h>`

## Data Fields
const unsigned char * | start
| The string start pointer.
const unsigned char * | end
| The string end pointer.
const unsigned char * | current
| The string current position.
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.
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.
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.
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.
int * | start
| The beginning of the stack.
int * | end
| The end of the stack.
int * | top
| The top of the stack.
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.
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.
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.
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.
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.
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
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