-/*
- * Create a token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_token_new(yaml_token_type_t type,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_malloc(sizeof(yaml_token_t));
-
- if (!token) return NULL;
-
- memset(token, 0, sizeof(yaml_token_t));
-
- token->type = type;
- token->start_mark = start_mark;
- token->end_mark = end_mark;
-
- return token;
-}
-
-/*
- * Create a STREAM-START token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_stream_start_token_new(yaml_encoding_t encoding,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_STREAM_START_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.encoding = encoding;
-
- return token;
-}
-
-/*
- * Create a STREAM-END token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_stream_end_token_new(yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_STREAM_END_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- return token;
-}
-
-/*
- * Create a VERSION-DIRECTIVE token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_version_directive_token_new(int major, int minor,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_VERSION_DIRECTIVE_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.version_directive.major = major;
- token->data.version_directive.minor = minor;
-
- return token;
-}
-
-/*
- * Create a TAG-DIRECTIVE token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_tag_directive_token_new(yaml_char_t *handle, yaml_char_t *prefix,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_TAG_DIRECTIVE_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.tag_directive.handle = handle;
- token->data.tag_directive.prefix = prefix;
-
- return token;
-}
-
-/*
- * Create an ALIAS token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_alias_token_new(yaml_char_t *anchor,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_ALIAS_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.anchor = anchor;
-
- return token;
-}
-
-/*
- * Create an ANCHOR token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_anchor_token_new(yaml_char_t *anchor,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_ANCHOR_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.anchor = anchor;
-
- return token;
-}
-
-/*
- * Create a TAG token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_tag_token_new(yaml_char_t *handle, yaml_char_t *suffix,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_TAG_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.tag.handle = handle;
- token->data.tag.suffix = suffix;
-
- return token;
-}
-
-/*
- * Create a SCALAR token.
- */
-
-YAML_DECLARE(yaml_token_t *)
-yaml_scalar_token_new(yaml_char_t *value, size_t length,
- yaml_scalar_style_t style,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_token_t *token = yaml_token_new(YAML_SCALAR_TOKEN,
- start_mark, end_mark);
-
- if (!token) return NULL;
-
- token->data.scalar.value = value;
- token->data.scalar.length = length;
- token->data.scalar.style = style;
-
- return token;
-}
-