Ruby  1.9.3p429(2013-05-15revision40747)
Data Structures | Macros | Typedefs | Enumerations | Functions
syck.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "ruby/st.h"

Go to the source code of this file.

Data Structures

struct  _syck_node
 
struct  _syck_file
 
struct  _syck_str
 
struct  _syck_level
 
struct  _syck_parser
 
struct  _syck_emitter
 
struct  _syck_emitter_node
 

Macros

#define SYCK_YAML_MAJOR   1
 
#define SYCK_YAML_MINOR   0
 
#define YAML_DOMAIN   "yaml.org,2002"
 
#define ASSERT(f)   ((void)0)
 
#define NULL   (void *)0
 
#define ALLOC_CT   8
 
#define SYCK_BUFFERSIZE   4096
 
#define S_ALLOC_N(type, n)   (type*)malloc(sizeof(type)*(n))
 
#define S_ALLOC(type)   (type*)malloc(sizeof(type))
 
#define S_REALLOC_N(var, type, n)   (var)=(type*)realloc((char*)(var),sizeof(type)*(n))
 
#define S_FREE(n)   if (n) { free(n); n = NULL; }
 
#define S_ALLOCA_N(type, n)   (type*)alloca(sizeof(type)*(n))
 
#define S_MEMZERO(p, type, n)   memset((p), 0, sizeof(type)*(n))
 
#define S_MEMCPY(p1, p2, type, n)   memcpy((p1), (p2), sizeof(type)*(n))
 
#define S_MEMMOVE(p1, p2, type, n)   memmove((p1), (p2), sizeof(type)*(n))
 
#define S_MEMCMP(p1, p2, type, n)   memcmp((p1), (p2), sizeof(type)*(n))
 
#define BLOCK_FOLD   10
 
#define BLOCK_LIT   20
 
#define BLOCK_PLAIN   30
 
#define NL_CHOMP   40
 
#define NL_KEEP   50
 
#define SYMID   st_data_t
 

Typedefs

typedef long st_data_t
 
typedef struct _syck_node SyckNode
 
typedef struct _syck_parser SyckParser
 
typedef struct _syck_file SyckIoFile
 
typedef struct _syck_str SyckIoStr
 
typedef struct _syck_level SyckLevel
 
typedef SYMID(* SyckNodeHandler )(SyckParser *, SyckNode *)
 
typedef void(* SyckErrorHandler )(SyckParser *, const char *)
 
typedef SyckNode *(* SyckBadAnchorHandler )(SyckParser *, char *)
 
typedef long(* SyckIoFileRead )(char *, SyckIoFile *, long, long)
 
typedef long(* SyckIoStrRead )(char *, SyckIoStr *, long, long)
 
typedef struct _syck_emitter SyckEmitter
 
typedef struct _syck_emitter_node SyckEmitterNode
 
typedef void(* SyckOutputHandler )(SyckEmitter *, char *, long)
 
typedef void(* SyckEmitterHandler )(SyckEmitter *, st_data_t)
 

Enumerations

enum  syck_kind_tag { syck_map_kind, syck_seq_kind, syck_str_kind }
 
enum  map_part { map_key, map_value }
 
enum  map_style { map_none, map_inline }
 
enum  seq_style { seq_none, seq_inline }
 
enum  scalar_style {
  scalar_none, scalar_1quote, scalar_2quote, scalar_fold,
  scalar_literal, scalar_plain
}
 
enum  syck_io_type { syck_io_str, syck_io_file }
 
enum  syck_parser_input { syck_yaml_utf8, syck_yaml_utf16, syck_yaml_utf32, syck_bytecode_utf8 }
 
enum  syck_level_status {
  syck_lvl_header, syck_lvl_doc, syck_lvl_open, syck_lvl_seq,
  syck_lvl_map, syck_lvl_block, syck_lvl_str, syck_lvl_iseq,
  syck_lvl_imap, syck_lvl_end, syck_lvl_pause, syck_lvl_anctag,
  syck_lvl_mapx, syck_lvl_seqx
}
 
enum  doc_stage { doc_open, doc_processing }
 

Functions

SYMID syck_hdlr_add_node (SyckParser *, SyckNode *)
 
