Skip to content

Commit

Permalink
Events update
Browse files Browse the repository at this point in the history
  • Loading branch information
mirek committed Sep 27, 2010
1 parent 883af0c commit 93b4b6a
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions test/events.m → test/events.c
@@ -1,21 +1,25 @@
//
// events.m
// events.c
// YAML Serialization support by Mirek Rusin based on C library LibYAML by Kirill Simonov
//
// Copyright 2010 Mirek Rusin, Released under MIT License
//

#import <Foundation/Foundation.h>
#import "YAMLSerialization.h"
//#import <Foundation/Foundation.h>
//#import "YAMLSerialization.h"

#include <stdlib.h>
#include <stdio.h>
#include "yaml.h"

#ifdef NDEBUG
#undef NDEBUG
#endif
#include <assert.h>

#define PRINT_INDENT() for (int i = 0; i < indent; i++) printf(" ")


int
main(int argc, char *argv[])
{
Expand All @@ -35,7 +39,7 @@
int count = 0;
int error = 0;

printf("[%d] Parsing '%s': ", number, argv[number]);
printf("[%d] Parsing '%s': \n", number, argv[number]);
fflush(stdout);

file = fopen(argv[number], "rb");
Expand All @@ -45,6 +49,8 @@

yaml_parser_set_input_file(&parser, file);

int indent = 0;

while (!done)
{
if (!yaml_parser_parse(&parser, &event)) {
Expand All @@ -54,37 +60,41 @@

switch (event.type) {
case YAML_NO_EVENT:
printf("no\t\n");
break;
case YAML_STREAM_START_EVENT:
printf("no\t\n");
break;
case YAML_STREAM_END_EVENT:
printf("no\t\n");
break;
case YAML_DOCUMENT_START_EVENT:
printf("no\t\n");
printf("%%YAML 1.2\n---\n");
break;
case YAML_DOCUMENT_END_EVENT:
printf("no\t\n");
break;
case YAML_ALIAS_EVENT:
printf("al\t\n");
PRINT_INDENT();
printf("*%s\n", event.data.alias.anchor);
break;
case YAML_SCALAR_EVENT:
printf("scal\t\n");
PRINT_INDENT();
if (event.data.scalar.anchor)
printf("&%s ", event.data.scalar.anchor);
printf("!!str \"%s\"\n", event.data.scalar.value);
break;
case YAML_SEQUENCE_START_EVENT:
printf("seq,s\t\n");
indent++;
break;
case YAML_SEQUENCE_END_EVENT:
indent--;
printf("seq,e\t\n");
break;
case YAML_MAPPING_START_EVENT:
printf("map,s\t\n");
printf("!!map {\n");
indent++;
break;
case YAML_MAPPING_END_EVENT:
printf("map,e\t\n");
indent--;
printf("}\n");
break;
default:
printf("unkn\t\n");
Expand Down

0 comments on commit 93b4b6a

Please sign in to comment.