Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

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

## Detailed Description

The parser structure.

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

Definition at line 1081 of file yaml.h.

## Field Documentation

struct { ... } yaml_parser_s::aliases

The alias data.

Referenced by yaml_parser_delete_aliases(), yaml_parser_load_alias(), and yaml_parser_register_anchor().

struct { ... } yaml_parser_s::buffer

The working buffer.

Referenced by yaml_parser_fetch_next_token(), yaml_parser_scan_anchor(), yaml_parser_scan_block_scalar(), yaml_parser_scan_block_scalar_breaks(), yaml_parser_scan_directive(), yaml_parser_scan_directive_name(), yaml_parser_scan_flow_scalar(), yaml_parser_scan_plain_scalar(), yaml_parser_scan_tag(), yaml_parser_scan_tag_directive_value(), yaml_parser_scan_tag_handle(), yaml_parser_scan_tag_uri(), yaml_parser_scan_to_next_token(), yaml_parser_scan_uri_escapes(), yaml_parser_scan_version_directive_number(), and yaml_parser_scan_version_directive_value().

const char* yaml_parser_s::context

The error context.

Definition at line 1099 of file yaml.h.

Referenced by make_exception(), yaml_parser_set_composer_error_context(), yaml_parser_set_parser_error_context(), and yaml_parser_set_scanner_error().

yaml_mark_t yaml_parser_s::context_mark

The context position.

Definition at line 1101 of file yaml.h.

Referenced by make_exception(), yaml_parser_set_composer_error_context(), yaml_parser_set_parser_error_context(), and yaml_parser_set_scanner_error().

const unsigned char* yaml_parser_s::current

The string current position.

Definition at line 1127 of file yaml.h.

yaml_document_t* yaml_parser_s::document

The currently parsed document.

Definition at line 1297 of file yaml.h.

Referenced by yaml_parser_load_document(), yaml_parser_load_mapping(), yaml_parser_load_scalar(), yaml_parser_load_sequence(), and yaml_parser_register_anchor().

yaml_encoding_t yaml_parser_s::encoding

The input encoding.

Definition at line 1165 of file yaml.h.

Referenced by yaml_parser_determine_encoding(), and yaml_parser_fetch_stream_start().

const unsigned char* yaml_parser_s::end

The string end pointer.

Definition at line 1125 of file yaml.h.

Referenced by yaml_parser_update_raw_buffer().

yaml_char_t* yaml_parser_s::end

The end of the buffer.

Definition at line 1142 of file yaml.h.

unsigned char* yaml_parser_s::end

The end of the buffer.

Definition at line 1157 of file yaml.h.

yaml_token_t* yaml_parser_s::end

The end of the tokens queue.

Definition at line 1196 of file yaml.h.

int* yaml_parser_s::end

The end of the stack.

Definition at line 1214 of file yaml.h.

yaml_simple_key_t* yaml_parser_s::end

The end of the stack.

Definition at line 1230 of file yaml.h.

yaml_parser_state_t* yaml_parser_s::end

The end of the stack.

Definition at line 1249 of file yaml.h.

yaml_mark_t* yaml_parser_s::end

The end of the stack.

Definition at line 1262 of file yaml.h.

yaml_tag_directive_t* yaml_parser_s::end

The end of the list.

Definition at line 1272 of file yaml.h.

yaml_alias_data_t* yaml_parser_s::end

The end of the list.

Definition at line 1291 of file yaml.h.

int yaml_parser_s::eof

EOF flag.

Definition at line 1135 of file yaml.h.

Referenced by yaml_parser_determine_encoding(), and yaml_parser_update_raw_buffer().

yaml_error_type_t yaml_parser_s::error

Error type.

Definition at line 1089 of file yaml.h.

Referenced by yaml_parser_append_tag_directive(), yaml_parser_parse_node(), yaml_parser_process_directives(), yaml_parser_process_empty_scalar(), yaml_parser_scan_tag_uri(), yaml_parser_set_composer_error(), yaml_parser_set_composer_error_context(), yaml_parser_set_parser_error(), yaml_parser_set_parser_error_context(), and yaml_parser_set_scanner_error().

