From 5571c7315e118b339c6b6590e666dfda68a7327d Mon Sep 17 00:00:00 2001 From: tenderlove Date: Wed, 22 Aug 2012 17:43:16 +0000 Subject: * ext/syck: removed. Fixes [ruby-core:43360] * test/syck: removed. * lib/yaml.rb: only require psych, show a warning if people try to set the engine to syck. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/syck/token.c | 2724 ------------------------------------------------------ 1 file changed, 2724 deletions(-) delete mode 100644 ext/syck/token.c (limited to 'ext/syck/token.c') diff --git a/ext/syck/token.c b/ext/syck/token.c deleted file mode 100644 index 3d05527e65..0000000000 --- a/ext/syck/token.c +++ /dev/null @@ -1,2724 +0,0 @@ -/* Generated by re2c 0.9.10 on Tue Sep 20 17:46:17 2005 */ -#line 1 "token.re" -/* - * token.re - * - * $Author$ - * - * Copyright (C) 2003 why the lucky stiff - */ -#include "ruby/ruby.h" -#include "syck.h" -#include "gram.h" - -/* - * Allocate quoted strings in chunks - */ -#define QUOTELEN 1024 - -/* - * They do my bidding... - */ -#define YYCTYPE char -#define YYCURSOR parser->cursor -#define YYMARKER parser->marker -#define YYLIMIT parser->limit -#define YYTOKEN parser->token -#define YYTOKTMP parser->toktmp -#define YYLINEPTR parser->lineptr -#define YYLINECTPTR parser->linectptr -#define YYLINE parser->linect -#define YYFILL(n) syck_parser_read(parser) - -/* - * Repositions the cursor at `n' offset from the token start. - * Only works in `Header' and `Document' sections. - */ -#define YYPOS(n) YYCURSOR = YYTOKEN + n - -/* - * Track line numbers - */ -#define NEWLINE(ptr) YYLINEPTR = ptr + newline_len(ptr); if ( YYLINEPTR > YYLINECTPTR ) { YYLINE++; YYLINECTPTR = YYLINEPTR; } - -/* - * I like seeing the level operations as macros... - */ -#define ADD_LEVEL(len, status) syck_parser_add_level( parser, len, status ) -#define POP_LEVEL() syck_parser_pop_level( parser ) -#define CURRENT_LEVEL() syck_parser_current_level( parser ) - -/* - * Force a token next time around sycklex() - */ -#define FORCE_NEXT_TOKEN(tok) parser->force_token = tok; - -/* - * Nice little macro to ensure we're YAML_IOPENed to the current level. - * * Only use this macro in the "Document" section * - */ -#define ENSURE_YAML_IOPEN(last_lvl, to_len, reset) \ - if ( last_lvl->spaces < to_len ) \ - { \ - if ( last_lvl->status == syck_lvl_iseq || last_lvl->status == syck_lvl_imap ) \ - { \ - goto Document; \ - } \ - else \ - { \ - ADD_LEVEL( to_len, syck_lvl_doc ); \ - if ( reset == 1 ) YYPOS(0); \ - return YAML_IOPEN; \ - } \ - } - -/* - * Nice little macro to ensure closure of levels. - * * Only use this macro in the "Document" section * - */ -#define ENSURE_YAML_IEND(last_lvl, to_len) \ - if ( last_lvl->spaces > to_len ) \ - { \ - syck_parser_pop_level( parser ); \ - YYPOS(0); \ - return YAML_IEND; \ - } - -/* - * Concatenates quoted string items and manages allocation - * to the quoted string - */ -#define QUOTECAT(s, c, i, l) \ - { \ - if ( i + 1 >= c ) \ - { \ - c += QUOTELEN; \ - S_REALLOC_N( s, char, c ); \ - } \ - s[i++] = l; \ - s[i] = '\0'; \ - } - -#define QUOTECATS(s, c, i, cs, cl) \ - { \ - while ( i + cl >= c ) \ - { \ - c += QUOTELEN; \ - S_REALLOC_N( s, char, c ); \ - } \ - S_MEMCPY( s + i, cs, char, cl ); \ - i += cl; \ - s[i] = '\0'; \ - } - -/* - * Tags a plain scalar with a transfer method - * * Use only in "Plain" section * - */ -#define RETURN_IMPLICIT() \ - { \ - SyckNode *n = syck_alloc_str(); \ - YYCURSOR = YYTOKEN; \ - n->data.str->ptr = qstr; \ - n->data.str->len = qidx; \ - n->data.str->style = scalar_plain; \ - sycklval->nodeData = n; \ - if ( parser->implicit_typing == 1 ) \ - { \ - try_tag_implicit( sycklval->nodeData, parser->taguri_expansion ); \ - } \ - return YAML_PLAIN; \ - } - -/* concat the inline characters to the plain scalar */ -#define PLAIN_NOT_INL() \ - if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) ) \ - { \ - YYCURSOR--; \ - } \ - QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); \ - goto Plain2; - -/* trim spaces off the end in case of indent */ -#define PLAIN_IS_INL() \ - char *walker = qstr + qidx - 1; \ - while ( walker > qstr && ( *walker == '\n' || *walker == ' ' || *walker == '\t' ) ) \ - { \ - qidx--; \ - walker[0] = '\0'; \ - walker--; \ - } - -/* - * Keep or chomp block? - * * Use only in "ScalarBlock" section * - */ -#define RETURN_YAML_BLOCK() \ - { \ - SyckNode *n = syck_alloc_str(); \ - if ( ((SyckParser *)parser)->taguri_expansion == 1 ) \ - { \ - n->type_id = syck_taguri( YAML_DOMAIN, "str", 3 ); \ - } \ - else \ - { \ - n->type_id = syck_strndup( "str", 3 ); \ - } \ - n->data.str->ptr = qstr; \ - n->data.str->len = qidx; \ - if ( blockType == BLOCK_LIT ) { \ - n->data.str->style = scalar_literal; \ - } else { \ - n->data.str->style = scalar_fold; \ - } \ - if ( qidx > 0 ) \ - { \ - if ( nlDoWhat != NL_KEEP ) \ - { \ - char *fc = n->data.str->ptr + n->data.str->len - 1; \ - while ( is_newline( fc ) ) fc--; \ - if ( nlDoWhat != NL_CHOMP && fc < n->data.str->ptr + n->data.str->len - 1 ) \ - fc += 1; \ - n->data.str->len = fc - n->data.str->ptr + 1; \ - } \ - } \ - sycklval->nodeData = n; \ - return YAML_BLOCK; \ - } - -/* - * Handles newlines, calculates indent - */ -#define GOBBLE_UP_YAML_INDENT( ict, start ) \ - char *indent = start; \ - NEWLINE(indent); \ - while ( indent < YYCURSOR ) \ - { \ - if ( is_newline( ++indent ) ) \ - { \ - NEWLINE(indent); \ - } \ - } \ - ict = 0; \ - if ( *YYCURSOR == '\0' ) \ - { \ - ict = -1; \ - start = YYCURSOR - 1; \ - } \ - else if ( *YYLINEPTR == ' ' ) \ - { \ - ict = (int)(YYCURSOR - YYLINEPTR); \ - } - -/* - * If an indent exists at the current level, back up. - */ -#define GET_TRUE_YAML_INDENT(indt_len) \ - { \ - SyckLevel *lvl_deep = CURRENT_LEVEL(); \ - indt_len = lvl_deep->spaces; \ - if ( lvl_deep->status == syck_lvl_seq || ( indt_len == YYCURSOR - YYLINEPTR && lvl_deep->status != syck_lvl_map ) ) \ - { \ - SyckLevel *lvl_over; \ - parser->lvl_idx--; \ - lvl_over = CURRENT_LEVEL(); \ - indt_len = lvl_over->spaces; \ - parser->lvl_idx++; \ - } \ - } - -/* - * Argjh! I hate globals! Here for syckerror() only! - */ -SyckParser *syck_parser_ptr = NULL; - -/* - * Accessory funcs later in this file. - */ -void eat_comments( SyckParser * ); -char escape_seq( char ); -int is_newline( char *ptr ); -int newline_len( char *ptr ); -int sycklex_yaml_utf8( YYSTYPE *, SyckParser * ); -int sycklex_bytecode_utf8( YYSTYPE *, SyckParser * ); -int syckwrap(); - -/* - * My own re-entrant sycklex() using re2c. - * You really get used to the limited regexp. - * It's really nice to not rely on backtracking and such. - */ -int -sycklex( YYSTYPE *sycklval, SyckParser *parser ) -{ - switch ( parser->input_type ) - { - case syck_yaml_utf8: - return sycklex_yaml_utf8( sycklval, parser ); - - case syck_yaml_utf16: - syckerror( "UTF-16 is not currently supported in Syck.\nPlease contribute code to help this happen!" ); - break; - - case syck_yaml_utf32: - syckerror( "UTF-32 is not currently supported in Syck.\nPlease contribute code to help this happen!" ); - break; - - case syck_bytecode_utf8: - return sycklex_bytecode_utf8( sycklval, parser ); - } - return YAML_DOCSEP; -} - -/* - * Parser for standard YAML [UTF-8] - */ -int -sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser ) -{ - int doc_level = 0; - syck_parser_ptr = parser; - if ( YYCURSOR == NULL ) - { - syck_parser_read( parser ); - } - - if ( parser->force_token != 0 ) - { - int t = parser->force_token; - parser->force_token = 0; - return t; - } - -#line 315 "token.re" - - - if ( YYLINEPTR != YYCURSOR ) - { - goto Document; - } - -Header: - - YYTOKEN = YYCURSOR; - - -#line 307 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy0; - ++YYCURSOR; -yy0: - if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy7; - case 0x09: case ' ': goto yy12; - case 0x0A: goto yy9; - case 0x0D: goto yy11; - case '#': goto yy5; - case '-': goto yy2; - case '.': goto yy4; - default: goto yy14; - } -yy2: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '-': goto yy28; - default: goto yy3; - } -yy3: -#line 374 "token.re" -{ YYPOS(0); - goto Document; - } -#line 337 "" -yy4: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': goto yy21; - default: goto yy3; - } -yy5: ++YYCURSOR; - goto yy6; -yy6: -#line 356 "token.re" -{ eat_comments( parser ); - goto Header; - } -#line 351 "" -yy7: ++YYCURSOR; - goto yy8; -yy8: -#line 360 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); - ENSURE_YAML_IEND(lvl, -1); - YYPOS(0); - return 0; - } -#line 361 "" -yy9: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - goto yy18; -yy10: -#line 366 "token.re" -{ GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN ); - goto Header; - } -#line 370 "" -yy11: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy17; - default: goto yy3; - } -yy12: ++YYCURSOR; - yych = *YYCURSOR; - goto yy16; -yy13: -#line 370 "token.re" -{ doc_level = (int)(YYCURSOR - YYLINEPTR); - goto Header; - } -#line 384 "" -yy14: yych = *++YYCURSOR; - goto yy3; -yy15: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy16; -yy16: switch(yych){ - case 0x09: case ' ': goto yy15; - default: goto yy13; - } -yy17: yyaccept = 1; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy18; -yy18: switch(yych){ - case 0x0A: case ' ': goto yy17; - case 0x0D: goto yy19; - default: goto yy10; - } -yy19: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy17; - default: goto yy20; - } -yy20: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 1: goto yy10; - case 0: goto yy3; - } -yy21: yych = *++YYCURSOR; - switch(yych){ - case '.': goto yy22; - default: goto yy20; - } -yy22: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy23; - case 0x0D: goto yy27; - case ' ': goto yy25; - default: goto yy20; - } -yy23: ++YYCURSOR; - goto yy24; -yy24: -#line 342 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); - if ( lvl->status == syck_lvl_header ) - { - goto Header; - } - else - { - ENSURE_YAML_IEND(lvl, -1); - YYPOS(0); - return 0; - } - return 0; - } -#line 446 "" -yy25: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy26; -yy26: switch(yych){ - case ' ': goto yy25; - default: goto yy24; - } -yy27: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy23; - default: goto yy20; - } -yy28: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy29; - default: goto yy20; - } -yy29: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy30; - case 0x0D: goto yy34; - case ' ': goto yy32; - default: goto yy20; - } -yy30: ++YYCURSOR; - goto yy31; -yy31: -#line 328 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); - if ( lvl->status == syck_lvl_header ) - { - YYPOS(3); - goto Directive; - } - else - { - ENSURE_YAML_IEND(lvl, -1); - YYPOS(0); - return 0; - } - } -#line 489 "" -yy32: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy33; -yy33: switch(yych){ - case ' ': goto yy32; - default: goto yy31; - } -yy34: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy30; - default: goto yy20; - } -} -#line 378 "token.re" - - -Document: - { - SyckLevel *lvl = CURRENT_LEVEL(); - if ( lvl->status == syck_lvl_header ) - { - lvl->status = syck_lvl_doc; - } - - YYTOKEN = YYCURSOR; - - -#line 518 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy35; - ++YYCURSOR; -yy35: - if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy62; - case 0x09: case ' ': goto yy60; - case 0x0A: goto yy37; - case 0x0D: goto yy39; - case '!': goto yy51; - case '"': goto yy55; - case '#': goto yy58; - case '&': goto yy49; - case '\'': goto yy53; - case '*': goto yy50; - case ',': case ':': goto yy47; - case '-': case '?': goto yy48; - case '>': case '|': goto yy57; - case '[': goto yy41; - case ']': case '}': goto yy45; - case '{': goto yy43; - default: goto yy64; - } -yy37: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy92; -yy38: -#line 392 "token.re" -{ /* Isolate spaces */ - int indt_len; - GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); - lvl = CURRENT_LEVEL(); - doc_level = 0; - - /* XXX: Comment lookahead */ - if ( *YYCURSOR == '#' ) - { - goto Document; - } - - /* Ignore indentation inside inlines */ - if ( lvl->status == syck_lvl_iseq || lvl->status == syck_lvl_imap ) - { - goto Document; - } - - /* Check for open indent */ - ENSURE_YAML_IEND(lvl, indt_len); - ENSURE_YAML_IOPEN(lvl, indt_len, 0); - if ( indt_len == -1 ) - { - return 0; - } - return YAML_INDENT; - } -#line 578 "" -yy39: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy91; - default: goto yy40; - } -yy40: -#line 497 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - goto Plain; - } -#line 589 "" -yy41: ++YYCURSOR; - goto yy42; -yy42: -#line 420 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - lvl = CURRENT_LEVEL(); - ADD_LEVEL(lvl->spaces + 1, syck_lvl_iseq); - return YYTOKEN[0]; - } -#line 599 "" -yy43: ++YYCURSOR; - goto yy44; -yy44: -#line 426 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - lvl = CURRENT_LEVEL(); - ADD_LEVEL(lvl->spaces + 1, syck_lvl_imap); - return YYTOKEN[0]; - } -#line 609 "" -yy45: ++YYCURSOR; - goto yy46; -yy46: -#line 432 "token.re" -{ POP_LEVEL(); - return YYTOKEN[0]; - } -#line 617 "" -yy47: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy86; - case 0x0D: goto yy90; - case ' ': goto yy88; - default: goto yy40; - } -yy48: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy81; - case 0x0D: goto yy85; - case ' ': goto yy83; - default: goto yy40; - } -yy49: yych = *++YYCURSOR; - switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy78; - default: goto yy40; - } -yy50: yych = *++YYCURSOR; - switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy75; - default: goto yy40; - } -yy51: ++YYCURSOR; - goto yy52; -yy52: -#line 471 "token.re" -{ goto TransferMethod; } -#line 767 "" -yy53: ++YYCURSOR; - goto yy54; -yy54: -#line 473 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - goto SingleQuote; } -#line 774 "" -yy55: ++YYCURSOR; - goto yy56; -yy56: -#line 476 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - goto DoubleQuote; } -#line 781 "" -yy57: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy70; - case 0x0D: goto yy74; - case ' ': goto yy72; - case '+': case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy67; - default: goto yy40; - } -yy58: ++YYCURSOR; - goto yy59; -yy59: -#line 486 "token.re" -{ eat_comments( parser ); - goto Document; - } -#line 807 "" -yy60: ++YYCURSOR; - yych = *YYCURSOR; - goto yy66; -yy61: -#line 490 "token.re" -{ goto Document; } -#line 814 "" -yy62: ++YYCURSOR; - goto yy63; -yy63: -#line 492 "token.re" -{ ENSURE_YAML_IEND(lvl, -1); - YYPOS(0); - return 0; - } -#line 823 "" -yy64: yych = *++YYCURSOR; - goto yy40; -yy65: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy66; -yy66: switch(yych){ - case 0x09: case ' ': goto yy65; - default: goto yy61; - } -yy67: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - goto yy68; -yy68: switch(yych){ - case 0x0A: goto yy70; - case 0x0D: goto yy74; - case ' ': goto yy72; - case '+': case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy67; - default: goto yy69; - } -yy69: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy38; - case 1: goto yy40; - } -yy70: ++YYCURSOR; - goto yy71; -yy71: -#line 479 "token.re" -{ if ( is_newline( YYCURSOR - 1 ) ) - { - YYCURSOR--; - } - goto ScalarBlock; - } -#line 869 "" -yy72: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy73; -yy73: switch(yych){ - case ' ': goto yy72; - default: goto yy71; - } -yy74: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy70; - default: goto yy69; - } -yy75: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy76; -yy76: switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy75; - default: goto yy77; - } -yy77: -#line 466 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); - sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); - return YAML_ALIAS; - } -#line 956 "" -yy78: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy79; -yy79: switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy78; - default: goto yy80; - } -yy80: -#line 455 "token.re" -{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); - - /* - * Remove previous anchors of the same name. Since the parser will likely - * construct deeper nodes first, we want those nodes to be placed in the - * queue for matching at a higher level of indentation. - */ - syck_hdlr_remove_anchor(parser, sycklval->name); - return YAML_ANCHOR; - } -#line 1036 "" -yy81: ++YYCURSOR; - goto yy82; -yy82: -#line 441 "token.re" -{ ENSURE_YAML_IOPEN(lvl, (int)(YYTOKEN - YYLINEPTR), 1); - FORCE_NEXT_TOKEN(YAML_IOPEN); - if ( *YYCURSOR == '#' || is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) ) - { - YYCURSOR--; - ADD_LEVEL((int)((YYTOKEN + 1) - YYLINEPTR), syck_lvl_seq); - } - else /* spaces followed by content uses the space as indentation */ - { - ADD_LEVEL((int)(YYCURSOR - YYLINEPTR), syck_lvl_seq); - } - return YYTOKEN[0]; - } -#line 1054 "" -yy83: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy84; -yy84: switch(yych){ - case ' ': goto yy83; - default: goto yy82; - } -yy85: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy81; - default: goto yy69; - } -yy86: ++YYCURSOR; - goto yy87; -yy87: -#line 436 "token.re" -{ if ( *YYTOKEN == ':' && lvl->status != syck_lvl_imap ) lvl->status = syck_lvl_map; - YYPOS(1); - return YYTOKEN[0]; - } -#line 1076 "" -yy88: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy89; -yy89: switch(yych){ - case ' ': goto yy88; - default: goto yy87; - } -yy90: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy86; - default: goto yy69; - } -yy91: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy92; -yy92: switch(yych){ - case 0x0A: case ' ': goto yy91; - case 0x0D: goto yy93; - default: goto yy38; - } -yy93: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy91; - default: goto yy69; - } -} -#line 501 "token.re" - - } - -Directive: - { - YYTOKTMP = YYCURSOR; - - -#line 1117 "" -{ - YYCTYPE yych; - unsigned int yyaccept = 0; - goto yy94; - ++YYCURSOR; -yy94: - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy96; - case 0x09: case ' ': goto yy99; - case '%': goto yy97; - default: goto yy101; - } -yy96: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy98; - } -yy97: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy104; - default: goto yy98; - } -yy98: -#line 514 "token.re" -{ YYCURSOR = YYTOKTMP; - return YAML_DOCSEP; - } -#line 1221 "" -yy99: ++YYCURSOR; - yych = *YYCURSOR; - goto yy103; -yy100: -#line 512 "token.re" -{ goto Directive; } -#line 1228 "" -yy101: yych = *++YYCURSOR; - goto yy98; -yy102: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy103; -yy103: switch(yych){ - case 0x09: case ' ': goto yy102; - default: goto yy100; - } -yy104: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - goto yy105; -yy105: switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy104; - case ':': goto yy106; - default: goto yy96; - } -yy106: yych = *++YYCURSOR; - switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy107; - default: goto yy96; - } -yy107: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy108; -yy108: switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy107; - default: goto yy109; - } -yy109: -#line 510 "token.re" -{ goto Directive; } -#line 1484 "" -} -#line 517 "token.re" - - - } - -Plain: - { - ptrdiff_t qidx = 0; - ptrdiff_t qcapa = 100; - char *qstr = S_ALLOC_N( char, qcapa ); - SyckLevel *plvl; - int parentIndent; - - YYCURSOR = YYTOKEN; - plvl = CURRENT_LEVEL(); - GET_TRUE_YAML_INDENT(parentIndent); - -Plain2: - YYTOKEN = YYCURSOR; - -Plain3: - - -#line 1509 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy110; - ++YYCURSOR; -yy110: - if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy124; - case 0x09: goto yy126; - case 0x0A: goto yy112; - case 0x0D: goto yy114; - case ' ': goto yy122; - case ',': goto yy117; - case ':': goto yy116; - case ']': goto yy120; - case '}': goto yy118; - default: goto yy127; - } -yy112: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy142; -yy113: -#line 540 "token.re" -{ int indt_len, nl_count = 0; - SyckLevel *lvl; - char *tok = YYTOKEN; - GOBBLE_UP_YAML_INDENT( indt_len, tok ); - lvl = CURRENT_LEVEL(); - - if ( indt_len <= parentIndent ) - { - RETURN_IMPLICIT(); - } - - while ( YYTOKEN < YYCURSOR ) - { - int nl_len = newline_len( YYTOKEN++ ); - if ( nl_len ) - { - nl_count++; - YYTOKEN += nl_len - 1; - } - } - if ( nl_count <= 1 ) - { - QUOTECAT(qstr, qcapa, qidx, ' '); - } - else - { - int i; - for ( i = 0; i < nl_count - 1; i++ ) - { - QUOTECAT(qstr, qcapa, qidx, '\n'); - } - } - - goto Plain2; - } -#line 1570 "" -yy114: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy141; - default: goto yy115; - } -yy115: -#line 627 "token.re" -{ QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); - goto Plain2; - } -#line 1581 "" -yy116: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy136; - case 0x0D: goto yy140; - case ' ': goto yy138; - default: goto yy115; - } -yy117: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy130; - case 0x0D: goto yy134; - case ' ': goto yy132; - default: goto yy115; - } -yy118: ++YYCURSOR; - goto yy119; -yy119: -#line 589 "token.re" -{ if ( plvl->status != syck_lvl_imap ) - { - PLAIN_NOT_INL(); - } - else - { - PLAIN_IS_INL(); - } - RETURN_IMPLICIT(); - } -#line 1612 "" -yy120: ++YYCURSOR; - goto yy121; -yy121: -#line 600 "token.re" -{ if ( plvl->status != syck_lvl_iseq ) - { - PLAIN_NOT_INL(); - } - else - { - PLAIN_IS_INL(); - } - RETURN_IMPLICIT(); - } -#line 1627 "" -yy122: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case '#': goto yy128; - default: goto yy123; - } -yy123: -#line 617 "token.re" -{ if ( qidx == 0 ) - { - goto Plain2; - } - else - { - goto Plain3; - } - } -#line 1644 "" -yy124: ++YYCURSOR; - goto yy125; -yy125: -#line 615 "token.re" -{ RETURN_IMPLICIT(); } -#line 1650 "" -yy126: yych = *++YYCURSOR; - goto yy123; -yy127: yych = *++YYCURSOR; - goto yy115; -yy128: ++YYCURSOR; - goto yy129; -yy129: -#line 611 "token.re" -{ eat_comments( parser ); - RETURN_IMPLICIT(); - } -#line 1662 "" -yy130: ++YYCURSOR; - goto yy131; -yy131: -#line 578 "token.re" -{ if ( plvl->status != syck_lvl_iseq && plvl->status != syck_lvl_imap ) - { - PLAIN_NOT_INL(); - } - else - { - PLAIN_IS_INL(); - } - RETURN_IMPLICIT(); - } -#line 1677 "" -yy132: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy133; -yy133: switch(yych){ - case ' ': goto yy132; - default: goto yy131; - } -yy134: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy130; - default: goto yy135; - } -yy135: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy113; - case 1: goto yy115; - } -yy136: ++YYCURSOR; - goto yy137; -yy137: -#line 576 "token.re" -{ RETURN_IMPLICIT(); } -#line 1701 "" -yy138: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy139; -yy139: switch(yych){ - case ' ': goto yy138; - default: goto yy137; - } -yy140: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy136; - default: goto yy135; - } -yy141: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy142; -yy142: switch(yych){ - case 0x0A: case ' ': goto yy141; - case 0x0D: goto yy143; - default: goto yy113; - } -yy143: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy141; - default: goto yy135; - } -} -#line 631 "token.re" - - } - -SingleQuote: - { - int qidx = 0; - int qcapa = 100; - char *qstr = S_ALLOC_N( char, qcapa ); - -SingleQuote2: - YYTOKEN = YYCURSOR; - - -#line 1747 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy144; - ++YYCURSOR; -yy144: - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy152; - case 0x0A: goto yy146; - case 0x0D: goto yy148; - case '\'': goto yy150; - default: goto yy153; - } -yy146: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy157; -yy147: -#line 645 "token.re" -{ int indt_len; - int nl_count = 0; - SyckLevel *lvl; - GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); - lvl = CURRENT_LEVEL(); - - if ( lvl->status != syck_lvl_str ) - { - ADD_LEVEL( indt_len, syck_lvl_str ); - } - else if ( indt_len < lvl->spaces ) - { - /* Error! */ - } - - while ( YYTOKEN < YYCURSOR ) - { - int nl_len = newline_len( YYTOKEN++ ); - if ( nl_len ) - { - nl_count++; - YYTOKEN += nl_len - 1; - } - } - if ( nl_count <= 1 ) - { - QUOTECAT(qstr, qcapa, qidx, ' '); - } - else - { - int i; - for ( i = 0; i < nl_count - 1; i++ ) - { - QUOTECAT(qstr, qcapa, qidx, '\n'); - } - } - - goto SingleQuote2; - } -#line 1807 "" -yy148: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy156; - default: goto yy149; - } -yy149: -#line 712 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); - goto SingleQuote2; - } -#line 1818 "" -yy150: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case '\'': goto yy154; - default: goto yy151; - } -yy151: -#line 689 "token.re" -{ SyckLevel *lvl; - SyckNode *n = syck_alloc_str(); - lvl = CURRENT_LEVEL(); - - if ( lvl->status == syck_lvl_str ) - { - POP_LEVEL(); - } - if ( ((SyckParser *)parser)->taguri_expansion == 1 ) - { - n->type_id = syck_taguri( YAML_DOMAIN, "str", 3 ); - } - else - { - n->type_id = syck_strndup( "str", 3 ); - } - n->data.str->ptr = qstr; - n->data.str->len = qidx; - n->data.str->style = scalar_1quote; - sycklval->nodeData = n; - return YAML_PLAIN; - } -#line 1848 "" -yy152: yych = *++YYCURSOR; - goto yy151; -yy153: yych = *++YYCURSOR; - goto yy149; -yy154: ++YYCURSOR; - goto yy155; -yy155: -#line 685 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, '\''); - goto SingleQuote2; - } -#line 1860 "" -yy156: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy157; -yy157: switch(yych){ - case 0x0A: case ' ': goto yy156; - case 0x0D: goto yy158; - default: goto yy147; - } -yy158: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy156; - default: goto yy159; - } -yy159: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy147; - } -} -#line 716 "token.re" - - - } - - -DoubleQuote: - { - int keep_nl = 1; - int qidx = 0; - int qcapa = 100; - char *qstr = S_ALLOC_N( char, qcapa ); - -DoubleQuote2: - YYTOKEN = YYCURSOR; - - - -#line 1901 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy160; - ++YYCURSOR; -yy160: - if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy167; - case 0x0A: goto yy162; - case 0x0D: goto yy164; - case '"': goto yy169; - case '\\': goto yy166; - default: goto yy170; - } -yy162: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy184; -yy163: -#line 734 "token.re" -{ int indt_len; - int nl_count = 0; - SyckLevel *lvl; - GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); - lvl = CURRENT_LEVEL(); - - if ( lvl->status != syck_lvl_str ) - { - ADD_LEVEL( indt_len, syck_lvl_str ); - } - else if ( indt_len < lvl->spaces ) - { - /* FIXME */ - } - - if ( keep_nl == 1 ) - { - while ( YYTOKEN < YYCURSOR ) - { - int nl_len = newline_len( YYTOKEN++ ); - if ( nl_len ) - { - nl_count++; - YYTOKEN += nl_len - 1; - } - } - if ( nl_count <= 1 ) - { - QUOTECAT(qstr, qcapa, qidx, ' '); - } - else - { - int i; - for ( i = 0; i < nl_count - 1; i++ ) - { - QUOTECAT(qstr, qcapa, qidx, '\n'); - } - } - } - - keep_nl = 1; - goto DoubleQuote2; - } -#line 1966 "" -yy164: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy183; - default: goto yy165; - } -yy165: -#line 820 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); - goto DoubleQuote2; - } -#line 1977 "" -yy166: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 0x0A: goto yy174; - case 0x0D: goto yy176; - case ' ': goto yy171; - case '"': case '0': case '\\': case 'a': - case 'b': case 'e': - case 'f': case 'n': case 'r': case 't': case 'v': goto yy178; - case 'x': goto yy177; - default: goto yy165; - } -yy167: ++YYCURSOR; - goto yy168; -yy168: -#line 797 "token.re" -{ SyckLevel *lvl; - SyckNode *n = syck_alloc_str(); - lvl = CURRENT_LEVEL(); - - if ( lvl->status == syck_lvl_str ) - { - POP_LEVEL(); - } - if ( ((SyckParser *)parser)->taguri_expansion == 1 ) - { - n->type_id = syck_taguri( YAML_DOMAIN, "str", 3 ); - } - else - { - n->type_id = syck_strndup( "str", 3 ); - } - n->data.str->ptr = qstr; - n->data.str->len = qidx; - n->data.str->style = scalar_2quote; - sycklval->nodeData = n; - return YAML_PLAIN; - } -#line 2016 "" -yy169: yych = *++YYCURSOR; - goto yy168; -yy170: yych = *++YYCURSOR; - goto yy165; -yy171: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - goto yy172; -yy172: switch(yych){ - case 0x0A: goto yy174; - case 0x0D: goto yy176; - case ' ': goto yy171; - default: goto yy173; - } -yy173: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy163; - case 1: goto yy165; - } -yy174: ++YYCURSOR; - goto yy175; -yy175: -#line 792 "token.re" -{ keep_nl = 0; - YYCURSOR--; - goto DoubleQuote2; - } -#line 2044 "" -yy176: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy174; - default: goto yy173; - } -yy177: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy180; - default: goto yy173; - } -yy178: ++YYCURSOR; - goto yy179; -yy179: -#line 778 "token.re" -{ char ch = *( YYCURSOR - 1 ); - QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); - goto DoubleQuote2; - } -#line 2082 "" -yy180: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy181; - default: goto yy173; - } -yy181: ++YYCURSOR; - goto yy182; -yy182: -#line 783 "token.re" -{ long ch; - char *chr_text = syck_strndup( YYTOKEN, 4 ); - chr_text[0] = '0'; - ch = strtol( chr_text, NULL, 16 ); - free( chr_text ); - QUOTECAT(qstr, qcapa, qidx, ch); - goto DoubleQuote2; - } -#line 2119 "" -yy183: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy184; -yy184: switch(yych){ - case 0x0A: case ' ': goto yy183; - case 0x0D: goto yy185; - default: goto yy163; - } -yy185: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy183; - default: goto yy173; - } -} -#line 824 "token.re" - - } - -TransferMethod: - { - int qidx = 0; - int qcapa = 100; - char *qstr = S_ALLOC_N( char, qcapa ); - -TransferMethod2: - YYTOKTMP = YYCURSOR; - - -#line 2152 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy186; - ++YYCURSOR; -yy186: - if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy188; - case 0x0A: goto yy190; - case 0x0D: goto yy192; - case ' ': goto yy191; - case '\\': goto yy194; - default: goto yy195; - } -yy188: ++YYCURSOR; - goto yy189; -yy189: -#line 838 "token.re" -{ SyckLevel *lvl; - YYCURSOR = YYTOKTMP; - if ( YYCURSOR == YYTOKEN + 1 ) - { - free( qstr ); - return YAML_ITRANSFER; - } - - lvl = CURRENT_LEVEL(); - - /* - * URL Prefixing - */ - if ( *qstr == '^' ) - { - sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) ); - sycklval->name[0] = '\0'; - strcat( sycklval->name, lvl->domain ); - strncat( sycklval->name, qstr + 1, qidx - 1 ); - free( qstr ); - } - else - { - char *carat = qstr; - char *qend = qstr + qidx; - while ( (++carat) < qend ) - { - if ( *carat == '^' ) - break; - } - - if ( carat < qend ) - { - free( lvl->domain ); - lvl->domain = syck_strndup( qstr, carat - qstr ); - sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) ); - sycklval->name[0] = '\0'; - strcat( sycklval->name, lvl->domain ); - strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 ); - free( qstr ); - } - else - { - sycklval->name = qstr; - } - } - - return YAML_TRANSFER; - } -#line 2222 "" -yy190: yych = *++YYCURSOR; - goto yy189; -yy191: yych = *++YYCURSOR; - goto yy204; -yy192: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy188; - default: goto yy193; - } -yy193: -#line 905 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); - goto TransferMethod2; - } -#line 2237 "" -yy194: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '"': case '0': case '\\': case 'a': - case 'b': case 'e': - case 'f': case 'n': case 'r': case 't': case 'v': goto yy198; - case 'x': goto yy196; - default: goto yy193; - } -yy195: yych = *++YYCURSOR; - goto yy193; -yy196: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy200; - default: goto yy197; - } -yy197: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy193; - } -yy198: ++YYCURSOR; - goto yy199; -yy199: -#line 891 "token.re" -{ char ch = *( YYCURSOR - 1 ); - QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); - goto TransferMethod2; - } -#line 2285 "" -yy200: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy201; - default: goto yy197; - } -yy201: ++YYCURSOR; - goto yy202; -yy202: -#line 896 "token.re" -{ long ch; - char *chr_text = syck_strndup( YYTOKTMP, 4 ); - chr_text[0] = '0'; - ch = strtol( chr_text, NULL, 16 ); - free( chr_text ); - QUOTECAT(qstr, qcapa, qidx, ch); - goto TransferMethod2; - } -#line 2322 "" -yy203: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy204; -yy204: switch(yych){ - case ' ': goto yy203; - default: goto yy189; - } -} -#line 910 "token.re" - - } - -ScalarBlock: - { - int qidx = 0; - int qcapa = 100; - char *qstr = S_ALLOC_N( char, qcapa ); - int blockType = 0; - int nlDoWhat = 0; - int lastIndent = 0; - int forceIndent = -1; - char *yyt = YYTOKEN; - SyckLevel *lvl = CURRENT_LEVEL(); - int parentIndent = -1; - - switch ( *yyt ) - { - case '|': blockType = BLOCK_LIT; break; - case '>': blockType = BLOCK_FOLD; break; - } - - while ( ++yyt <= YYCURSOR ) - { - if ( *yyt == '-' ) - { - nlDoWhat = NL_CHOMP; - } - else if ( *yyt == '+' ) - { - nlDoWhat = NL_KEEP; - } - else if ( isdigit( (unsigned char)*yyt ) ) - { - forceIndent = rb_long2int(strtol( yyt, NULL, 10 )); - } - } - - qstr[0] = '\0'; - YYTOKEN = YYCURSOR; - -ScalarBlock2: - YYTOKEN = YYCURSOR; - - -#line 2378 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy205; - ++YYCURSOR; -yy205: - if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy213; - case 0x0A: goto yy207; - case 0x0D: goto yy209; - case '#': goto yy211; - case '-': goto yy215; - default: goto yy216; - } -yy207: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy226; -yy208: -#line 956 "token.re" -{ char *pacer; - char *tok = YYTOKEN; - int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0; - GOBBLE_UP_YAML_INDENT( indt_len, tok ); - lvl = CURRENT_LEVEL(); - - if ( lvl->status != syck_lvl_block ) - { - GET_TRUE_YAML_INDENT(parentIndent); - if ( forceIndent > 0 ) forceIndent += parentIndent; - if ( indt_len > parentIndent ) - { - int new_spaces = forceIndent > 0 ? forceIndent : indt_len; - ADD_LEVEL( new_spaces, syck_lvl_block ); - lastIndent = indt_len - new_spaces; - nl_begin = 1; - lvl = CURRENT_LEVEL(); - } - else - { - YYCURSOR = YYTOKEN; - RETURN_YAML_BLOCK(); - } - } - - /* - * Fold only in the event of two lines being on the leftmost - * indentation. - */ - if ( blockType == BLOCK_FOLD && lastIndent == 0 && ( indt_len - lvl->spaces ) == 0 ) - { - fold_nl = 1; - } - - pacer = YYTOKEN; - while ( pacer < YYCURSOR ) - { - int nl_len = newline_len( pacer++ ); - if ( nl_len ) - { - nl_count++; - pacer += nl_len - 1; - } - } - - if ( fold_nl == 1 || nl_begin == 1 ) - { - nl_count--; - } - - if ( nl_count < 1 && nl_begin == 0 ) - { - QUOTECAT(qstr, qcapa, qidx, ' '); - } - else - { - int i; - for ( i = 0; i < nl_count; i++ ) - { - QUOTECAT(qstr, qcapa, qidx, '\n'); - } - } - - lastIndent = indt_len - lvl->spaces; - YYCURSOR -= lastIndent; - - if ( indt_len < lvl->spaces ) - { - POP_LEVEL(); - YYCURSOR = YYTOKEN; - RETURN_YAML_BLOCK(); - } - goto ScalarBlock2; - } -#line 2474 "" -yy209: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy225; - default: goto yy210; - } -yy210: -#line 1070 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); - goto ScalarBlock2; - } -#line 2485 "" -yy211: ++YYCURSOR; - goto yy212; -yy212: -#line 1032 "token.re" -{ lvl = CURRENT_LEVEL(); - if ( lvl->status != syck_lvl_block ) - { - eat_comments( parser ); - YYTOKEN = YYCURSOR; - } - else - { - QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); - } - goto ScalarBlock2; - } -#line 2502 "" -yy213: ++YYCURSOR; - goto yy214; -yy214: -#line 1046 "token.re" -{ YYCURSOR--; - POP_LEVEL(); - RETURN_YAML_BLOCK(); - } -#line 2511 "" -yy215: yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '-': goto yy217; - default: goto yy210; - } -yy216: yych = *++YYCURSOR; - goto yy210; -yy217: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy219; - default: goto yy218; - } -yy218: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy208; - case 1: goto yy210; - } -yy219: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy220; - case 0x0D: goto yy224; - case ' ': goto yy222; - default: goto yy218; - } -yy220: ++YYCURSOR; - goto yy221; -yy221: -#line 1051 "token.re" -{ if ( YYTOKEN == YYLINEPTR ) - { - if ( blockType == BLOCK_FOLD && qidx > 0 ) - { - qidx -= 1; - } - QUOTECAT(qstr, qcapa, qidx, '\n'); - POP_LEVEL(); - YYCURSOR = YYTOKEN; - RETURN_YAML_BLOCK(); - } - else - { - QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); - YYCURSOR = YYTOKEN + 1; - goto ScalarBlock2; - } - } -#line 2559 "" -yy222: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy223; -yy223: switch(yych){ - case ' ': goto yy222; - default: goto yy221; - } -yy224: yych = *++YYCURSOR; - switch(yych){ - case 0x0A: goto yy220; - default: goto yy218; - } -yy225: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy226; -yy226: switch(yych){ - case 0x0A: case ' ': goto yy225; - case 0x0D: goto yy227; - default: goto yy208; - } -yy227: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy225; - default: goto yy218; - } -} -#line 1075 "token.re" - - } - - return 0; - -} - -void -eat_comments( SyckParser *parser ) -{ -Comment: - { - YYTOKEN = YYCURSOR; - - -#line 2607 "" -{ - YYCTYPE yych; - unsigned int yyaccept; - goto yy228; - ++YYCURSOR; -yy228: - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych){ - case 0x00: goto yy230; - case 0x0A: goto yy232; - case 0x0D: goto yy233; - default: goto yy235; - } -yy230: ++YYCURSOR; - goto yy231; -yy231: -#line 1091 "token.re" -{ YYCURSOR = YYTOKEN; - return; - } -#line 2629 "" -yy232: yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy237; -yy233: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x0A: goto yy236; - default: goto yy234; - } -yy234: -#line 1095 "token.re" -{ goto Comment; - } -#line 2642 "" -yy235: yych = *++YYCURSOR; - goto yy234; -yy236: yyaccept = 0; - YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy237; -yy237: switch(yych){ - case 0x0A: goto yy236; - case 0x0D: goto yy238; - default: goto yy231; - } -yy238: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case 0x0A: goto yy236; - default: goto yy239; - } -yy239: YYCURSOR = YYMARKER; - switch(yyaccept){ - case 0: goto yy231; - } -} -#line 1098 "token.re" - - - } - -} - -char -escape_seq( char ch ) -{ - switch ( ch ) - { - case '0': return '\0'; - case 'a': return 7; - case 'b': return '\010'; - case 'e': return '\033'; - case 'f': return '\014'; - case 'n': return '\n'; - case 'r': return '\015'; - case 't': return '\t'; - case 'v': return '\013'; - default: return ch; - } -} - -int -is_newline( char *ptr ) -{ - return newline_len( ptr ); -} - -int -newline_len( char *ptr ) -{ - if ( *ptr == '\n' ) - return 1; - - if ( *ptr == '\r' && *( ptr + 1 ) == '\n' ) - return 2; - - return 0; -} - -int -syckwrap() -{ - return 1; -} - -void -syckerror( const char *msg ) -{ - if ( syck_parser_ptr->error_handler == NULL ) - syck_parser_ptr->error_handler = syck_default_error_handler; - - syck_parser_ptr->root = syck_parser_ptr->root_on_error; - (syck_parser_ptr->error_handler)(syck_parser_ptr, msg); -} - -- cgit v1.2.3