1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/syck/token.c

1644 lines
44 KiB
C
Raw Normal View History

/* Generated by re2c 0.5 on Thu May 15 15:42:01 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 - 1; \
} \
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 = 7; break;
case 'b': ch = '\010'; break;
case 'e': ch = '\033'; break;
case 'f': ch = '\014'; break;
case 'n': ch = '\n'; break;
case 'r': ch = '\015'; break;
case 't': ch = '\t'; break;
case 'v': ch = '\013'; 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 = syck_parser_ptr->root_on_error;
(syck_parser_ptr->error_handler)(syck_parser_ptr, msg);
}