FILE* yaml_parser_s::file

File input data.

Definition at line 1131 of file yaml.h.

Referenced by yaml_file_read_handler().

int yaml_parser_s::flow_level

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

Definition at line 1189 of file yaml.h.

Referenced by yaml_parser_decrease_flow_level(), yaml_parser_fetch_block_entry(), yaml_parser_fetch_key(), yaml_parser_fetch_next_token(), yaml_parser_fetch_value(), yaml_parser_increase_flow_level(), yaml_parser_roll_indent(), yaml_parser_save_simple_key(), yaml_parser_scan_plain_scalar(), yaml_parser_scan_to_next_token(), and yaml_parser_unroll_indent().

yaml_token_t* yaml_parser_s::head

The head of the tokens queue.

Definition at line 1198 of file yaml.h.

Referenced by yaml_parser_save_simple_key().

int yaml_parser_s::indent

The current indentation level.

Definition at line 1220 of file yaml.h.

Referenced by yaml_parser_fetch_stream_start(), yaml_parser_roll_indent(), yaml_parser_save_simple_key(), yaml_parser_scan_block_scalar(), yaml_parser_scan_block_scalar_breaks(), yaml_parser_scan_plain_scalar(), and yaml_parser_unroll_indent().

struct { ... } yaml_parser_s::indents

The indentation levels stack.

Referenced by yaml_parser_roll_indent(), and yaml_parser_unroll_indent().

union { ... } yaml_parser_s::input

Standard (string or file) input data.

Referenced by yaml_file_read_handler(), and yaml_string_read_handler().

yaml_char_t* yaml_parser_s::last

The last filled position of the buffer.

Definition at line 1146 of file yaml.h.

Referenced by yaml_parser_determine_encoding(), and yaml_parser_update_raw_buffer().

unsigned char* yaml_parser_s::last

The last filled position of the buffer.

Definition at line 1161 of file yaml.h.

yaml_mark_t yaml_parser_s::mark

The mark of the current position.

Definition at line 1171 of file yaml.h.

Referenced by mark(), yaml_parser_fetch_block_entry(), yaml_parser_fetch_document_indicator(), yaml_parser_fetch_flow_collection_end(), yaml_parser_fetch_flow_collection_start(), yaml_parser_fetch_flow_entry(), yaml_parser_fetch_key(), yaml_parser_fetch_next_token(), yaml_parser_fetch_stream_end(), yaml_parser_fetch_stream_start(), yaml_parser_fetch_value(), yaml_parser_save_simple_key(), yaml_parser_scan_anchor(), yaml_parser_scan_block_scalar(), yaml_parser_scan_block_scalar_breaks(), yaml_parser_scan_directive(), yaml_parser_scan_flow_scalar(), yaml_parser_scan_plain_scalar(), yaml_parser_scan_tag(), yaml_parser_scan_to_next_token(), yaml_parser_set_scanner_error(), yaml_parser_stale_simple_keys(), and yaml_parser_unroll_indent().

struct { ... } yaml_parser_s::marks

The stack of marks.

Referenced by yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_flow_mapping_key(), and yaml_parser_parse_flow_sequence_entry().

size_t yaml_parser_s::offset

The offset of the current position (in bytes).

Definition at line 1168 of file yaml.h.

Referenced by yaml_parser_determine_encoding(), and yaml_parser_update_raw_buffer().

yaml_char_t* yaml_parser_s::pointer

The current position of the buffer.

Definition at line 1144 of file yaml.h.

Referenced by yaml_parser_determine_encoding(), yaml_parser_scan_flow_scalar(), and yaml_parser_update_raw_buffer().

unsigned char* yaml_parser_s::pointer

The current position of the buffer.

Definition at line 1159 of file yaml.h.

const char* yaml_parser_s::problem

Error description.

Definition at line 1091 of file yaml.h.

Referenced by make_exception(), yaml_parser_set_composer_error(), yaml_parser_set_composer_error_context(), yaml_parser_set_parser_error(), yaml_parser_set_parser_error_context(), and yaml_parser_set_scanner_error().

yaml_mark_t yaml_parser_s::problem_mark