SyckNodesyck_hdlr_add_anchor (SyckParser *, char *, SyckNode *)
 
void syck_hdlr_remove_anchor (SyckParser *, char *)
 
SyckNodesyck_hdlr_get_anchor (SyckParser *, char *)
 
void syck_add_transfer (char *, SyckNode *, int)
 
char * syck_xprivate (const char *, int)
 
char * syck_taguri (const char *, const char *, int)
 
int syck_tagcmp (const char *, const char *)
 
int syck_add_sym (SyckParser *, void *)
 
int syck_lookup_sym (SyckParser *, SYMID, void **)
 
int syck_try_implicit (SyckNode *)
 
char * syck_type_id_to_uri (const char *)
 
void try_tag_implicit (SyckNode *, int)
 
const char * syck_match_implicit (const char *, size_t)
 
char * syck_strndup (const char *, long)
 
long syck_io_file_read (char *, SyckIoFile *, long, long)
 
long syck_io_str_read (char *, SyckIoStr *, long, long)
 
char * syck_base64enc (char *, long)
 
char * syck_base64dec (char *, long)
 
SyckEmittersyck_new_emitter (void)
 
SYMID syck_emitter_mark_node (SyckEmitter *, st_data_t)
 
void syck_emitter_ignore_id (SyckEmitter *, SYMID)
 
void syck_output_handler (SyckEmitter *, SyckOutputHandler)
 
void syck_emitter_handler (SyckEmitter *, SyckEmitterHandler)
 
void syck_free_emitter (SyckEmitter *)
 
void syck_emitter_clear (SyckEmitter *)
 
void syck_emitter_write (SyckEmitter *, const char *, long)
 
void syck_emitter_escape (SyckEmitter *, const char *, long)
 
void syck_emitter_flush (SyckEmitter *, long)
 
void syck_emit (SyckEmitter *, st_data_t)
 
void syck_emit_scalar (SyckEmitter *, const char *, enum scalar_style, int, int, char, const char *, long)
 
void syck_emit_1quoted (SyckEmitter *, int, const char *, long)
 
void syck_emit_2quoted (SyckEmitter *, int, const char *, long)
 
void syck_emit_folded (SyckEmitter *, int, char, const char *, long)
 
void syck_emit_literal (SyckEmitter *, char, const char *, long)
 
void syck_emit_seq (SyckEmitter *, const char *, enum seq_style)
 
void syck_emit_item (SyckEmitter *, st_data_t)
 
void syck_emit_map (SyckEmitter *, const char *, enum map_style)
 
void syck_emit_end (SyckEmitter *)
 
void syck_emit_tag (SyckEmitter *, const char *, const char *)
 
void syck_emit_indent (SyckEmitter *)
 
SyckLevelsyck_emitter_current_level (SyckEmitter *)
 
SyckLevelsyck_emitter_parent_level (SyckEmitter *)
 
void syck_emitter_pop_level (SyckEmitter *)
 
void syck_emitter_add_level (SyckEmitter *, int, enum syck_level_status)
 
void syck_emitter_reset_levels (SyckEmitter *)
 
SyckParsersyck_new_parser (void)
 
void syck_free_parser (SyckParser *)
 
void syck_parser_set_root_on_error (SyckParser *, SYMID)
 
void syck_parser_implicit_typing (SyckParser *, int)
 
void syck_parser_taguri_expansion (SyckParser *, int)
 
int syck_scan_scalar (int, const char *, long)
 
void syck_parser_handler (SyckParser *, SyckNodeHandler)
 
void syck_parser_error_handler (SyckParser *, SyckErrorHandler)
 
void syck_parser_bad_anchor_handler (SyckParser *, SyckBadAnchorHandler)
 
void syck_parser_set_input_type (SyckParser *, enum syck_parser_input)
 
void syck_parser_file (SyckParser *, FILE *, SyckIoFileRead)
 
void syck_parser_str (SyckParser *, char *, long, SyckIoStrRead)
 
void syck_parser_str_auto (SyckParser *, char *, SyckIoStrRead)
 
SyckLevelsyck_parser_current_level (SyckParser *)
 
void syck_parser_add_level (SyckParser *, int, enum syck_level_status)
 
void syck_parser_pop_level (SyckParser *)
 
