| | 220 | /* |
| | 221 | * Token initializers. |
| | 222 | */ |
| | 223 | |
| | 224 | #define TOKEN_INIT(token,token_type,token_start_mark,token_end_mark) \ |
| | 225 | (memset(&(token), 0, sizeof(yaml_token_t)), \ |
| | 226 | (token).type = (token_type), \ |
| | 227 | (token).start_mark = (token_start_mark), \ |
| | 228 | (token).end_mark = (token_end_mark)) |
| | 229 | |
| | 230 | #define STREAM_START_TOKEN_INIT(token,token_encoding,start_mark,end_mark) \ |
| | 231 | (TOKEN_INIT((token),YAML_STREAM_START_TOKEN,(start_mark),(end_mark)), \ |
| | 232 | (token).data.stream_start.encoding = (token_encoding)) |
| | 233 | |
| | 234 | #define STREAM_END_TOKEN_INIT(token,start_mark,end_mark) \ |
| | 235 | (TOKEN_INIT((token),YAML_STREAM_END_TOKEN,(start_mark),(end_mark))) |
| | 236 | |
| | 237 | #define ALIAS_TOKEN_INIT(token,token_value,start_mark,end_mark) \ |
| | 238 | (TOKEN_INIT((token),YAML_ALIAS_TOKEN,(start_mark),(end_mark)), \ |
| | 239 | (token).data.alias.value = (token_value)) |
| | 240 | |
| | 241 | #define ANCHOR_TOKEN_INIT(token,token_value,start_mark,end_mark) \ |
| | 242 | (TOKEN_INIT((token),YAML_ANCHOR_TOKEN,(start_mark),(end_mark)), \ |
| | 243 | (token).data.anchor.value = (token_value)) |
| | 244 | |
| | 245 | #define TAG_TOKEN_INIT(token,token_handle,token_suffix,start_mark,end_mark) \ |
| | 246 | (TOKEN_INIT((token),YAML_TAG_TOKEN,(start_mark),(end_mark)), \ |
| | 247 | (token).data.tag.handle = (token_handle), \ |
| | 248 | (token).data.tag.suffix = (token_suffix)) |
| | 249 | |
| | 250 | #define SCALAR_TOKEN_INIT(token,token_value,token_length,token_style,start_mark,end_mark) \ |
| | 251 | (TOKEN_INIT((token),YAML_SCALAR_TOKEN,(start_mark),(end_mark)), \ |
| | 252 | (token).data.scalar.value = (token_value), \ |
| | 253 | (token).data.scalar.length = (token_length), \ |
| | 254 | (token).data.scalar.style = (token_style)) |
| | 255 | |
| | 256 | #define VERSION_DIRECTIVE_TOKEN_INIT(token,token_major,token_minor,start_mark,end_mark) \ |
| | 257 | (TOKEN_INIT((token),YAML_VERSION_DIRECTIVE_TOKEN,(start_mark),(end_mark)), \ |
| | 258 | (token).data.version_directive.major = (token_major), \ |
| | 259 | (token).data.version_directive.minor = (token_minor)) |
| | 260 | |
| | 261 | #define TAG_DIRECTIVE_TOKEN_INIT(token,token_handle,token_prefix,start_mark,end_mark) \ |
| | 262 | (TOKEN_INIT((token),YAML_TAG_DIRECTIVE_TOKEN,(start_mark),(end_mark)), \ |
| | 263 | (token).data.tag_directive.handle = (token_handle), \ |
| | 264 | (token).data.tag_directive.prefix = (token_prefix)) |
| | 265 | |
| | 266 | /* |
| | 267 | * Event initializers. |
| | 268 | */ |
| | 269 | |
| | 270 | #define EVENT_INIT(event,event_type,event_start_mark,event_end_mark) \ |
| | 271 | (memset(&(event), 0, sizeof(yaml_event_t)), \ |
| | 272 | (event).type = (event_type), \ |
| | 273 | (event).start_mark = (event_start_mark), \ |
| | 274 | (event).end_mark = (event_end_mark)) |
| | 275 | |
| | 276 | #define STREAM_START_EVENT_INIT(event,event_encoding,start_mark,end_mark) \ |
| | 277 | (EVENT_INIT((event),YAML_STREAM_START_EVENT,(start_mark),(end_mark)), \ |
| | 278 | (event).data.stream_start.encoding = (event_encoding)) |
| | 279 | |
| | 280 | #define STREAM_END_EVENT_INIT(event,start_mark,end_mark) \ |
| | 281 | (EVENT_INIT((event),YAML_STREAM_END_EVENT,(start_mark),(end_mark))) |
| | 282 | |
| | 283 | #define DOCUMENT_START_EVENT_INIT(event,event_version_directive, \ |
| | 284 | event_tag_directives_start,event_tag_directives_end,event_implicit,start_mark,end_mark) \ |
| | 285 | (EVENT_INIT((event),YAML_DOCUMENT_START_EVENT,(start_mark),(end_mark)), \ |
| | 286 | (event).data.document_start.version_directive = (event_version_directive), \ |
| | 287 | (event).data.document_start.tag_directives.start = (event_tag_directives_start), \ |
| | 288 | (event).data.document_start.tag_directives.end = (event_tag_directives_end), \ |
| | 289 | (event).data.document_start.implicit = (event_implicit)) |
| | 290 | |
| | 291 | #define DOCUMENT_END_EVENT_INIT(event,event_implicit,start_mark,end_mark) \ |
| | 292 | (EVENT_INIT((event),YAML_DOCUMENT_END_EVENT,(start_mark),(end_mark)), \ |
| | 293 | (event).data.document_end.implicit = (event_implicit)) |
| | 294 | |
| | 295 | #define ALIAS_EVENT_INIT(event,event_anchor,start_mark,end_mark) \ |
| | 296 | (EVENT_INIT((event),YAML_ALIAS_EVENT,(start_mark),(end_mark)), \ |
| | 297 | (event).data.alias.anchor = (event_anchor)) |
| | 298 | |
| | 299 | #define SCALAR_EVENT_INIT(event,event_anchor,event_tag,event_value,event_length, \ |
| | 300 | event_plain_implicit, event_quoted_implicit,event_style,start_mark,end_mark) \ |
| | 301 | (EVENT_INIT((event),YAML_SCALAR_EVENT,(start_mark),(end_mark)), \ |
| | 302 | (event).data.scalar.anchor = (event_anchor), \ |
| | 303 | (event).data.scalar.tag = (event_tag), \ |
| | 304 | (event).data.scalar.value = (event_value), \ |
| | 305 | (event).data.scalar.length = (event_length), \ |
| | 306 | (event).data.scalar.plain_implicit = (event_plain_implicit), \ |
| | 307 | (event).data.scalar.quoted_implicit = (event_quoted_implicit), \ |
| | 308 | (event).data.scalar.style = (event_style)) |
| | 309 | |
| | 310 | #define SEQUENCE_START_EVENT_INIT(event,event_anchor,event_tag, \ |
| | 311 | event_implicit,event_style,start_mark,end_mark) \ |
| | 312 | (EVENT_INIT((event),YAML_SEQUENCE_START_EVENT,(start_mark),(end_mark)), \ |
| | 313 | (event).data.sequence_start.anchor = (event_anchor), \ |
| | 314 | (event).data.sequence_start.tag = (event_tag), \ |
| | 315 | (event).data.sequence_start.implicit = (event_implicit), \ |
| | 316 | (event).data.sequence_start.style = (event_style)) |
| | 317 | |
| | 318 | #define SEQUENCE_END_EVENT_INIT(event,start_mark,end_mark) \ |
| | 319 | (EVENT_INIT((event),YAML_SEQUENCE_END_EVENT,(start_mark),(end_mark))) |
| | 320 | |
| | 321 | #define MAPPING_START_EVENT_INIT(event,event_anchor,event_tag, \ |
| | 322 | event_implicit,event_style,start_mark,end_mark) \ |
| | 323 | (EVENT_INIT((event),YAML_MAPPING_START_EVENT,(start_mark),(end_mark)), \ |
| | 324 | (event).data.mapping_start.anchor = (event_anchor), \ |
| | 325 | (event).data.mapping_start.tag = (event_tag), \ |
| | 326 | (event).data.mapping_start.implicit = (event_implicit), \ |
| | 327 | (event).data.mapping_start.style = (event_style)) |
| | 328 | |
| | 329 | #define MAPPING_END_EVENT_INIT(event,start_mark,end_mark) \ |
| | 330 | (EVENT_INIT((event),YAML_MAPPING_END_EVENT,(start_mark),(end_mark))) |
| | 331 | |