/* Generated by re2c 0.5 on Tue May 13 00:35:24 2003 */ #line 1 "token.re" /* * token.re * * $Author$ * $Date$ * * Copyright (C) 2003 why the lucky stiff */ #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 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) YYLINE++; YYLINEPTR = ptr + 1 /* * 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 yylex() */ #define FORCE_NEXT_TOKEN(tok) parser->force_token = tok; /* * Nice little macro to ensure we're IOPENed to the current level. * * Only use this macro in the "Document" section * */ #define ENSURE_IOPEN(last_lvl, to_len, reset) \ if ( last_lvl->spaces < to_len ) \ { \ if ( last_lvl->status == syck_lvl_inline ) \ { \ goto Document; \ } \ else \ { \ ADD_LEVEL( to_len, syck_lvl_doc ); \ if ( reset == 1 ) YYPOS(0); \ return IOPEN; \ } \ } /* * Nice little macro to ensure closure of levels. * * Only use this macro in the "Document" section * */ #define ENSURE_IEND(last_lvl, to_len) \ if ( last_lvl->spaces > to_len ) \ { \ syck_parser_pop_level( parser ); \ YYPOS(0); \ return 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'; \ } /* * Tags a plain scalar with a transfer method * * Use only in "Plain" section * */ #define RETURN_IMPLICIT(fold) \ { \ SyckLevel *i_lvl = CURRENT_LEVEL(); \ YYCURSOR = YYTOKTMP; \ yylval->nodeData = syck_new_str2( YYTOKEN, YYCURSOR - YYTOKEN ); \ if ( fold ) { \ syck_fold_format( yylval->nodeData->data.str, BLOCK_PLAIN, i_lvl->spaces, NL_CHOMP ); \ } \ if ( parser->implicit_typing == 1 ) \ { \ try_tag_implicit( yylval->nodeData, parser->taguri_expansion ); \ } \ return PLAIN; \ } /* * Handles newlines, calculates indent */ #define GOBBLE_UP_INDENT( ict, start ) \ char *indent = start; \ NEWLINE(indent); \ while ( indent < YYCURSOR ) \ { \ if ( *(++indent) == '\n' ) \ { \ NEWLINE(indent); \ } \ } \ ict = 0; \ if ( *YYCURSOR == '\0' ) \ { \ ict = -1; \ start = YYCURSOR; \ } \ else if ( *YYLINEPTR == ' ' ) \ { \ ict = YYCURSOR - YYLINEPTR; \ } /* * If an indent exists at the current level, back up. */ #define GET_TRUE_INDENT(indt_len) \ { \ SyckLevel *lvl_deep = CURRENT_LEVEL(); \ indt_len = lvl_deep->spaces; \ if ( indt_len == YYTOKEN - YYLINEPTR ) \ { \ SyckLevel *lvl_over; \ parser->lvl_idx--; \ lvl_over = CURRENT_LEVEL(); \ indt_len = lvl_over->spaces; \ parser->lvl_idx++; \ } \ } /* * Argjh! I hate globals! Here for yyerror() only! */ SyckParser *syck_parser_ptr = NULL; /* * Accessory funcs later in this file. */ void eat_comments( SyckParser * ); /* * My own re-entrant yylex() using re2c. * You really get used to the limited regexp. * It's really nice to not rely on backtracking and such. */ int yylex( YYSTYPE *yylval, SyckParser *parser ) { 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 205 if ( YYLINEPTR != YYCURSOR ) { goto Document; } Header: YYTOKEN = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy0; yy1: ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if(yych <= '"'){ if(yych <= '\000') goto yy6; if(yych == '\n') goto yy8; goto yy10; } else { if(yych <= '#') goto yy4; if(yych != '-') goto yy10; } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych == '-') goto yy15; yy3: #line 246 { YYPOS(0); goto Document; } yy4: yych = *++YYCURSOR; yy5: #line 232 { eat_comments( parser ); goto Header; } yy6: yych = *++YYCURSOR; yy7: #line 236 { SyckLevel *lvl = CURRENT_LEVEL(); ENSURE_IEND(lvl, -1); return 0; } yy8: yych = *++YYCURSOR; goto yy12; yy9: #line 241 { int indt_len; GOBBLE_UP_INDENT( indt_len, YYTOKEN ); goto Header; } yy10: yych = *++YYCURSOR; goto yy3; yy11: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy12: if(yybm[0+yych] & 32) goto yy11; if(yych != ' ') goto yy9; yy13: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: if(yybm[0+yych] & 64) goto yy13; goto yy9; yy15: yych = *++YYCURSOR; if(yych == '-') goto yy17; yy16: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } yy17: yych = *++YYCURSOR; if(yybm[0+yych] & 128) goto yy18; if(yych == '\n') goto yy21; goto yy16; yy18: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy19: if(yybm[0+yych] & 128) goto yy18; yy20: #line 218 { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { YYPOS(3); goto Directive; } else { ENSURE_IEND(lvl, -1); YYPOS(0); return 0; } } yy21: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy22: if(yych == '\n') goto yy21; goto yy20; } #line 250 Document: { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { lvl->status = syck_lvl_doc; } YYTOKEN = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 64, 64, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy23; yy24: ++YYCURSOR; yy23: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= ','){ if(yych <= '"'){ if(yych <= '\n'){ if(yych <= '\000') goto yy47; if(yych <= '\t') goto yy49; } else { if(yych <= '\037') goto yy49; if(yych <= ' ') goto yy45; if(yych <= '!') goto yy36; goto yy40; } } else { if(yych <= '\''){ if(yych <= '#') goto yy43; if(yych <= '%') goto yy49; if(yych <= '&') goto yy34; goto yy38; } else { if(yych == '*') goto yy35; if(yych <= '+') goto yy49; goto yy31; } } } else { if(yych <= 'Z'){ if(yych <= ':'){ if(yych <= '-') goto yy33; if(yych <= '9') goto yy49; goto yy31; } else { if(yych <= '=') goto yy49; if(yych <= '>') goto yy42; if(yych <= '?') goto yy33; goto yy49; } } else { if(yych <= 'z'){ if(yych <= '[') goto yy27; if(yych == ']') goto yy29; goto yy49; } else { if(yych <= '{') goto yy27; if(yych <= '|') goto yy42; if(yych <= '}') goto yy29; goto yy49; } } } yy25: yych = *++YYCURSOR; goto yy77; yy26: #line 264 { // Isolate spaces int indt_len; GOBBLE_UP_INDENT( indt_len, YYTOKEN ); lvl = CURRENT_LEVEL(); // Check for open indent ENSURE_IEND(lvl, indt_len); ENSURE_IOPEN(lvl, indt_len, 0); if ( indt_len == -1 ) { return 0; } return INDENT; } yy27: yych = *++YYCURSOR; yy28: #line 279 { ENSURE_IOPEN(lvl, 0, 1); lvl = CURRENT_LEVEL(); ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline); return YYTOKEN[0]; } yy29: yych = *++YYCURSOR; yy30: #line 285 { POP_LEVEL(); return YYTOKEN[0]; } yy31: yych = *++YYCURSOR; if(yych == '\n') goto yy74; if(yych == ' ') goto yy71; yy32: #line 334 { ENSURE_IOPEN(lvl, 0, 1); goto Plain; } yy33: yych = *++YYCURSOR; if(yych == '\n') goto yy69; if(yych == ' ') goto yy66; goto yy32; yy34: yych = *++YYCURSOR; if(yych <= '-') goto yy32; if(yych == '`') goto yy32; if(yych <= 'z') goto yy63; goto yy32; yy35: yych = *++YYCURSOR; if(yybm[0+yych] & 64) goto yy60; goto yy32; yy36: yych = *++YYCURSOR; yy37: #line 311 { goto TransferMethod; } yy38: yych = *++YYCURSOR; yy39: #line 313 { goto SingleQuote; } yy40: yych = *++YYCURSOR; yy41: #line 315 { goto DoubleQuote; } yy42: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 32) goto yy58; if(yych <= '+'){ if(yych == ' ') goto yy55; if(yych <= '*') goto yy32; goto yy52; } else { if(yych <= '-'){ if(yych <= ',') goto yy32; goto yy52; } else { if(yych <= '/') goto yy32; if(yych <= '9') goto yy52; goto yy32; } } yy43: yych = *++YYCURSOR; yy44: #line 324 { eat_comments( parser ); goto Document; } yy45: yych = *++YYCURSOR; goto yy51; yy46: #line 328 { goto Document; } yy47: yych = *++YYCURSOR; yy48: #line 330 { ENSURE_IEND(lvl, -1); return 0; } yy49: yych = *++YYCURSOR; goto yy32; yy50: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy51: if(yybm[0+yych] & 8) goto yy50; goto yy46; yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if(yybm[0+yych] & 32) goto yy58; if(yych <= '+'){ if(yych == ' ') goto yy55; if(yych >= '+') goto yy52; } else { if(yych <= '-'){ if(yych >= '-') goto yy52; } else { if(yych <= '/') goto yy54; if(yych <= '9') goto yy52; } } yy54: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy32; } yy55: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy56: if(yych == ' ') goto yy55; yy57: #line 317 { if ( *( YYCURSOR - 1 ) == '\n' ) { YYCURSOR--; } goto ScalarBlock; } yy58: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy59: if(yybm[0+yych] & 32) goto yy58; goto yy57; yy60: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy61: if(yybm[0+yych] & 64) goto yy60; yy62: #line 307 { yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); return ALIAS; } yy63: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy64: if(yych <= '-') goto yy65; if(yych == '`') goto yy65; if(yych <= 'z') goto yy63; yy65: #line 303 { yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); return ANCHOR; } yy66: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy67: if(yych == ' ') goto yy66; yy68: #line 293 { ENSURE_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); FORCE_NEXT_TOKEN(IOPEN); if ( *( YYCURSOR - 1 ) == '\n' ) { YYCURSOR--; } ADD_LEVEL(YYCURSOR - YYLINEPTR, syck_lvl_doc); return YYTOKEN[0]; } yy69: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy70: if(yych == '\n') goto yy69; goto yy68; yy71: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy72: if(yych == ' ') goto yy71; yy73: #line 289 { YYPOS(1); return YYTOKEN[0]; } yy74: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy75: if(yych == '\n') goto yy74; goto yy73; yy76: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy77: if(yych == '\n') goto yy76; if(yych != ' ') goto yy26; yy78: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy79: if(yybm[0+yych] & 128) goto yy78; goto yy26; } #line 338 } Directive: { YYTOKTMP = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy80; yy81: ++YYCURSOR; yy80: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= ' '){ if(yych <= '\000') goto yy82; if(yych <= '\037') goto yy87; goto yy85; } else { if(yych == '%') goto yy83; goto yy87; } yy82: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy84; } yy83: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '-') goto yy84; if(yych == '`') goto yy84; if(yych <= 'z') goto yy90; yy84: #line 351 { YYCURSOR = YYTOKTMP; return DOCSEP; } yy85: yych = *++YYCURSOR; goto yy89; yy86: #line 349 { goto Directive; } yy87: yych = *++YYCURSOR; goto yy84; yy88: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy89: if(yybm[0+yych] & 32) goto yy88; goto yy86; yy90: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy91: if(yybm[0+yych] & 64) goto yy90; if(yych != ':') goto yy82; yy92: yych = *++YYCURSOR; if(yybm[0+yych] & 128) goto yy93; goto yy82; yy93: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy94: if(yybm[0+yych] & 128) goto yy93; yy95: #line 347 { goto Directive; } } #line 354 } Plain: { SyckLevel *plvl; int parentIndent; int multiLine = 0; YYCURSOR = YYTOKEN; plvl = CURRENT_LEVEL(); GET_TRUE_INDENT(parentIndent); Plain2: YYTOKTMP = YYCURSOR; Plain3: { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy96; yy97: ++YYCURSOR; yy96: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= ','){ if(yych <= '\n'){ if(yych <= '\000') goto yy105; if(yych <= '\t') goto yy109; } else { if(yych == ' ') goto yy107; if(yych <= '+') goto yy109; goto yy104; } } else { if(yych <= '\\'){ if(yych == ':') goto yy100; goto yy109; } else { if(yych <= ']') goto yy102; if(yych == '}') goto yy102; goto yy109; } } yy98: yych = *++YYCURSOR; goto yy122; yy99: #line 374 { int indt_len; SyckLevel *lvl; char *tok = YYTOKTMP; GOBBLE_UP_INDENT( indt_len, tok ); lvl = CURRENT_LEVEL(); if ( indt_len <= parentIndent ) { RETURN_IMPLICIT(multiLine); } multiLine = 1; goto Plain2; } yy100: yych = *++YYCURSOR; if(yych == '\n') goto yy119; if(yych == ' ') goto yy116; yy101: #line 403 { goto Plain2; } yy102: yych = *++YYCURSOR; yy103: #line 391 { if ( plvl->status != syck_lvl_inline ) goto Plain2; RETURN_IMPLICIT(multiLine); } yy104: yych = *++YYCURSOR; if(yybm[0+yych] & 64) goto yy114; if(yych == ' ') goto yy112; goto yy101; yy105: yych = *++YYCURSOR; yy106: #line 395 { RETURN_IMPLICIT(multiLine); } yy107: yych = *++YYCURSOR; if(yych == '#') goto yy110; yy108: #line 401 { goto Plain3; } yy109: yych = *++YYCURSOR; goto yy101; yy110: yych = *++YYCURSOR; yy111: #line 397 { eat_comments( parser ); RETURN_IMPLICIT(multiLine); } yy112: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy113: if(yybm[0+yych] & 32) goto yy112; goto yy103; yy114: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy115: if(yybm[0+yych] & 64) goto yy114; goto yy103; yy116: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy117: if(yych == ' ') goto yy116; yy118: #line 389 { RETURN_IMPLICIT(multiLine); } yy119: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy120: if(yych == '\n') goto yy119; goto yy118; yy121: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy122: if(yych == '\n') goto yy121; if(yych != ' ') goto yy99; yy123: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy124: if(yybm[0+yych] & 128) goto yy123; goto yy99; } #line 405 } SingleQuote: { int qidx = 0; int qcapa = 100; char *qstr = S_ALLOC_N( char, qcapa ); SingleQuote2: YYTOKTMP = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy125; yy126: ++YYCURSOR; yy125: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '\n'){ if(yych <= '\000') goto yy131; if(yych <= '\t') goto yy132; } else { if(yych == '\'') goto yy129; goto yy132; } yy127: yych = *++YYCURSOR; goto yy137; yy128: #line 419 { int indt_len; int nl_count = 0; SyckLevel *lvl; GOBBLE_UP_INDENT( indt_len, YYTOKTMP ); lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_str ) { ADD_LEVEL( indt_len, syck_lvl_str ); } else if ( indt_len < lvl->spaces ) { // Error! } while ( YYTOKTMP < YYCURSOR ) { if ( *YYTOKTMP++ == '\n' ) nl_count++; } 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; } yy129: yych = *++YYCURSOR; if(yych == '\'') goto yy134; yy130: #line 459 { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_str ) { POP_LEVEL(); } n->data.str->ptr = qstr; n->data.str->len = qidx; yylval->nodeData = n; return PLAIN; } yy131: yych = *++YYCURSOR; goto yy130; yy132: yych = *++YYCURSOR; yy133: #line 473 { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto SingleQuote2; } yy134: yych = *++YYCURSOR; yy135: #line 455 { QUOTECAT(qstr, qcapa, qidx, '\''); goto SingleQuote2; } yy136: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy137: if(yybm[0+yych] & 64) goto yy136; if(yych != ' ') goto yy128; yy138: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy139: if(yybm[0+yych] & 128) goto yy138; goto yy128; } #line 477 } DoubleQuote: { int keep_nl = 1; int qidx = 0; int qcapa = 100; char *qstr = S_ALLOC_N( char, qcapa ); DoubleQuote2: YYTOKTMP = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy140; yy141: ++YYCURSOR; yy140: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '!'){ if(yych <= '\000') goto yy146; if(yych != '\n') goto yy149; } else { if(yych <= '"') goto yy148; if(yych == '\\') goto yy144; goto yy149; } yy142: yych = *++YYCURSOR; goto yy158; yy143: #line 495 { int indt_len; int nl_count = 0; SyckLevel *lvl; GOBBLE_UP_INDENT( indt_len, YYTOKTMP ); lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_str ) { ADD_LEVEL( indt_len, syck_lvl_str ); } else if ( indt_len < lvl->spaces ) { // Error! } if ( keep_nl == 1 ) { while ( YYTOKTMP < YYCURSOR ) { if ( *YYTOKTMP++ == '\n' ) nl_count++; } 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; } yy144: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 32) goto yy150; if(yych <= 'd'){ if(yych <= '"'){ if(yych == '\n') goto yy153; if(yych >= '"') goto yy155; } else { if(yych <= '\\'){ if(yych >= '\\') goto yy155; } else { if(yych <= '`') goto yy145; if(yych <= 'b') goto yy155; } } } else { if(yych <= 'r'){ if(yych <= 'm'){ if(yych <= 'f') goto yy155; } else { if(yych <= 'n') goto yy155; if(yych >= 'r') goto yy155; } } else { if(yych <= 't'){ if(yych >= 't') goto yy155; } else { if(yych == 'v') goto yy155; } } } yy145: #line 570 { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto DoubleQuote2; } yy146: yych = *++YYCURSOR; yy147: #line 556 { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_str ) { POP_LEVEL(); } n->data.str->ptr = qstr; n->data.str->len = qidx; yylval->nodeData = n; return PLAIN; } yy148: yych = *++YYCURSOR; goto yy147; yy149: yych = *++YYCURSOR; goto yy145; yy150: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy151: if(yybm[0+yych] & 32) goto yy150; if(yych == '\n') goto yy153; yy152: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy145; } yy153: yych = *++YYCURSOR; yy154: #line 551 { keep_nl = 0; YYCURSOR--; goto DoubleQuote2; } yy155: yych = *++YYCURSOR; yy156: #line 535 { char ch = *( YYCURSOR - 1 ); switch ( ch ) { case 'a': ch = '\a'; break; case 'b': ch = '\b'; break; case 'e': ch = '\e'; break; case 'f': ch = '\f'; break; case 'n': ch = '\n'; break; case 'r': ch = '\r'; break; case 't': ch = '\t'; break; case 'v': ch = '\v'; break; } QUOTECAT(qstr, qcapa, qidx, ch); goto DoubleQuote2; } yy157: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy158: if(yybm[0+yych] & 64) goto yy157; if(yych != ' ') goto yy143; yy159: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy160: if(yybm[0+yych] & 128) goto yy159; goto yy143; } #line 574 } TransferMethod: { YYTOKTMP = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy161; yy162: ++YYCURSOR; yy161: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '\n'){ if(yych <= '\000') goto yy163; if(yych <= '\t') goto yy167; goto yy166; } else { if(yych == ' ') goto yy164; goto yy167; } yy163:yy164: yych = *++YYCURSOR; goto yy172; yy165: #line 583 { SyckLevel *lvl; YYCURSOR = YYTOKTMP; if ( YYCURSOR == YYTOKEN + 1 ) { return ITRANSFER; } lvl = CURRENT_LEVEL(); // // URL Prefixing // if ( *(YYTOKEN + 1) == '^' ) { yylval->name = S_ALLOC_N( char, ( YYCURSOR - YYTOKEN ) + strlen( lvl->domain ) ); yylval->name[0] = '\0'; strcat( yylval->name, lvl->domain ); strncat( yylval->name, YYTOKEN + 2, ( YYCURSOR - YYTOKEN ) - 2 ); } else { char *carat = YYTOKEN; while ( (++carat) < YYCURSOR ) { if ( *carat == '^' ) break; } if ( carat < YYCURSOR ) { free( lvl->domain ); lvl->domain = syck_strndup( YYTOKEN + 1, ( carat - YYTOKEN ) - 1 ); yylval->name = S_ALLOC_N( char, ( YYCURSOR - carat ) + strlen( lvl->domain ) ); yylval->name[0] = '\0'; strcat( yylval->name, lvl->domain ); strncat( yylval->name, carat + 1, ( YYCURSOR - carat ) - 1 ); } else { yylval->name = syck_strndup( YYTOKEN + 1, ( YYCURSOR - YYTOKEN ) - 1 ); } } return TRANSFER; } yy166: yych = *++YYCURSOR; goto yy170; yy167: yych = *++YYCURSOR; yy168: #line 629 { goto TransferMethod; } yy169: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy170: if(yybm[0+yych] & 64) goto yy169; goto yy165; yy171: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy172: if(yybm[0+yych] & 128) goto yy171; goto yy165; } #line 631 } ScalarBlock: { int blockType = 0; int nlDoWhat = 0; int forceIndent = -1; char *yyt = YYTOKEN; SyckLevel *lvl = CURRENT_LEVEL(); int parentIndent; GET_TRUE_INDENT(parentIndent); 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( *yyt ) ) { forceIndent = strtol( yyt, NULL, 10 ) + parentIndent; } } YYTOKEN = YYCURSOR; ScalarBlock2: YYTOKTMP = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy173; yy174: ++YYCURSOR; yy173: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '\n'){ if(yych <= '\000') goto yy177; if(yych <= '\t') goto yy181; } else { if(yych == '#') goto yy179; goto yy181; } yy175: yych = *++YYCURSOR; goto yy184; yy176: #line 673 { int indt_len; GOBBLE_UP_INDENT( indt_len, YYTOKTMP ); lvl = CURRENT_LEVEL(); if ( indt_len > parentIndent && lvl->status != syck_lvl_block ) { ADD_LEVEL( forceIndent > 0 ? forceIndent : indt_len, syck_lvl_block ); } lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_block ) { yylval->nodeData = syck_new_str2( YYTOKEN, 0 ); YYCURSOR = YYTOKTMP; return BLOCK; } else if ( indt_len < lvl->spaces ) { YYCURSOR--; yylval->nodeData = syck_new_str2( YYTOKEN, YYCURSOR - YYTOKEN ); syck_fold_format( yylval->nodeData->data.str, blockType, lvl->spaces, nlDoWhat ); if ( lvl->status == syck_lvl_block ) { POP_LEVEL(); } YYCURSOR = YYTOKTMP; return BLOCK; } goto ScalarBlock2; } yy177: yych = *++YYCURSOR; yy178: #line 705 { lvl = CURRENT_LEVEL(); YYCURSOR--; yylval->nodeData = syck_new_str2( YYTOKEN, YYCURSOR - YYTOKEN ); syck_fold_format( yylval->nodeData->data.str, blockType, lvl->spaces, nlDoWhat ); POP_LEVEL(); return BLOCK; } yy179: yych = *++YYCURSOR; yy180: #line 713 { lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_block ) { eat_comments( parser ); YYTOKEN = YYCURSOR; } goto ScalarBlock2; } yy181: yych = *++YYCURSOR; yy182: #line 722 { goto ScalarBlock2; } yy183: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy184: if(yybm[0+yych] & 64) goto yy183; if(yych != ' ') goto yy176; yy185: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy186: if(yybm[0+yych] & 128) goto yy185; goto yy176; } #line 724 } } void eat_comments( SyckParser *parser ) { char *tok; Comment: { tok = YYCURSOR; { YYCTYPE yych; unsigned int yyaccept; static unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy187; yy188: ++YYCURSOR; yy187: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '\000') goto yy189; if(yych == '\n') goto yy191; goto yy192; yy189: yych = *++YYCURSOR; yy190: #line 740 { SyckLevel *lvl = CURRENT_LEVEL(); YYCURSOR = tok; return; } yy191: yych = *++YYCURSOR; goto yy195; yy192: yych = *++YYCURSOR; yy193: #line 745 { goto Comment; } yy194: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy195: if(yybm[0+yych] & 128) goto yy194; goto yy190; } #line 748 } } int yywrap() { return 1; } void yyerror( char *msg ) { if ( syck_parser_ptr->error_handler == NULL ) syck_parser_ptr->error_handler = syck_default_error_handler; syck_parser_ptr->root = 0; (syck_parser_ptr->error_handler)(syck_parser_ptr, msg); }