The problem position.

Definition at line 1097 of file yaml.h.

Referenced by yaml_parser_set_composer_error(), yaml_parser_set_composer_error_context(), yaml_parser_set_parser_error(), yaml_parser_set_parser_error_context(), and yaml_parser_set_scanner_error().

size_t yaml_parser_s::problem_offset

The byte about which the problem occured.

Definition at line 1093 of file yaml.h.

Referenced by make_exception().

int yaml_parser_s::problem_value

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

Definition at line 1095 of file yaml.h.

struct { ... } yaml_parser_s::raw_buffer

The raw buffer.

Referenced by yaml_parser_determine_encoding(), and yaml_parser_update_raw_buffer().

yaml_read_handler_t* yaml_parser_s::read_handler

Read handler.

Definition at line 1113 of file yaml.h.

Referenced by yaml_parser_update_raw_buffer().

void* yaml_parser_s::read_handler_data

A pointer for passing to the read handler.

Definition at line 1116 of file yaml.h.

Referenced by yaml_parser_update_raw_buffer().

int yaml_parser_s::simple_key_allowed

May a simple key occur at the current position?

Definition at line 1223 of file yaml.h.

Referenced by yaml_parser_fetch_anchor(), yaml_parser_fetch_block_entry(), yaml_parser_fetch_block_scalar(), yaml_parser_fetch_directive(), yaml_parser_fetch_document_indicator(), yaml_parser_fetch_flow_collection_end(), yaml_parser_fetch_flow_collection_start(), yaml_parser_fetch_flow_entry(), yaml_parser_fetch_flow_scalar(), yaml_parser_fetch_key(), yaml_parser_fetch_plain_scalar(), yaml_parser_fetch_stream_end(), yaml_parser_fetch_stream_start(), yaml_parser_fetch_tag(), yaml_parser_fetch_value(), yaml_parser_save_simple_key(), yaml_parser_scan_plain_scalar(), and yaml_parser_scan_to_next_token().

struct { ... } yaml_parser_s::simple_keys

The stack of simple keys.

Referenced by yaml_parser_decrease_flow_level(), yaml_parser_fetch_stream_start(), yaml_parser_fetch_value(), yaml_parser_increase_flow_level(), yaml_parser_remove_simple_key(), yaml_parser_save_simple_key(), and yaml_parser_stale_simple_keys().

const unsigned char* yaml_parser_s::start

The string start pointer.

Definition at line 1123 of file yaml.h.

Referenced by yaml_parser_append_tag_directive(), yaml_parser_load_alias(), yaml_parser_parse_node(), yaml_parser_register_anchor(), yaml_parser_stale_simple_keys(), and yaml_parser_update_raw_buffer().

yaml_char_t* yaml_parser_s::start

The beginning of the buffer.

Definition at line 1140 of file yaml.h.

unsigned char* yaml_parser_s::start

The beginning of the buffer.

Definition at line 1155 of file yaml.h.

yaml_token_t* yaml_parser_s::start

The beginning of the tokens queue.

Definition at line 1194 of file yaml.h.

int* yaml_parser_s::start

The beginning of the stack.

Definition at line 1212 of file yaml.h.

yaml_simple_key_t* yaml_parser_s::start

The beginning of the stack.

Definition at line 1228 of file yaml.h.

yaml_parser_state_t* yaml_parser_s::start

The beginning of the stack.

Definition at line 1247 of file yaml.h.

yaml_mark_t* yaml_parser_s::start

The beginning of the stack.

Definition at line 1260 of file yaml.h.

yaml_tag_directive_t* yaml_parser_s::start

The beginning of the list.

Definition at line 1270 of file yaml.h.

yaml_alias_data_t* yaml_parser_s::start

The beginning of the list.

Definition at line 1289 of file yaml.h.

yaml_parser_state_t yaml_parser_s::state

The current parser state.

Definition at line 1255 of file yaml.h.

