1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>yaml: Parser Definitions</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.7.1 -->
11<div class="navigation" id="top">
12  <div class="tabs">
13    <ul class="tablist">
14      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
15      <li><a href="modules.html"><span>Modules</span></a></li>
16      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
17      <li><a href="files.html"><span>Files</span></a></li>
18    </ul>
19  </div>
20</div>
21<div class="header">
22  <div class="summary">
23<a href="#nested-classes">Data Structures</a> &#124;
24<a href="#typedef-members">Typedefs</a> &#124;
25<a href="#enum-members">Enumerations</a> &#124;
26<a href="#func-members">Functions</a>  </div>
27  <div class="headertitle">
28<h1>Parser Definitions</h1>  </div>
29</div>
30<div class="contents">
31<table class="memberdecls">
32<tr><td colspan="2"><h2><a name="nested-classes"></a>
33Data Structures</h2></td></tr>
34<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__s.html">yaml_simple_key_s</a></td></tr>
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure holds information about a potential simple key.  <a href="structyaml__simple__key__s.html#_details">More...</a><br/></td></tr>
36<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__alias__data__s.html">yaml_alias_data_s</a></td></tr>
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure holds aliases data.  <a href="structyaml__alias__data__s.html#_details">More...</a><br/></td></tr>
38<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__s.html">yaml_parser_s</a></td></tr>
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The parser structure.  <a href="structyaml__parser__s.html#_details">More...</a><br/></td></tr>
40<tr><td colspan="2"><h2><a name="typedef-members"></a>
41Typedefs</h2></td></tr>
42<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> (void *data, unsigned char *buffer, size_t size, size_t *size_read)</td></tr>
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The prototype of a read handler.  <a href="#ga4982f7e4e001ddb47d2819f38f0cd9d6"></a><br/></td></tr>
44<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5570fbb7ab7c8332cd666f3a9c26591"></a><!-- doxytag: member="parser::yaml_simple_key_t" ref="gae5570fbb7ab7c8332cd666f3a9c26591" args="" -->
45typedef struct <a class="el" href="structyaml__simple__key__s.html">yaml_simple_key_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gae5570fbb7ab7c8332cd666f3a9c26591">yaml_simple_key_t</a></td></tr>
46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure holds information about a potential simple key. <br/></td></tr>
47<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga52b56d3e3cee0f9ba460978802a8c83b"></a><!-- doxytag: member="parser::yaml_parser_state_t" ref="ga52b56d3e3cee0f9ba460978802a8c83b" args="" -->
48typedef enum <a class="el" href="group__parser.html#gad39c19e7b0df6f542ca97806535b57c5">yaml_parser_state_e</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga52b56d3e3cee0f9ba460978802a8c83b">yaml_parser_state_t</a></td></tr>
49<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The states of the parser. <br/></td></tr>
50<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1434228b82f5f90d3c8ccda816e9ca9d"></a><!-- doxytag: member="parser::yaml_alias_data_t" ref="ga1434228b82f5f90d3c8ccda816e9ca9d" args="" -->
51typedef struct <a class="el" href="structyaml__alias__data__s.html">yaml_alias_data_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga1434228b82f5f90d3c8ccda816e9ca9d">yaml_alias_data_t</a></td></tr>
52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure holds aliases data. <br/></td></tr>
53<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structyaml__parser__s.html">yaml_parser_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gafdc6319cb28a8b8034542b29be85b0c4">yaml_parser_t</a></td></tr>
54<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The parser structure.  <a href="#gafdc6319cb28a8b8034542b29be85b0c4"></a><br/></td></tr>
55<tr><td colspan="2"><h2><a name="enum-members"></a>
56Enumerations</h2></td></tr>
57<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gad39c19e7b0df6f542ca97806535b57c5">yaml_parser_state_e</a> { <br/>
58&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5ae7b52e16bf002db5cf2944596d8c880e">YAML_PARSE_STREAM_START_STATE</a>, 
59<br/>
60&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a8255725d67d5bd3574fc7df4db1c6c84">YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE</a>, 
61<br/>
62&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5aa06d10f700d245caecfc6074a6c52fde">YAML_PARSE_DOCUMENT_START_STATE</a>, 
63<br/>
64&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5ae444c7652c8029b0ef80068eaaaa3d4d">YAML_PARSE_DOCUMENT_CONTENT_STATE</a>, 
65<br/>
66&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5aeef06d7f13fa4501146a5b9876c98239">YAML_PARSE_DOCUMENT_END_STATE</a>, 
67<br/>
68&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5ae1893c0835bacf05cdc21ed181fb75f1">YAML_PARSE_BLOCK_NODE_STATE</a>, 
69<br/>
70&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5acbd390af0d3919fe0382d03c284ff3b5">YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE</a>, 
71<br/>
72&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a5bb321f9d18c5b208a71c04bbcbd1d01">YAML_PARSE_FLOW_NODE_STATE</a>, 
73<br/>
74&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a5bb5f95fc5f1a258ee8e9db0ed25b2d9">YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE</a>, 
75<br/>
76&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a8a6cb1f12fe08eee7fc2fa854dbd5b1a">YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE</a>, 
77<br/>
78&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5af7095f2141cf9887489e832f0ec61fbd">YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE</a>, 
79<br/>
80&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5afebcb5bbd67d112d9ecfa633155f0644">YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE</a>, 
81<br/>
82&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a2df81c86e90b874b415ecb19e72efe45">YAML_PARSE_BLOCK_MAPPING_KEY_STATE</a>, 
83<br/>
84&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5ae94acf5685fa1538b225413f154465c2">YAML_PARSE_BLOCK_MAPPING_VALUE_STATE</a>, 
85<br/>
86&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a3f54830989c12cc4a63494df792eeb08">YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE</a>, 
87<br/>
88&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a0e50f3841eb0d37ad159e64c4a9a1171">YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE</a>, 
89<br/>
90&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a563e11601cf3a1d2a3efc1feb1b696a3">YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE</a>, 
91<br/>
92&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a9e5ebb4bee4541e7a7025689c7fc66eb">YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE</a>, 
93<br/>
94&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a397fd87de9227c64e5308481930b5eeb">YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE</a>, 
95<br/>
96&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a91ac4bbb6629e2b768a3305fb707b7cd">YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE</a>, 
97<br/>
98&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a924f8eb891dc7527bf4db594a0b1bff8">YAML_PARSE_FLOW_MAPPING_KEY_STATE</a>, 
99<br/>
100&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a3ba351f6cfba029248ada2c0720246d4">YAML_PARSE_FLOW_MAPPING_VALUE_STATE</a>, 
101<br/>
102&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a5a8ec0af5c3314c1ad5e0569b6a5d6d2">YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE</a>, 
103<br/>
104&nbsp;&nbsp;<a class="el" href="group__parser.html#ggad39c19e7b0df6f542ca97806535b57c5a51fd3d45693e2240251996def375a2a2">YAML_PARSE_END_STATE</a>
105<br/>
106 }</td></tr>
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The states of the parser. </p>
108 <a href="group__parser.html#gad39c19e7b0df6f542ca97806535b57c5">More...</a><br/></td></tr>
109<tr><td colspan="2"><h2><a name="func-members"></a>
110Functions</h2></td></tr>
111<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gacc37ceeb5847e38a3fe24eb0c9b53965">yaml_parser_initialize</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser)</td></tr>
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize a parser.  <a href="#gacc37ceeb5847e38a3fe24eb0c9b53965"></a><br/></td></tr>
113<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gaa27150107c4667c1024ec0651e2ac26b">yaml_parser_delete</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser)</td></tr>
114<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a parser.  <a href="#gaa27150107c4667c1024ec0651e2ac26b"></a><br/></td></tr>
115<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga08a94762bf5f4c61f72c1da0a407df0d">yaml_parser_set_input_string</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, const unsigned char *input, size_t size)</td></tr>
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a string input.  <a href="#ga08a94762bf5f4c61f72c1da0a407df0d"></a><br/></td></tr>
117<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gac3f00f8beb2365b1e4569692d64696b6">yaml_parser_set_input_file</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, FILE *file)</td></tr>
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a file input.  <a href="#gac3f00f8beb2365b1e4569692d64696b6"></a><br/></td></tr>
119<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gabc67581bfa771a3e787d907d6914b8d9">yaml_parser_set_input</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, <a class="el" href="group__parser.html#ga4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> *handler, void *data)</td></tr>
120<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a generic input handler.  <a href="#gabc67581bfa771a3e787d907d6914b8d9"></a><br/></td></tr>
121<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga9565b64975570ed34612a19adf02ae6a">yaml_parser_set_encoding</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, <a class="el" href="group__basic.html#ga2170996d7e636397b5e6bc0c1b7df7c6">yaml_encoding_t</a> encoding)</td></tr>
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the source encoding.  <a href="#ga9565b64975570ed34612a19adf02ae6a"></a><br/></td></tr>
123<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga6c2144f131ebd600a075d4ba654540f7">yaml_parser_scan</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__token__s.html">yaml_token_t</a> *token)</td></tr>
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scan the input stream and produce the next token.  <a href="#ga6c2144f131ebd600a075d4ba654540f7"></a><br/></td></tr>
125<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__event__s.html">yaml_event_t</a> *event)</td></tr>
126<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the input stream and produce the next parsing event.  <a href="#ga559312fb137533d8b7e07f224fe0ec8f"></a><br/></td></tr>
127<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga9ef7d6e9494766b5880c389bc431d138">yaml_parser_load</a> (<a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__document__s.html">yaml_document_t</a> *document)</td></tr>
128<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the input stream and produce the next YAML document.  <a href="#ga9ef7d6e9494766b5880c389bc431d138"></a><br/></td></tr>
129</table>
130<hr/><h2>Typedef Documentation</h2>
131<a class="anchor" id="ga4982f7e4e001ddb47d2819f38f0cd9d6"></a><!-- doxytag: member="yaml.h::yaml_read_handler_t" ref="ga4982f7e4e001ddb47d2819f38f0cd9d6" args="(void *data, unsigned char *buffer, size_t size, size_t *size_read)" -->
132<div class="memitem">
133<div class="memproto">
134      <table class="memname">
135        <tr>
136          <td class="memname">typedef int <a class="el" href="group__parser.html#ga4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a>(void *data, unsigned char *buffer, size_t size, size_t *size_read)</td>
137        </tr>
138      </table>
139</div>
140<div class="memdoc">
141
142<p>The prototype of a read handler. </p>
143<p>The read handler is called when the parser needs to read more bytes from the source. The handler should write not more than <em>size</em> bytes to the <em>buffer</em>. The number of written bytes should be set to the <em>length</em> variable.</p>
144<dl><dt><b>Parameters:</b></dt><dd>
145  <table border="0" cellspacing="2" cellpadding="0">
146    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to an application data specified by <a class="el" href="group__parser.html#gabc67581bfa771a3e787d907d6914b8d9" title="Set a generic input handler.">yaml_parser_set_input()</a>. </td></tr>
147    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>The buffer to write the data from the source. </td></tr>
148    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the buffer. </td></tr>
149    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>size_read</em>&nbsp;</td><td>The actual number of bytes read from the source.</td></tr>
150  </table>
151  </dd>
152</dl>
153<dl class="return"><dt><b>Returns:</b></dt><dd>On success, the handler should return <code>1</code>. If the handler failed, the returned value should be <code>0</code>. On EOF, the handler should set the <em>size_read</em> to <code>0</code> and return <code>1</code>. </dd></dl>
154
155</div>
156</div>
157<a class="anchor" id="gafdc6319cb28a8b8034542b29be85b0c4"></a><!-- doxytag: member="yaml.h::yaml_parser_t" ref="gafdc6319cb28a8b8034542b29be85b0c4" args="" -->
158<div class="memitem">
159<div class="memproto">
160      <table class="memname">
161        <tr>
162          <td class="memname">typedef struct <a class="el" href="structyaml__parser__s.html">yaml_parser_s</a>  <a class="el" href="structyaml__parser__s.html">yaml_parser_t</a></td>
163        </tr>
164      </table>
165</div>
166<div class="memdoc">
167
168<p>The parser structure. </p>
169<p>All members are internal. Manage the structure using the <code>yaml_parser_</code> family of functions. </p>
170
171</div>
172</div>
173<hr/><h2>Enumeration Type Documentation</h2>
174<a class="anchor" id="gad39c19e7b0df6f542ca97806535b57c5"></a><!-- doxytag: member="yaml.h::yaml_parser_state_e" ref="gad39c19e7b0df6f542ca97806535b57c5" args="" -->
175<div class="memitem">
176<div class="memproto">
177      <table class="memname">
178        <tr>
179          <td class="memname">enum <a class="el" href="group__parser.html#gad39c19e7b0df6f542ca97806535b57c5">yaml_parser_state_e</a></td>
180        </tr>
181      </table>
182</div>
183<div class="memdoc">
184
185<p>The states of the parser. </p>
186<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
187<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5ae7b52e16bf002db5cf2944596d8c880e"></a><!-- doxytag: member="YAML_PARSE_STREAM_START_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5ae7b52e16bf002db5cf2944596d8c880e" args="" -->YAML_PARSE_STREAM_START_STATE</em>&nbsp;</td><td>
188<p>Expect STREAM-START. </p>
189</td></tr>
190<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a8255725d67d5bd3574fc7df4db1c6c84"></a><!-- doxytag: member="YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a8255725d67d5bd3574fc7df4db1c6c84" args="" -->YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE</em>&nbsp;</td><td>
191<p>Expect the beginning of an implicit document. </p>
192</td></tr>
193<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5aa06d10f700d245caecfc6074a6c52fde"></a><!-- doxytag: member="YAML_PARSE_DOCUMENT_START_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5aa06d10f700d245caecfc6074a6c52fde" args="" -->YAML_PARSE_DOCUMENT_START_STATE</em>&nbsp;</td><td>
194<p>Expect DOCUMENT-START. </p>
195</td></tr>
196<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5ae444c7652c8029b0ef80068eaaaa3d4d"></a><!-- doxytag: member="YAML_PARSE_DOCUMENT_CONTENT_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5ae444c7652c8029b0ef80068eaaaa3d4d" args="" -->YAML_PARSE_DOCUMENT_CONTENT_STATE</em>&nbsp;</td><td>
197<p>Expect the content of a document. </p>
198</td></tr>
199<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5aeef06d7f13fa4501146a5b9876c98239"></a><!-- doxytag: member="YAML_PARSE_DOCUMENT_END_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5aeef06d7f13fa4501146a5b9876c98239" args="" -->YAML_PARSE_DOCUMENT_END_STATE</em>&nbsp;</td><td>
200<p>Expect DOCUMENT-END. </p>
201</td></tr>
202<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5ae1893c0835bacf05cdc21ed181fb75f1"></a><!-- doxytag: member="YAML_PARSE_BLOCK_NODE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5ae1893c0835bacf05cdc21ed181fb75f1" args="" -->YAML_PARSE_BLOCK_NODE_STATE</em>&nbsp;</td><td>
203<p>Expect a block node. </p>
204</td></tr>
205<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5acbd390af0d3919fe0382d03c284ff3b5"></a><!-- doxytag: member="YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5acbd390af0d3919fe0382d03c284ff3b5" args="" -->YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE</em>&nbsp;</td><td>
206<p>Expect a block node or indentless sequence. </p>
207</td></tr>
208<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a5bb321f9d18c5b208a71c04bbcbd1d01"></a><!-- doxytag: member="YAML_PARSE_FLOW_NODE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a5bb321f9d18c5b208a71c04bbcbd1d01" args="" -->YAML_PARSE_FLOW_NODE_STATE</em>&nbsp;</td><td>
209<p>Expect a flow node. </p>
210</td></tr>
211<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a5bb5f95fc5f1a258ee8e9db0ed25b2d9"></a><!-- doxytag: member="YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a5bb5f95fc5f1a258ee8e9db0ed25b2d9" args="" -->YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE</em>&nbsp;</td><td>
212<p>Expect the first entry of a block sequence. </p>
213</td></tr>
214<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a8a6cb1f12fe08eee7fc2fa854dbd5b1a"></a><!-- doxytag: member="YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a8a6cb1f12fe08eee7fc2fa854dbd5b1a" args="" -->YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE</em>&nbsp;</td><td>
215<p>Expect an entry of a block sequence. </p>
216</td></tr>
217<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5af7095f2141cf9887489e832f0ec61fbd"></a><!-- doxytag: member="YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5af7095f2141cf9887489e832f0ec61fbd" args="" -->YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE</em>&nbsp;</td><td>
218<p>Expect an entry of an indentless sequence. </p>
219</td></tr>
220<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5afebcb5bbd67d112d9ecfa633155f0644"></a><!-- doxytag: member="YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5afebcb5bbd67d112d9ecfa633155f0644" args="" -->YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE</em>&nbsp;</td><td>
221<p>Expect the first key of a block mapping. </p>
222</td></tr>
223<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a2df81c86e90b874b415ecb19e72efe45"></a><!-- doxytag: member="YAML_PARSE_BLOCK_MAPPING_KEY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a2df81c86e90b874b415ecb19e72efe45" args="" -->YAML_PARSE_BLOCK_MAPPING_KEY_STATE</em>&nbsp;</td><td>
224<p>Expect a block mapping key. </p>
225</td></tr>
226<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5ae94acf5685fa1538b225413f154465c2"></a><!-- doxytag: member="YAML_PARSE_BLOCK_MAPPING_VALUE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5ae94acf5685fa1538b225413f154465c2" args="" -->YAML_PARSE_BLOCK_MAPPING_VALUE_STATE</em>&nbsp;</td><td>
227<p>Expect a block mapping value. </p>
228</td></tr>
229<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a3f54830989c12cc4a63494df792eeb08"></a><!-- doxytag: member="YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a3f54830989c12cc4a63494df792eeb08" args="" -->YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE</em>&nbsp;</td><td>
230<p>Expect the first entry of a flow sequence. </p>
231</td></tr>
232<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a0e50f3841eb0d37ad159e64c4a9a1171"></a><!-- doxytag: member="YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a0e50f3841eb0d37ad159e64c4a9a1171" args="" -->YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE</em>&nbsp;</td><td>
233<p>Expect an entry of a flow sequence. </p>
234</td></tr>
235<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a563e11601cf3a1d2a3efc1feb1b696a3"></a><!-- doxytag: member="YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a563e11601cf3a1d2a3efc1feb1b696a3" args="" -->YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE</em>&nbsp;</td><td>
236<p>Expect a key of an ordered mapping. </p>
237</td></tr>
238<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a9e5ebb4bee4541e7a7025689c7fc66eb"></a><!-- doxytag: member="YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a9e5ebb4bee4541e7a7025689c7fc66eb" args="" -->YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE</em>&nbsp;</td><td>
239<p>Expect a value of an ordered mapping. </p>
240</td></tr>
241<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a397fd87de9227c64e5308481930b5eeb"></a><!-- doxytag: member="YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a397fd87de9227c64e5308481930b5eeb" args="" -->YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE</em>&nbsp;</td><td>
242<p>Expect the and of an ordered mapping entry. </p>
243</td></tr>
244<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a91ac4bbb6629e2b768a3305fb707b7cd"></a><!-- doxytag: member="YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a91ac4bbb6629e2b768a3305fb707b7cd" args="" -->YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE</em>&nbsp;</td><td>
245<p>Expect the first key of a flow mapping. </p>
246</td></tr>
247<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a924f8eb891dc7527bf4db594a0b1bff8"></a><!-- doxytag: member="YAML_PARSE_FLOW_MAPPING_KEY_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a924f8eb891dc7527bf4db594a0b1bff8" args="" -->YAML_PARSE_FLOW_MAPPING_KEY_STATE</em>&nbsp;</td><td>
248<p>Expect a key of a flow mapping. </p>
249</td></tr>
250<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a3ba351f6cfba029248ada2c0720246d4"></a><!-- doxytag: member="YAML_PARSE_FLOW_MAPPING_VALUE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a3ba351f6cfba029248ada2c0720246d4" args="" -->YAML_PARSE_FLOW_MAPPING_VALUE_STATE</em>&nbsp;</td><td>
251<p>Expect a value of a flow mapping. </p>
252</td></tr>
253<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a5a8ec0af5c3314c1ad5e0569b6a5d6d2"></a><!-- doxytag: member="YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a5a8ec0af5c3314c1ad5e0569b6a5d6d2" args="" -->YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE</em>&nbsp;</td><td>
254<p>Expect an empty value of a flow mapping. </p>
255</td></tr>
256<tr><td valign="top"><em><a class="anchor" id="ggad39c19e7b0df6f542ca97806535b57c5a51fd3d45693e2240251996def375a2a2"></a><!-- doxytag: member="YAML_PARSE_END_STATE" ref="ggad39c19e7b0df6f542ca97806535b57c5a51fd3d45693e2240251996def375a2a2" args="" -->YAML_PARSE_END_STATE</em>&nbsp;</td><td>
257<p>Expect nothing. </p>
258</td></tr>
259</table>
260</dd>
261</dl>
262
263</div>
264</div>
265<hr/><h2>Function Documentation</h2>
266<a class="anchor" id="gacc37ceeb5847e38a3fe24eb0c9b53965"></a><!-- doxytag: member="yaml.h::yaml_parser_initialize" ref="gacc37ceeb5847e38a3fe24eb0c9b53965" args="(yaml_parser_t *parser)" -->
267<div class="memitem">
268<div class="memproto">
269      <table class="memname">
270        <tr>
271          <td class="memname">int yaml_parser_initialize </td>
272          <td>(</td>
273          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
274          <td class="paramname"> <em>parser</em></td>
275          <td>&nbsp;)&nbsp;</td>
276          <td></td>
277        </tr>
278      </table>
279</div>
280<div class="memdoc">
281
282<p>Initialize a parser. </p>
283<p>This function creates a new parser object. An application is responsible for destroying the object using the <a class="el" href="group__parser.html#gaa27150107c4667c1024ec0651e2ac26b" title="Destroy a parser.">yaml_parser_delete()</a> function.</p>
284<dl><dt><b>Parameters:</b></dt><dd>
285  <table border="0" cellspacing="2" cellpadding="0">
286    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>An empty parser object.</td></tr>
287  </table>
288  </dd>
289</dl>
290<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl>
291
292</div>
293</div>
294<a class="anchor" id="gaa27150107c4667c1024ec0651e2ac26b"></a><!-- doxytag: member="yaml.h::yaml_parser_delete" ref="gaa27150107c4667c1024ec0651e2ac26b" args="(yaml_parser_t *parser)" -->
295<div class="memitem">
296<div class="memproto">
297      <table class="memname">
298        <tr>
299          <td class="memname">void yaml_parser_delete </td>
300          <td>(</td>
301          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
302          <td class="paramname"> <em>parser</em></td>
303          <td>&nbsp;)&nbsp;</td>
304          <td></td>
305        </tr>
306      </table>
307</div>
308<div class="memdoc">
309
310<p>Destroy a parser. </p>
311<dl><dt><b>Parameters:</b></dt><dd>
312  <table border="0" cellspacing="2" cellpadding="0">
313    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
314  </table>
315  </dd>
316</dl>
317
318</div>
319</div>
320<a class="anchor" id="ga08a94762bf5f4c61f72c1da0a407df0d"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input_string" ref="ga08a94762bf5f4c61f72c1da0a407df0d" args="(yaml_parser_t *parser, const unsigned char *input, size_t size)" -->
321<div class="memitem">
322<div class="memproto">
323      <table class="memname">
324        <tr>
325          <td class="memname">void yaml_parser_set_input_string </td>
326          <td>(</td>
327          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
328          <td class="paramname"> <em>parser</em>, </td>
329        </tr>
330        <tr>
331          <td class="paramkey"></td>
332          <td></td>
333          <td class="paramtype">const unsigned char *&nbsp;</td>
334          <td class="paramname"> <em>input</em>, </td>
335        </tr>
336        <tr>
337          <td class="paramkey"></td>
338          <td></td>
339          <td class="paramtype">size_t&nbsp;</td>
340          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
341        </tr>
342        <tr>
343          <td></td>
344          <td>)</td>
345          <td></td><td></td><td></td>
346        </tr>
347      </table>
348</div>
349<div class="memdoc">
350
351<p>Set a string input. </p>
352<p>Note that the <em>input</em> pointer must be valid while the <em>parser</em> object exists. The application is responsible for destroing <em>input</em> after destroying the <em>parser</em>.</p>
353<dl><dt><b>Parameters:</b></dt><dd>
354  <table border="0" cellspacing="2" cellpadding="0">
355    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
356    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>input</em>&nbsp;</td><td>A source data. </td></tr>
357    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>The length of the source data in bytes. </td></tr>
358  </table>
359  </dd>
360</dl>
361
362</div>
363</div>
364<a class="anchor" id="gac3f00f8beb2365b1e4569692d64696b6"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input_file" ref="gac3f00f8beb2365b1e4569692d64696b6" args="(yaml_parser_t *parser, FILE *file)" -->
365<div class="memitem">
366<div class="memproto">
367      <table class="memname">
368        <tr>
369          <td class="memname">void yaml_parser_set_input_file </td>
370          <td>(</td>
371          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
372          <td class="paramname"> <em>parser</em>, </td>
373        </tr>
374        <tr>
375          <td class="paramkey"></td>
376          <td></td>
377          <td class="paramtype">FILE *&nbsp;</td>
378          <td class="paramname"> <em>file</em></td><td>&nbsp;</td>
379        </tr>
380        <tr>
381          <td></td>
382          <td>)</td>
383          <td></td><td></td><td></td>
384        </tr>
385      </table>
386</div>
387<div class="memdoc">
388
389<p>Set a file input. </p>
390<p><em>file</em> should be a file object open for reading. The application is responsible for closing the <em>file</em>.</p>
391<dl><dt><b>Parameters:</b></dt><dd>
392  <table border="0" cellspacing="2" cellpadding="0">
393    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
394    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>file</em>&nbsp;</td><td>An open file. </td></tr>
395  </table>
396  </dd>
397</dl>
398
399</div>
400</div>
401<a class="anchor" id="gabc67581bfa771a3e787d907d6914b8d9"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input" ref="gabc67581bfa771a3e787d907d6914b8d9" args="(yaml_parser_t *parser, yaml_read_handler_t *handler, void *data)" -->
402<div class="memitem">
403<div class="memproto">
404      <table class="memname">
405        <tr>
406          <td class="memname">void yaml_parser_set_input </td>
407          <td>(</td>
408          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
409          <td class="paramname"> <em>parser</em>, </td>
410        </tr>
411        <tr>
412          <td class="paramkey"></td>
413          <td></td>
414          <td class="paramtype"><a class="el" href="group__parser.html#ga4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> *&nbsp;</td>
415          <td class="paramname"> <em>handler</em>, </td>
416        </tr>
417        <tr>
418          <td class="paramkey"></td>
419          <td></td>
420          <td class="paramtype">void *&nbsp;</td>
421          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
422        </tr>
423        <tr>
424          <td></td>
425          <td>)</td>
426          <td></td><td></td><td></td>
427        </tr>
428      </table>
429</div>
430<div class="memdoc">
431
432<p>Set a generic input handler. </p>
433<dl><dt><b>Parameters:</b></dt><dd>
434  <table border="0" cellspacing="2" cellpadding="0">
435    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
436    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>handler</em>&nbsp;</td><td>A read handler. </td></tr>
437    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>data</em>&nbsp;</td><td>Any application data for passing to the read handler. </td></tr>
438  </table>
439  </dd>
440</dl>
441
442</div>
443</div>
444<a class="anchor" id="ga9565b64975570ed34612a19adf02ae6a"></a><!-- doxytag: member="yaml.h::yaml_parser_set_encoding" ref="ga9565b64975570ed34612a19adf02ae6a" args="(yaml_parser_t *parser, yaml_encoding_t encoding)" -->
445<div class="memitem">
446<div class="memproto">
447      <table class="memname">
448        <tr>
449          <td class="memname">void yaml_parser_set_encoding </td>
450          <td>(</td>
451          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
452          <td class="paramname"> <em>parser</em>, </td>
453        </tr>
454        <tr>
455          <td class="paramkey"></td>
456          <td></td>
457          <td class="paramtype"><a class="el" href="group__basic.html#ga2170996d7e636397b5e6bc0c1b7df7c6">yaml_encoding_t</a>&nbsp;</td>
458          <td class="paramname"> <em>encoding</em></td><td>&nbsp;</td>
459        </tr>
460        <tr>
461          <td></td>
462          <td>)</td>
463          <td></td><td></td><td></td>
464        </tr>
465      </table>
466</div>
467<div class="memdoc">
468
469<p>Set the source encoding. </p>
470<dl><dt><b>Parameters:</b></dt><dd>
471  <table border="0" cellspacing="2" cellpadding="0">
472    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
473    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>encoding</em>&nbsp;</td><td>The source encoding. </td></tr>
474  </table>
475  </dd>
476</dl>
477
478</div>
479</div>
480<a class="anchor" id="ga6c2144f131ebd600a075d4ba654540f7"></a><!-- doxytag: member="yaml.h::yaml_parser_scan" ref="ga6c2144f131ebd600a075d4ba654540f7" args="(yaml_parser_t *parser, yaml_token_t *token)" -->
481<div class="memitem">
482<div class="memproto">
483      <table class="memname">
484        <tr>
485          <td class="memname">int yaml_parser_scan </td>
486          <td>(</td>
487          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
488          <td class="paramname"> <em>parser</em>, </td>
489        </tr>
490        <tr>
491          <td class="paramkey"></td>
492          <td></td>
493          <td class="paramtype"><a class="el" href="structyaml__token__s.html">yaml_token_t</a> *&nbsp;</td>
494          <td class="paramname"> <em>token</em></td><td>&nbsp;</td>
495        </tr>
496        <tr>
497          <td></td>
498          <td>)</td>
499          <td></td><td></td><td></td>
500        </tr>
501      </table>
502</div>
503<div class="memdoc">
504
505<p>Scan the input stream and produce the next token. </p>
506<p>Call the function subsequently to produce a sequence of tokens corresponding to the input stream. The initial token has the type <code>YAML_STREAM_START_TOKEN</code> while the ending token has the type <code>YAML_STREAM_END_TOKEN</code>.</p>
507<p>An application is responsible for freeing any buffers associated with the produced token object using the <code>yaml_token_delete</code> function.</p>
508<p>An application must not alternate the calls of <a class="el" href="group__parser.html#ga6c2144f131ebd600a075d4ba654540f7" title="Scan the input stream and produce the next token.">yaml_parser_scan()</a> with the calls of <a class="el" href="group__parser.html#ga559312fb137533d8b7e07f224fe0ec8f" title="Parse the input stream and produce the next parsing event.">yaml_parser_parse()</a> or <a class="el" href="group__parser.html#ga9ef7d6e9494766b5880c389bc431d138" title="Parse the input stream and produce the next YAML document.">yaml_parser_load()</a>. Doing this will break the parser.</p>
509<dl><dt><b>Parameters:</b></dt><dd>
510  <table border="0" cellspacing="2" cellpadding="0">
511    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
512    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>token</em>&nbsp;</td><td>An empty token object.</td></tr>
513  </table>
514  </dd>
515</dl>
516<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl>
517
518</div>
519</div>
520<a class="anchor" id="ga559312fb137533d8b7e07f224fe0ec8f"></a><!-- doxytag: member="yaml.h::yaml_parser_parse" ref="ga559312fb137533d8b7e07f224fe0ec8f" args="(yaml_parser_t *parser, yaml_event_t *event)" -->
521<div class="memitem">
522<div class="memproto">
523      <table class="memname">
524        <tr>
525          <td class="memname">int yaml_parser_parse </td>
526          <td>(</td>
527          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
528          <td class="paramname"> <em>parser</em>, </td>
529        </tr>
530        <tr>
531          <td class="paramkey"></td>
532          <td></td>
533          <td class="paramtype"><a class="el" href="structyaml__event__s.html">yaml_event_t</a> *&nbsp;</td>
534          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
535        </tr>
536        <tr>
537          <td></td>
538          <td>)</td>
539          <td></td><td></td><td></td>
540        </tr>
541      </table>
542</div>
543<div class="memdoc">
544
545<p>Parse the input stream and produce the next parsing event. </p>
546<p>Call the function subsequently to produce a sequence of events corresponding to the input stream. The initial event has the type <code>YAML_STREAM_START_EVENT</code> while the ending event has the type <code>YAML_STREAM_END_EVENT</code>.</p>
547<p>An application is responsible for freeing any buffers associated with the produced event object using the <a class="el" href="group__events.html#ga5330d62ef52856aa53188137cb93a6a1" title="Free any memory allocated for an event object.">yaml_event_delete()</a> function.</p>
548<p>An application must not alternate the calls of <a class="el" href="group__parser.html#ga559312fb137533d8b7e07f224fe0ec8f" title="Parse the input stream and produce the next parsing event.">yaml_parser_parse()</a> with the calls of <a class="el" href="group__parser.html#ga6c2144f131ebd600a075d4ba654540f7" title="Scan the input stream and produce the next token.">yaml_parser_scan()</a> or <a class="el" href="group__parser.html#ga9ef7d6e9494766b5880c389bc431d138" title="Parse the input stream and produce the next YAML document.">yaml_parser_load()</a>. Doing this will break the parser.</p>
549<dl><dt><b>Parameters:</b></dt><dd>
550  <table border="0" cellspacing="2" cellpadding="0">
551    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
552    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>event</em>&nbsp;</td><td>An empty event object.</td></tr>
553  </table>
554  </dd>
555</dl>
556<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl>
557
558</div>
559</div>
560<a class="anchor" id="ga9ef7d6e9494766b5880c389bc431d138"></a><!-- doxytag: member="yaml.h::yaml_parser_load" ref="ga9ef7d6e9494766b5880c389bc431d138" args="(yaml_parser_t *parser, yaml_document_t *document)" -->
561<div class="memitem">
562<div class="memproto">
563      <table class="memname">
564        <tr>
565          <td class="memname">int yaml_parser_load </td>
566          <td>(</td>
567          <td class="paramtype"><a class="el" href="structyaml__parser__s.html">yaml_parser_t</a> *&nbsp;</td>
568          <td class="paramname"> <em>parser</em>, </td>
569        </tr>
570        <tr>
571          <td class="paramkey"></td>
572          <td></td>
573          <td class="paramtype"><a class="el" href="structyaml__document__s.html">yaml_document_t</a> *&nbsp;</td>
574          <td class="paramname"> <em>document</em></td><td>&nbsp;</td>
575        </tr>
576        <tr>
577          <td></td>
578          <td>)</td>
579          <td></td><td></td><td></td>
580        </tr>
581      </table>
582</div>
583<div class="memdoc">
584
585<p>Parse the input stream and produce the next YAML document. </p>
586<p>Call this function subsequently to produce a sequence of documents constituting the input stream.</p>
587<p>If the produced document has no root node, it means that the document end has been reached.</p>
588<p>An application is responsible for freeing any data associated with the produced document object using the <a class="el" href="group__nodes.html#ga2754b1544fb4e110e83fafbc708b0672" title="Delete a YAML document and all its nodes.">yaml_document_delete()</a> function.</p>
589<p>An application must not alternate the calls of <a class="el" href="group__parser.html#ga9ef7d6e9494766b5880c389bc431d138" title="Parse the input stream and produce the next YAML document.">yaml_parser_load()</a> with the calls of <a class="el" href="group__parser.html#ga6c2144f131ebd600a075d4ba654540f7" title="Scan the input stream and produce the next token.">yaml_parser_scan()</a> or <a class="el" href="group__parser.html#ga559312fb137533d8b7e07f224fe0ec8f" title="Parse the input stream and produce the next parsing event.">yaml_parser_parse()</a>. Doing this will break the parser.</p>
590<dl><dt><b>Parameters:</b></dt><dd>
591  <table border="0" cellspacing="2" cellpadding="0">
592    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td>A parser object. </td></tr>
593    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>document</em>&nbsp;</td><td>An empty document object.</td></tr>
594  </table>
595  </dd>
596</dl>
597<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl>
598
599</div>
600</div>
601</div>
602<hr class="footer"/><address class="footer"><small>Generated on Mon May 30 2011 22:00:00 for yaml by&nbsp;
603<a href="http://www.doxygen.org/index.html">
604<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
605</body>
606</html>
607