20 #define YYCURSOR parser->cursor 21 #define YYMARKER parser->marker 22 #define YYLIMIT parser->limit 23 #define YYTOKEN parser->token 24 #define YYTOKTMP parser->toktmp 25 #define YYLINEPTR parser->lineptr 26 #define YYLINECTPTR parser->linectptr 27 #define YYLINE parser->linect 28 #define YYFILL(n) syck_parser_read(parser) 38 #define YYPOS(n) YYCURSOR = YYTOKEN + n 43 #define CHK_NL(ptr) if ( *( ptr - 1 ) == '\n' && ptr > YYLINECTPTR ) { YYLINEPTR = ptr; YYLINE++; YYLINECTPTR = YYLINEPTR; } 48 #define ADD_LEVEL(len, status) syck_parser_add_level( parser, len, status ) 49 #define POP_LEVEL() syck_parser_pop_level( parser ) 50 #define CURRENT_LEVEL() syck_parser_current_level( parser ) 55 #define FORCE_NEXT_TOKEN(tok) parser->force_token = tok; 61 #define ADD_BYTE_LEVEL(lvl, len, s ) \ 62 switch ( lvl->status ) \ 66 ADD_LEVEL(len, syck_lvl_open); \ 88 #define ENSURE_YAML_IOPEN(last_lvl, lvl_type, to_len, reset) \ 89 if ( last_lvl->spaces < to_len ) \ 91 if ( last_lvl->status == syck_lvl_iseq || last_lvl->status == syck_lvl_imap ) \ 97 ADD_LEVEL( to_len, lvl_type ); \ 98 if ( reset == 1 ) YYPOS(0); \ 107 #define ENSURE_YAML_IEND(last_lvl, to_len) \ 108 if ( last_lvl->spaces > to_len ) \ 110 syck_parser_pop_level( parser ); \ 119 #define CAT(s, c, i, l) \ 124 S_REALLOC_N( s, char, c ); \ 150 #line 172 "bytecode.re" 167 unsigned int yyaccept = 0;
190 #line 199 "bytecode.re" 200 #line 186 "bytecode.re" 220 #line 203 "bytecode.re" 243 case 0x00:
goto yy30;
244 case 0x0A:
goto yy27;
245 case 0x0D:
goto yy29;
260 case 0x0A:
goto yy41;
261 case 0x0D:
goto yy44;
266 case 0x0A:
goto yy41;
267 case 0x0D:
goto yy43;
272 case 0x0A:
goto yy38;
273 case 0x0D:
goto yy40;
278 case 0x0A:
goto yy35;
279 case 0x0D:
goto yy37;
284 case 0x0A:
goto yy32;
285 case 0x0D:
goto yy34;
291 #line 288 "bytecode.re" 299 #line 292 "bytecode.re" 310 #line 299 "bytecode.re" 321 #line 306 "bytecode.re" 326 if ( qstr[0] ==
'!' )
328 size_t qidx =
strlen( qstr );
329 if ( qstr[1] ==
'\0' )
340 if ( qstr[1] ==
'^' )
343 sycklval->
name[0] =
'\0';
345 strncat( sycklval->
name, qstr + 2, qidx - 2 );
350 char *carat = qstr + 1;
351 char *qend = qstr + qidx;
352 while ( (++carat) < qend )
363 sycklval->
name[0] =
'\0';
365 strncat( sycklval->
name, carat + 1, ( qend - carat ) - 1 );
371 sycklval->
name[0] =
'\0';
378 sycklval->
name = qstr;
385 #line 366 "bytecode.re" 391 #line 368 "bytecode.re" 399 if ( lvl->
ncount % 2 == 1 )
return ':';
407 case 0x0A:
goto yy27;
413 #line 381 "bytecode.re" 422 #line 252 "bytecode.re" 446 if ( lvl->
ncount % 2 == 1 )
461 case 0x0A:
goto yy32;
467 #line 237 "bytecode.re" 485 case 0x0A:
goto yy35;
491 #line 222 "bytecode.re" 509 case 0x0A:
goto yy38;
515 #line 217 "bytecode.re" 523 case 0x0A:
goto yy41;
528 case 0x0A:
goto yy41;
532 #line 386 "bytecode.re" 545 unsigned int yyaccept = 0;
552 case 0x00:
goto yy47;
641 #line 399 "bytecode.re" 813 case 0x0A:
goto yy56;
814 case 0x0D:
goto yy58;
895 #line 396 "bytecode.re" 901 case 0x0A:
goto yy56;
905 #line 402 "bytecode.re" 924 case 0x00:
goto yy61;
925 case 0x0A:
goto yy62;
926 case 0x0D:
goto yy64;
932 #line 412 "bytecode.re" 938 case 0x0A:
goto yy67;
942 #line 415 "bytecode.re" 951 #line 417 "bytecode.re" 978 case 0x00:
goto yy74;
979 case 0x0A:
goto yy70;
980 case 0x0D:
goto yy72;
991 #line 461 "bytecode.re" 998 case 0x0A:
goto yy77;
1002 #line 469 "bytecode.re" 1006 #line 1007 "<stdout>" 1010 #line 465 "bytecode.re" 1014 #line 1015 "<stdout>" 1019 case 'C':
goto yy78;
1020 case 'N':
goto yy80;
1021 case 'Z':
goto yy83;
1027 #line 435 "bytecode.re" 1030 #line 1031 "<stdout>" 1045 case '9':
goto yy80;
1049 #line 438 "bytecode.re" 1056 for (
i = 0;
i < total;
i++ )
1058 CAT(
str, cap, idx,
'\n');
1063 CAT(
str, cap, idx,
'\n');
1067 #line 1068 "<stdout>" 1071 #line 456 "bytecode.re" 1073 CAT(
str, cap, idx,
'\0');
1076 #line 1077 "<stdout>" 1078 #line 473 "bytecode.re" 1113 #line 1114 "<stdout>" 1122 case 0x00:
goto yy91;
1123 case 0x0A:
goto yy87;
1124 case 0x0D:
goto yy89;
1130 #line 508 "bytecode.re" 1133 #line 1134 "<stdout>" 1136 case 0x0A:
goto yy94;
1140 #line 515 "bytecode.re" 1144 #line 1145 "<stdout>" 1148 #line 511 "bytecode.re" 1152 #line 1153 "<stdout>" 1159 #line 519 "bytecode.re" #define ENSURE_YAML_IEND(last_lvl, to_len)
enum syck_level_status status
size_t strlen(const char *)
#define S_ALLOC_N(type, n)
char * syck_strndup(const char *buf, long len)
union _syck_node::@16 data
#define S_MEMCPY(p1, p2, type, n)
void syck_hdlr_remove_anchor(SyckParser *p, char *a)
long syck_parser_read(SyckParser *p)
struct _syck_node::@16::SyckStr * str
char * get_inline(SyckParser *parser)
#define ADD_BYTE_LEVEL(lvl, len, s)
void try_tag_implicit(SyckNode *n, int taguri)
#define FORCE_NEXT_TOKEN(tok)
SyckNode * syck_alloc_str(void)
SyckParser * syck_parser_ptr
int sycklex_bytecode_utf8(YYSTYPE *sycklval, SyckParser *parser)