void free_any_io (SyckParser *)
 
long syck_parser_read (SyckParser *)
 
long syck_parser_readlen (SyckParser *, long)
 
SYMID syck_parse (SyckParser *)
 
void syck_default_error_handler (SyckParser *, const char *)
 
SYMID syck_yaml2byte_handler (SyckParser *, SyckNode *)
 
char * syck_yaml2byte (char *)
 
SyckNodesyck_alloc_map (void)
 
SyckNodesyck_alloc_seq (void)
 
SyckNodesyck_alloc_str (void)
 
void syck_free_node (SyckNode *)
 
void syck_free_members (SyckNode *)
 
SyckNodesyck_new_str (const char *, enum scalar_style)
 
SyckNodesyck_new_str2 (const char *, long, enum scalar_style)
 
void syck_replace_str (SyckNode *, char *, enum scalar_style)
 
void syck_replace_str2 (SyckNode *, char *, long, enum scalar_style)
 
void syck_str_blow_away_commas (SyckNode *)
 
char * syck_str_read (SyckNode *)
 
SyckNodesyck_new_map (SYMID, SYMID)
 
void syck_map_empty (SyckNode *)
 
void syck_map_add (SyckNode *, SYMID, SYMID)
 
SYMID syck_map_read (SyckNode *, enum map_part, long)
 
void syck_map_assign (SyckNode *, enum map_part, long, SYMID)
 
long syck_map_count (SyckNode *)
 
void syck_map_update (SyckNode *, SyckNode *)
 
SyckNodesyck_new_seq (SYMID)
 
void syck_seq_empty (SyckNode *)
 
void syck_seq_add (SyckNode *, SYMID)
 
void syck_seq_assign (SyckNode *, long, SYMID)
 
SYMID syck_seq_read (SyckNode *, long)
 
long syck_seq_count (SyckNode *)
 
void syckerror (const char *)
 
int syckparse (void *)
 
int sycklex (union YYSTYPE *, SyckParser *)
 

Macro Definition Documentation

#define ALLOC_CT   8
#define ASSERT (   f)    ((void)0)
#define BLOCK_FOLD   10

Definition at line 59 of file syck.h.

Referenced by sycklex_yaml_utf8().

#define BLOCK_LIT   20

Definition at line 60 of file syck.h.

Referenced by sycklex_yaml_utf8().

#define BLOCK_PLAIN   30

Definition at line 61 of file syck.h.

#define NL_CHOMP   40

Definition at line 62 of file syck.h.

Referenced by syck_emit_folded(), syck_emit_literal(), syck_emit_scalar(), and sycklex_yaml_utf8().

#define NL_KEEP   50

Definition at line 63 of file syck.h.

Referenced by syck_emit_folded(), syck_emit_literal(), syck_emit_scalar(), and sycklex_yaml_utf8().

#define NULL   (void *)0

Definition at line 42 of file syck.h.

#define S_ALLOC (   type)    (type*)malloc(sizeof(type))
#define S_ALLOC_N (   type,
 
)    (type*)malloc(sizeof(type)*(n))
#define S_ALLOCA_N (   type,
 
)    (type*)alloca(sizeof(type)*(n))

Definition at line 52 of file syck.h.

Referenced by rb_syck_compile(), and syck_set_ivars().

#define S_FREE (   n)    if (n) { free(n); n = NULL; }
#define S_MEMCMP (   p1,
  p2,
  type,
 
)    memcmp((p1), (p2), sizeof(type)*(n))

Definition at line 57 of file syck.h.

#define S_MEMCPY (   p1,
  p2,
  type,
 
)    memcpy((p1), (p2), sizeof(type)*(n))

Definition at line 55 of file syck.h.

Referenced by syck_emitter_write(), syck_io_str_read(), syck_strndup(), and sycklex_bytecode_utf8().

#define S_MEMMOVE (   p1,
  p2,
  type,
 
)    memmove((p1), (p2), sizeof(type)*(n))

Definition at line 56 of file syck.h.

Referenced by syck_move_tokens().

#define S_MEMZERO (   p,
  type,
 
)    memset((p), 0, sizeof(type)*(n))
#define S_REALLOC_N (   var,
  type,
 
)    (var)=(type*)realloc((char*)(var),sizeof(type)*(n))
#define SYCK_BUFFERSIZE   4096

