12 #define SYCK_YAML_MAJOR 1
13 #define SYCK_YAML_MINOR 0
15 #define YAML_DOMAIN "yaml.org,2002"
22 #if defined(__cplusplus)
29 #if defined(HAVE_ALLOCA_H) && !defined(__GNUC__)
34 void syck_assert(
const char *,
unsigned,
const char * );
36 (( f ) ? (void)0 : syck_assert( __FILE__, __LINE__, #f ))
38 # define ASSERT(f) ((void)0)
42 # define NULL (void *)0
46 #define SYCK_BUFFERSIZE 4096
47 #define S_ALLOC_N(type,n) (type*)malloc(sizeof(type)*(n))
48 #define S_ALLOC(type) (type*)malloc(sizeof(type))
49 #define S_REALLOC_N(var,type,n) (var)=(type*)realloc((char*)(var),sizeof(type)*(n))
50 #define S_FREE(n) if (n) { free(n); n = NULL; }
52 #define S_ALLOCA_N(type,n) (type*)alloca(sizeof(type)*(n))
54 #define S_MEMZERO(p,type,n) memset((p), 0, sizeof(type)*(n))
55 #define S_MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(n))
56 #define S_MEMMOVE(p1,p2,type,n) memmove((p1), (p2), sizeof(type)*(n))
57 #define S_MEMCMP(p1,p2,type,n) memcmp((p1), (p2), sizeof(type)*(n))
61 #define BLOCK_PLAIN 30
68 #ifndef ST_DATA_T_DEFINED
72 #define SYMID st_data_t
155 typedef SyckNode * (*SyckBadAnchorHandler)(SyckParser *,
char *);
345 char *
syck_taguri(
const char *,
const char *,
int );
372 void syck_emit( SyckEmitter *, st_data_t );
382 void syck_emit_tag( SyckEmitter *,
const char *,
const char * );
449 #if defined(__cplusplus)
void syck_seq_add(SyckNode *, SYMID)
void syck_assert(const char *file_name, unsigned line_num, const char *expr)
void syck_seq_empty(SyckNode *)
enum syck_io_type io_type
void(* SyckErrorHandler)(SyckParser *, const char *)
SyckNode * syck_new_str(const char *, enum scalar_style)
void syck_parser_set_root_on_error(SyckParser *, SYMID)
enum syck_level_status status
void syck_emit(SyckEmitter *, st_data_t)
void syck_free_emitter(SyckEmitter *)
void syck_seq_assign(SyckNode *, long, SYMID)
void syck_parser_taguri_expansion(SyckParser *, int)
struct _syck_node::@19::SyckSeq * list
SyckNode * syck_new_str2(const char *, long, enum scalar_style)
union _syck_node::@19 data
int syck_add_sym(SyckParser *, void *)
void syck_parser_str_auto(SyckParser *, char *, SyckIoStrRead)
void syck_free_parser(SyckParser *)
long syck_parser_readlen(SyckParser *, long)
const char * syck_match_implicit(const char *, size_t)
void(* SyckOutputHandler)(SyckEmitter *, char *, long)
void syck_map_update(SyckNode *, SyckNode *)
union _syck_parser::@20 io
void syck_emitter_handler(SyckEmitter *, SyckEmitterHandler)
SyckNode * syck_new_map(SYMID, SYMID)
long syck_map_count(SyckNode *)
SyckLevel * syck_emitter_parent_level(SyckEmitter *)
void syck_emitter_pop_level(SyckEmitter *)
void syckerror(const char *)
void syck_emitter_clear(SyckEmitter *)
SYMID syck_seq_read(SyckNode *, long)
void syck_map_empty(SyckNode *)
char * syck_base64dec(char *, long)
SYMID(* SyckNodeHandler)(SyckParser *, SyckNode *)
void syck_emitter_ignore_id(SyckEmitter *, SYMID)
void syck_default_error_handler(SyckParser *, const char *)
void syck_emit_item(SyckEmitter *, st_data_t)
void syck_parser_pop_level(SyckParser *)
void syck_emitter_write(SyckEmitter *, const char *, long)
SYMID syck_hdlr_add_node(SyckParser *, SyckNode *)
SyckNode *(* SyckBadAnchorHandler)(SyckParser *, char *)
void syck_free_node(SyckNode *)
long syck_io_str_read(char *, SyckIoStr *, long, long)
SyckNode * syck_hdlr_add_anchor(SyckParser *, char *, SyckNode *)
void syck_hdlr_remove_anchor(SyckParser *, char *)
void try_tag_implicit(SyckNode *, int)
void syck_replace_str(SyckNode *, char *, enum scalar_style)
void syck_emit_seq(SyckEmitter *, const char *, enum seq_style)
SYMID syck_emitter_mark_node(SyckEmitter *, st_data_t)
long(* SyckIoFileRead)(char *, SyckIoFile *, long, long)
SYMID syck_parse(SyckParser *)
void syck_emit_end(SyckEmitter *)
char * syck_base64enc(char *, long)
enum syck_parser_input input_type
void syck_emit_indent(SyckEmitter *)
SYMID syck_map_read(SyckNode *, enum map_part, long)
char * syck_type_id_to_uri(const char *)
void syck_replace_str2(SyckNode *, char *, long, enum scalar_style)
void syck_emit_2quoted(SyckEmitter *, int, const char *, long)
long syck_seq_count(SyckNode *)
SyckOutputHandler output_handler
SyckLevel * syck_emitter_current_level(SyckEmitter *)
void syck_parser_set_input_type(SyckParser *, enum syck_parser_input)
SyckBadAnchorHandler bad_anchor_handler
SYMID syck_yaml2byte_handler(SyckParser *, SyckNode *)
void syck_emit_map(SyckEmitter *, const char *, enum map_style)
int syck_tagcmp(const char *, const char *)
void syck_map_add(SyckNode *, SYMID, SYMID)
char * syck_yaml2byte(char *)
SyckEmitter * syck_new_emitter(void)
long syck_parser_read(SyckParser *)
void syck_emitter_reset_levels(SyckEmitter *)
char * syck_xprivate(const char *, int)
void syck_parser_handler(SyckParser *, SyckNodeHandler)
void syck_parser_error_handler(SyckParser *, SyckErrorHandler)
SyckNode * syck_alloc_seq(void)
void syck_emit_scalar(SyckEmitter *, const char *, enum scalar_style, int, int, char, const char *, long)
void syck_emitter_flush(SyckEmitter *, long)
long(* SyckIoStrRead)(char *, SyckIoStr *, long, long)
void syck_emitter_escape(SyckEmitter *, const char *, long)
void syck_emit_literal(SyckEmitter *, char, const char *, long)
SyckEmitterHandler emitter_handler
SyckNode * syck_new_seq(SYMID)
long syck_io_file_read(char *, SyckIoFile *, long, long)
SyckParser * syck_new_parser(void)
void syck_emit_1quoted(SyckEmitter *, int, const char *, long)
void syck_parser_str(SyckParser *, char *, long, SyckIoStrRead)
void syck_add_transfer(char *, SyckNode *, int)
SyckNode * syck_alloc_str(void)
void syck_emitter_add_level(SyckEmitter *, int, enum syck_level_status)
int syck_try_implicit(SyckNode *)
SyckNode * syck_alloc_map(void)
char * syck_strndup(const char *, long)
int sycklex(union YYSTYPE *, SyckParser *)
char * syck_str_read(SyckNode *)
char * syck_taguri(const char *, const char *, int)
struct _syck_node::@19::SyckStr * str
void syck_free_members(SyckNode *)
void free_any_io(SyckParser *)
void syck_emit_tag(SyckEmitter *, const char *, const char *)
void syck_parser_file(SyckParser *, FILE *, SyckIoFileRead)
SyckNode * syck_hdlr_get_anchor(SyckParser *, char *)
void syck_parser_implicit_typing(SyckParser *, int)
void(* SyckEmitterHandler)(SyckEmitter *, st_data_t)
void syck_emit_folded(SyckEmitter *, int, char, const char *, long)
SyckErrorHandler error_handler
void syck_output_handler(SyckEmitter *, SyckOutputHandler)
void syck_parser_bad_anchor_handler(SyckParser *, SyckBadAnchorHandler)
SyckLevel * syck_parser_current_level(SyckParser *)
int syck_scan_scalar(int, const char *, long)
void syck_map_assign(SyckNode *, enum map_part, long, SYMID)
void syck_str_blow_away_commas(SyckNode *)
struct _syck_node::@19::SyckMap * pairs
void syck_parser_add_level(SyckParser *, int, enum syck_level_status)
int syck_lookup_sym(SyckParser *, SYMID, void **)