# 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.

## Field Documentation

yaml_error_type_t yaml_parser_s::error

Error type.

const char* yaml_parser_s::problem

Error description.

size_t yaml_parser_s::problem_offset

The byte about which the problem occured.

int yaml_parser_s::problem_value

The problematic value (`-1` is none).

yaml_mark_t yaml_parser_s::problem_mark

The problem position.

const char* yaml_parser_s::context

The error context.

yaml_mark_t yaml_parser_s::context_mark

The context position.

yaml_read_handler_t* yaml_parser_s::read_handler

Read handler.

void* yaml_parser_s::read_handler_data

A pointer for passing to the read handler.

const unsigned char* yaml_parser_s::start

The string start pointer.

const unsigned char* yaml_parser_s::end

The string end pointer.

const unsigned char* yaml_parser_s::current

The string current position.

struct { ... } yaml_parser_s::string

String input data.

FILE* yaml_parser_s::file

File input data.

union { ... } yaml_parser_s::input

Standard (string or file) input data.

yaml_char_t* yaml_parser_s::start

The beginning of the buffer.

yaml_char_t* yaml_parser_s::end

The end of the buffer.

yaml_char_t* yaml_parser_s::pointer

The current position of the buffer.

yaml_char_t* yaml_parser_s::last

The last filled position of the buffer.

struct { ... } yaml_parser_s::buffer

The working buffer.

unsigned char* yaml_parser_s::start

The beginning of the buffer.

unsigned char* yaml_parser_s::end

The end of the buffer.

unsigned char* yaml_parser_s::pointer

The current position of the buffer.

unsigned char* yaml_parser_s::last

The last filled position of the buffer.

struct { ... } yaml_parser_s::raw_buffer

The raw buffer.

yaml_encoding_t yaml_parser_s::encoding

The input encoding.

size_t yaml_parser_s::offset

The offset of the current position (in bytes).

yaml_mark_t yaml_parser_s::mark

The mark of the current position.

int yaml_parser_s::flow_level

The number of unclosed '[' and '{' indicators.

yaml_token_t* yaml_parser_s::start

The beginning of the tokens queue.

yaml_token_t* yaml_parser_s::end

The end of the tokens queue.

yaml_token_t* yaml_parser_s::head

The head of the tokens queue.

yaml_token_t* yaml_parser_s::tail

The tail of the tokens queue.

struct { ... } yaml_parser_s::tokens

The tokens queue.

size_t yaml_parser_s::tokens_parsed

The number of tokens fetched from the queue.

int* yaml_parser_s::start

The beginning of the stack.

int* yaml_parser_s::end

The end of the stack.

int* yaml_parser_s::top

The top of the stack.

struct { ... } yaml_parser_s::indents

The indentation levels stack.

int yaml_parser_s::indent

The current indentation level.

yaml_simple_key_t* yaml_parser_s::start

The beginning of the stack.

yaml_simple_key_t* yaml_parser_s::end

The end of the stack.

yaml_simple_key_t* yaml_parser_s::top

The top of the stack.

struct { ... } yaml_parser_s::simple_keys

The stack of simple keys.

yaml_parser_state_t* yaml_parser_s::start

The beginning of the stack.

yaml_parser_state_t* yaml_parser_s::end

The end of the stack.

yaml_parser_state_t* yaml_parser_s::top

The top of the stack.

struct { ... } yaml_parser_s::states

The parser states stack.

yaml_parser_state_t yaml_parser_s::state

The current parser state.

yaml_mark_t* yaml_parser_s::start

The beginning of the stack.

yaml_mark_t* yaml_parser_s::end

The end of the stack.

yaml_mark_t* yaml_parser_s::top

The top of the stack.

struct { ... } yaml_parser_s::marks

The stack of marks.

yaml_tag_directive_t* yaml_parser_s::start

The beginning of the list.

yaml_tag_directive_t* yaml_parser_s::end

The end of the list.

yaml_tag_directive_t* yaml_parser_s::top

The top of the list.

struct { ... } yaml_parser_s::tag_directives

The list of TAG directives.

yaml_alias_data_t* yaml_parser_s::start

The beginning of the list.

yaml_alias_data_t* yaml_parser_s::end

The end of the list.

yaml_alias_data_t* yaml_parser_s::top

The top of the list.

struct { ... } yaml_parser_s::aliases

The alias data.

yaml_document_t* yaml_parser_s::document

The currently parsed document.

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

- yaml.h