Definition at line 46 of file syck.h.

Referenced by syck_new_emitter(), syck_new_parser(), and syck_parser_read().

#define SYCK_YAML_MAJOR   1

Definition at line 12 of file syck.h.

Referenced by syck_emit().

#define SYCK_YAML_MINOR   0

Definition at line 13 of file syck.h.

Referenced by syck_emit().

#define SYMID   st_data_t
#define YAML_DOMAIN   "yaml.org,2002"

Typedef Documentation

typedef long st_data_t

Definition at line 69 of file syck.h.

typedef SyckNode*(* SyckBadAnchorHandler)(SyckParser *, char *)

Definition at line 155 of file syck.h.

typedef struct _syck_emitter SyckEmitter

Definition at line 265 of file syck.h.

typedef void(* SyckEmitterHandler)(SyckEmitter *, st_data_t)

Definition at line 269 of file syck.h.

Definition at line 266 of file syck.h.

typedef void(* SyckErrorHandler)(SyckParser *, const char *)

Definition at line 154 of file syck.h.

typedef struct _syck_file SyckIoFile

Definition at line 149 of file syck.h.

typedef long(* SyckIoFileRead)(char *, SyckIoFile *, long, long)

Definition at line 156 of file syck.h.

typedef struct _syck_str SyckIoStr

Definition at line 150 of file syck.h.

typedef long(* SyckIoStrRead)(char *, SyckIoStr *, long, long)

Definition at line 157 of file syck.h.

typedef struct _syck_level SyckLevel

Definition at line 151 of file syck.h.

typedef struct _syck_node SyckNode

Definition at line 74 of file syck.h.

typedef SYMID(* SyckNodeHandler)(SyckParser *, SyckNode *)

Definition at line 153 of file syck.h.

typedef void(* SyckOutputHandler)(SyckEmitter *, char *, long)

Definition at line 268 of file syck.h.

typedef struct _syck_parser SyckParser

Definition at line 148 of file syck.h.

Enumeration Type Documentation

enum doc_stage
Enumerator
doc_open 
doc_processing 

Definition at line 271 of file syck.h.

enum map_part
Enumerator
map_key 
map_value 

Definition at line 82 of file syck.h.

enum map_style
Enumerator
map_none 
map_inline 

Definition at line 87 of file syck.h.

Enumerator
scalar_none 
scalar_1quote 
scalar_2quote 
scalar_fold 
scalar_literal 
scalar_plain 

Definition at line 97 of file syck.h.

enum seq_style
Enumerator
seq_none 
seq_inline 

Definition at line 92 of file syck.h.

Enumerator
syck_io_str 
syck_io_file 

Definition at line 159 of file syck.h.

Enumerator
syck_map_kind 
syck_seq_kind 
syck_str_kind 

Definition at line 76 of file syck.h.

Enumerator
syck_lvl_header 
syck_lvl_doc 
syck_lvl_open 
syck_lvl_seq 
syck_lvl_map 
syck_lvl_block 
syck_lvl_str 
syck_lvl_iseq 
syck_lvl_imap 
syck_lvl_end 
syck_lvl_pause 
syck_lvl_anctag 
syck_lvl_mapx 
syck_lvl_seqx 

Definition at line 171 of file syck.h.

Enumerator
syck_yaml_utf8 
syck_yaml_utf16 
syck_yaml_utf32 
syck_bytecode_utf8 

Definition at line 164 of file syck.h.

Function Documentation

void free_any_io ( SyckParser )
int syck_add_sym ( SyckParser ,
void *   
)

Definition at line 180 of file syck.c.

References id, NULL, st_table::num_entries, st_init_numtable, st_insert, SYMID, and _syck_parser::syms.

Referenced by syck_yaml2byte_handler().

void syck_add_transfer ( char *  ,
SyckNode ,
int   
)

Definition at line 129 of file handler.c.

References NULL, S_FREE, syck_type_id_to_uri(), and _syck_node::type_id.

Referenced by yyparse().

SyckNode* syck_alloc_map ( void  )
SyckNode* syck_alloc_seq ( void  )
SyckNode* syck_alloc_str ( void  )
char* syck_base64dec ( char *  ,
long   
)