Referenced by yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_mapping_value(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_document_content(), yaml_parser_parse_document_end(), yaml_parser_parse_document_start(), yaml_parser_parse_flow_mapping_key(), yaml_parser_parse_flow_mapping_value(), yaml_parser_parse_flow_sequence_entry(), yaml_parser_parse_flow_sequence_entry_mapping_end(), yaml_parser_parse_flow_sequence_entry_mapping_key(), yaml_parser_parse_flow_sequence_entry_mapping_value(), yaml_parser_parse_indentless_sequence_entry(), yaml_parser_parse_node(), yaml_parser_parse_stream_start(), and yaml_parser_state_machine().

struct { ... } yaml_parser_s::states

The parser states stack.

Referenced by yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_mapping_value(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_document_content(), yaml_parser_parse_document_start(), yaml_parser_parse_flow_mapping_key(), yaml_parser_parse_flow_mapping_value(), yaml_parser_parse_flow_sequence_entry(), yaml_parser_parse_flow_sequence_entry_mapping_key(), yaml_parser_parse_flow_sequence_entry_mapping_value(), yaml_parser_parse_indentless_sequence_entry(), and yaml_parser_parse_node().

int yaml_parser_s::stream_end_produced

Have we reached the end of the input stream?

Definition at line 1186 of file yaml.h.

int yaml_parser_s::stream_start_produced

Have we started to scan the input stream?

Definition at line 1183 of file yaml.h.

Referenced by yaml_parser_fetch_next_token(), and yaml_parser_fetch_stream_start().

struct { ... } yaml_parser_s::string

String input data.

Referenced by yaml_string_read_handler().

struct { ... } yaml_parser_s::tag_directives

The list of TAG directives.

Referenced by yaml_parser_append_tag_directive(), yaml_parser_parse_document_end(), and yaml_parser_parse_node().

yaml_token_t* yaml_parser_s::tail

The tail of the tokens queue.

Definition at line 1200 of file yaml.h.

Referenced by yaml_parser_save_simple_key().

int yaml_parser_s::token_available

Definition at line 1207 of file yaml.h.

struct { ... } yaml_parser_s::tokens

The tokens queue.

Referenced by yaml_parser_fetch_anchor(), yaml_parser_fetch_block_entry(), yaml_parser_fetch_block_scalar(), yaml_parser_fetch_directive(), yaml_parser_fetch_document_indicator(), yaml_parser_fetch_flow_collection_end(), yaml_parser_fetch_flow_collection_start(), yaml_parser_fetch_flow_entry(), yaml_parser_fetch_flow_scalar(), yaml_parser_fetch_key(), yaml_parser_fetch_plain_scalar(), yaml_parser_fetch_stream_end(), yaml_parser_fetch_stream_start(), yaml_parser_fetch_tag(), yaml_parser_fetch_value(), yaml_parser_roll_indent(), yaml_parser_save_simple_key(), and yaml_parser_unroll_indent().

size_t yaml_parser_s::tokens_parsed

The number of tokens fetched from the queue.

Definition at line 1204 of file yaml.h.

Referenced by yaml_parser_fetch_value(), yaml_parser_roll_indent(), and yaml_parser_save_simple_key().

int* yaml_parser_s::top

The top of the stack.

Definition at line 1216 of file yaml.h.

Referenced by yaml_parser_append_tag_directive(), yaml_parser_fetch_value(), yaml_parser_load_alias(), yaml_parser_parse_node(), yaml_parser_register_anchor(), yaml_parser_remove_simple_key(), yaml_parser_save_simple_key(), and yaml_parser_stale_simple_keys().

yaml_simple_key_t* yaml_parser_s::top

The top of the stack.

Definition at line 1232 of file yaml.h.

yaml_parser_state_t* yaml_parser_s::top

The top of the stack.

Definition at line 1251 of file yaml.h.

yaml_mark_t* yaml_parser_s::top

The top of the stack.

Definition at line 1264 of file yaml.h.

yaml_tag_directive_t* yaml_parser_s::top

The top of the list.

Definition at line 1274 of file yaml.h.

yaml_alias_data_t* yaml_parser_s::top

The top of the list.

Definition at line 1293 of file yaml.h.

size_t yaml_parser_s::unread

Definition at line 1150 of file yaml.h.

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

- ext/psych/yaml/yaml.h