Definition at line 60 of file emitter.c.

References b64_table, i, len, and syck_strndup().

char* syck_base64enc ( char *  ,
long   
)

Definition at line 29 of file emitter.c.

References b64_table, i, and S_ALLOC_N.

void syck_default_error_handler ( SyckParser ,
const char *   
)

Definition at line 517 of file syck.c.

References _syck_parser::cursor, _syck_parser::linect, _syck_parser::lineptr, and PRIdPTRDIFF.

Referenced by syckerror().

void syck_emit ( SyckEmitter ,
st_data_t   
)
void syck_emit_1quoted ( SyckEmitter ,
int  ,
const char *  ,
long   
)

Definition at line 806 of file emitter.c.

References mark(), syck_emit_indent(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_2quoted ( SyckEmitter ,
int  ,
const char *  ,
long   
)

Definition at line 854 of file emitter.c.

References mark(), syck_emit_indent(), syck_emitter_escape(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_end ( SyckEmitter )
void syck_emit_folded ( SyckEmitter ,
int  ,
char  ,
const char *  ,
long   
)
void syck_emit_indent ( SyckEmitter )
void syck_emit_item ( SyckEmitter ,
st_data_t   
)
void syck_emit_literal ( SyckEmitter ,
char  ,
const char *  ,
long   
)

Definition at line 915 of file emitter.c.

References len, mark(), NL_CHOMP, NL_KEEP, syck_emit_indent(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_map ( SyckEmitter ,
const char *  ,
enum  map_style 
)
void syck_emit_scalar ( SyckEmitter ,
const char *  ,
enum  scalar_style,
int  ,
int  ,
char  ,
const char *  ,
long   
)
void syck_emit_seq ( SyckEmitter ,
const char *  ,
enum  seq_style 
)
void syck_emit_tag ( SyckEmitter ,
const char *  ,
const char *   
)
void syck_emitter_add_level ( SyckEmitter ,
int  ,
enum  syck_level_status 
)
void syck_emitter_clear ( SyckEmitter )
SyckLevel* syck_emitter_current_level ( SyckEmitter )
void syck_emitter_escape ( SyckEmitter ,
const char *  ,
long   
)

Definition at line 776 of file emitter.c.

References hex_table, i, len, and syck_emitter_write().

Referenced by syck_emit_2quoted().

void syck_emitter_flush ( SyckEmitter ,
long   
)
void syck_emitter_handler ( SyckEmitter ,
SyckEmitterHandler   
)

Definition at line 239 of file emitter.c.

References _syck_emitter::emitter_handler.

Referenced by syck_emitter_s_alloc().

void syck_emitter_ignore_id ( SyckEmitter ,
SYMID   
)
SYMID syck_emitter_mark_node ( SyckEmitter ,
st_data_t   
)
SyckLevel* syck_emitter_parent_level ( SyckEmitter )
void syck_emitter_pop_level ( SyckEmitter )
void syck_emitter_reset_levels ( SyckEmitter )
void syck_emitter_write ( SyckEmitter ,
const char *  ,
long   
)
void syck_free_emitter ( SyckEmitter )
void syck_free_members ( SyckNode )
void syck_free_node ( SyckNode )
void syck_free_parser ( SyckParser )
SyckNode* syck_hdlr_add_anchor ( SyckParser ,
char *  ,
SyckNode  
)
SYMID syck_hdlr_add_node ( SyckParser ,
SyckNode  
)

Definition at line 13 of file handler.c.

References _syck_node::anchor, _syck_parser::handler, _syck_node::id, id, NULL, syck_free_node(), and SYMID.

Referenced by apply_seq_in_map(), and yyparse().

SyckNode* syck_hdlr_get_anchor ( SyckParser ,
char *   
)
void syck_hdlr_remove_anchor ( SyckParser ,
char *   
)
long syck_io_file_read ( char *  ,
SyckIoFile ,
long  ,
long   
)

Definition at line 46 of file syck.c.

References ASSERT, len, NULL, and _syck_file::ptr.

Referenced by syck_parser_file().

long syck_io_str_read ( char *  ,
SyckIoStr ,
long  ,
long   
)

Definition at line 64 of file syck.c.

References ASSERT, _syck_str::end, len, NULL, _syck_str::ptr, and S_MEMCPY.

Referenced by syck_parser_str().

int syck_lookup_sym ( SyckParser ,
SYMID  ,
void **   
)

Definition at line 193 of file syck.c.

References emitter_xtra::data, NULL, st_lookup, and _syck_parser::syms.

Referenced by rb_syck_compile(), syck_yaml2byte(), and syck_yaml2byte_handler().

void syck_map_add ( SyckNode ,
SYMID  ,
SYMID   
)
void syck_map_assign ( SyckNode ,
enum  map_part,
long  ,
SYMID   
)

Definition at line 259 of file node.c.

References ASSERT, _syck_node::data, id, map_key, NULL, and _syck_node::pairs.

Referenced by apply_seq_in_map().

long syck_map_count ( SyckNode )

Definition at line 251 of file node.c.

References ASSERT, _syck_node::data, NULL, and _syck_node::pairs.

Referenced by apply_seq_in_map(), and syck_genericresolver_node_import().

void syck_map_empty ( SyckNode )

Definition at line 181 of file node.c.

References ALLOC_CT, ASSERT, _syck_node::data, _syck_node::list, NULL, _syck_node::pairs, S_ALLOC_N, S_FREE, and SYMID.

Referenced by syck_map_value_set().

SYMID syck_map_read ( SyckNode ,
enum  map_part,
long   
)
void syck_map_update ( SyckNode ,
SyckNode  
)

Definition at line 219 of file node.c.

References ALLOC_CT, ASSERT, _syck_node::data, NULL, _syck_node::pairs, S_REALLOC_N, and SYMID.

Referenced by yyparse().

const char* syck_match_implicit ( const char *  ,
size_t   
)
SyckEmitter* syck_new_emitter ( void  )
SyckNode* syck_new_map ( SYMID  ,
SYMID   
)

Definition at line 170 of file node.c.

References syck_alloc_map(), and syck_map_add().

Referenced by rb_syck_bad_anchor_handler(), and yyparse().

SyckParser* syck_new_parser ( void  )
SyckNode* syck_new_seq ( SYMID  )

Definition at line 295 of file node.c.

References syck_alloc_seq(), and syck_seq_add().

Referenced by yyparse().

SyckNode* syck_new_str ( const char *  ,
enum  scalar_style 
)

Definition at line 102 of file node.c.

References strlen(), and syck_new_str2().

SyckNode* syck_new_str2 ( const char *  ,
long  ,
enum  scalar_style 
)

Definition at line 108 of file node.c.

References _syck_node::data, len, S_ALLOC_N, _syck_node::str, and syck_alloc_str().

Referenced by syck_new_str(), and syck_node_transform().

void syck_output_handler ( SyckEmitter ,
SyckOutputHandler   
)

Definition at line 245 of file emitter.c.

References _syck_emitter::output_handler.

Referenced by syck_emitter_s_alloc().

SYMID syck_parse ( SyckParser )
void syck_parser_add_level ( SyckParser ,
int  ,
enum  syck_level_status 
)
void syck_parser_bad_anchor_handler ( SyckParser ,
SyckBadAnchorHandler   
)

Definition at line 304 of file syck.c.

References ASSERT, _syck_parser::bad_anchor_handler, and NULL.

Referenced by syck_set_model().

SyckLevel* syck_parser_current_level ( SyckParser )

Definition at line 364 of file syck.c.

References _syck_parser::levels, and _syck_parser::lvl_idx.

void syck_parser_error_handler ( SyckParser ,
SyckErrorHandler   
)

Definition at line 297 of file syck.c.

References ASSERT, _syck_parser::error_handler, and NULL.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

void syck_parser_file ( SyckParser ,
FILE ,
SyckIoFileRead   
)
void syck_parser_handler ( SyckParser ,
SyckNodeHandler   
)

Definition at line 278 of file syck.c.

References ASSERT, _syck_parser::handler, and NULL.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

void syck_parser_implicit_typing ( SyckParser ,
int   
)

Definition at line 285 of file syck.c.

References _syck_parser::implicit_typing.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

void syck_parser_pop_level ( SyckParser )

Definition at line 370 of file syck.c.

References ASSERT, _syck_level::domain, free(), _syck_parser::levels, _syck_parser::lvl_idx, and NULL.

Referenced by syck_parser_reset_levels().

long syck_parser_read ( SyckParser )
long syck_parser_readlen ( SyckParser ,
long   
)
void syck_parser_set_input_type ( SyckParser ,
enum  syck_parser_input 
)

Definition at line 311 of file syck.c.

References ASSERT, _syck_parser::input_type, and NULL.

Referenced by syck_set_model().

void syck_parser_set_root_on_error ( SyckParser ,
SYMID   
)

Definition at line 148 of file syck.c.

References _syck_parser::root_on_error.

Referenced by syck_parser_s_alloc().

void syck_parser_str ( SyckParser ,
char *  ,
long  ,
SyckIoStrRead   
)
void syck_parser_str_auto ( SyckParser ,
char *  ,
SyckIoStrRead   
)

Definition at line 358 of file syck.c.

References strlen(), and syck_parser_str().

Referenced by syck_yaml2byte().

void syck_parser_taguri_expansion ( SyckParser ,
int   
)

Definition at line 291 of file syck.c.

References _syck_parser::taguri_expansion.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

void syck_replace_str ( SyckNode ,
char *  ,
enum  scalar_style 
)

Definition at line 123 of file node.c.

References strlen(), and syck_replace_str2().

void syck_replace_str2 ( SyckNode ,
char *  ,
long  ,
enum  scalar_style 
)

Definition at line 129 of file node.c.

References _syck_node::data, len, NULL, S_ALLOC_N, S_FREE, and _syck_node::str.

Referenced by syck_replace_str().

int syck_scan_scalar ( int  ,
const char *  ,
long   
)
void syck_seq_add ( SyckNode ,
SYMID   
)
void syck_seq_assign ( SyckNode ,
long  ,
SYMID   
)

Definition at line 348 of file node.c.

References ASSERT, _syck_node::data, id, _syck_node::list, and NULL.

long syck_seq_count ( SyckNode )

Definition at line 340 of file node.c.

References ASSERT, _syck_node::data, _syck_node::list, and NULL.

Referenced by syck_genericresolver_node_import().

void syck_seq_empty ( SyckNode )

Definition at line 306 of file node.c.

References ALLOC_CT, ASSERT, _syck_node::data, _syck_node::list, NULL, S_ALLOC_N, S_FREE, and SYMID.

Referenced by syck_seq_value_set().

SYMID syck_seq_read ( SyckNode ,
long   
)
void syck_str_blow_away_commas ( SyckNode )

Definition at line 145 of file node.c.

References _syck_node::data, memmove(), and _syck_node::str.

Referenced by yaml_org_handler().

char* syck_str_read ( SyckNode )

Definition at line 163 of file node.c.

References ASSERT, _syck_node::data, NULL, and _syck_node::str.

char* syck_strndup ( const char *  ,
long   
)
int syck_tagcmp ( const char *  ,
const char *   
)

Definition at line 1588 of file implicit.c.

References i, NULL, S_FREE, strlen(), strstr(), and syck_strndup().

Referenced by syck_emit_scalar(), and syck_emit_tag().

char* syck_taguri ( const char *  ,
const char *  ,
int   
)

Definition at line 157 of file handler.c.

References S_ALLOC_N, and strlen().

Referenced by syck_emit_scalar(), syck_type_id_to_uri(), sycklex_yaml_utf8(), try_tag_implicit(), and yyparse().

int syck_try_implicit ( SyckNode )

Definition at line 169 of file handler.c.

char* syck_type_id_to_uri ( const char *  )
char* syck_xprivate ( const char *  ,
int   
)

Definition at line 147 of file handler.c.

References S_ALLOC_N.

Referenced by syck_type_id_to_uri().

char* syck_yaml2byte ( char *  )
SYMID syck_yaml2byte_handler ( SyckParser ,
SyckNode  
)
void syckerror ( const char *  )
int sycklex ( union YYSTYPE ,
SyckParser  
)
int syckparse ( void *  )

Referenced by syck_parse().

void try_tag_implicit ( SyckNode ,
int   
)