summaryrefslogtreecommitdiff
path: root/ext/syck/token.c
diff options
context:
space:
mode:
authorwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-30 20:38:41 +0000
committerwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-30 20:38:41 +0000
commita2523332ce58ab4af4f531306ebbdf10bacaa892 (patch)
treefe2f47fc4a44f80f7c57f2d52455cfdcc2be9ce8 /ext/syck/token.c
parenteb851961c794995cc75024ab7366f866c31fdf7c (diff)
* lib/yaml.rb (YAML::load_file, YAML::parse_file): added.
* lib/yaml/rubytypes.rb: exceptions were using an older YAML.object_maker. [ruby-core:03080] * ext/syck/token.c (sycklex_yaml_utf8): using newline_len to handline CR-LFs. "\000" was showing up on folded blocks which stopped at EOF. * ext/syck/token.c: re2c compiled with bit vectors now. * ext/syck/implicit.c: ditto. * ext/syck/bytecode.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/token.c')
-rw-r--r--ext/syck/token.c2335
1 files changed, 1138 insertions, 1197 deletions
diff --git a/ext/syck/token.c b/ext/syck/token.c
index ff192f24e1..703f7fa0a1 100644
--- a/ext/syck/token.c
+++ b/ext/syck/token.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Thu May 13 01:45:26 2004 */
+/* Generated by re2c 0.9.3 on Fri Jul 30 13:48:10 2004 */
#line 1 "token.re"
/*
* token.re
@@ -40,7 +40,7 @@
/*
* Track line numbers
*/
-#define NEWLINE(ptr) YYLINEPTR = ptr + 1; if ( YYLINEPTR > YYLINECTPTR ) { YYLINE++; YYLINECTPTR = YYLINEPTR; }
+#define NEWLINE(ptr) YYLINEPTR = ptr + newline_len(ptr); if ( YYLINEPTR > YYLINECTPTR ) { YYLINE++; YYLINECTPTR = YYLINEPTR; }
/*
* I like seeing the level operations as macros...
@@ -148,7 +148,7 @@
{ \
char *fc = n->data.str->ptr + n->data.str->len - 1; \
while ( is_newline( fc ) ) fc--; \
- if ( nlDoWhat != NL_CHOMP ) \
+ 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; \
} \
@@ -209,6 +209,7 @@ SyckParser *syck_parser_ptr = NULL;
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();
@@ -259,7 +260,7 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser )
return t;
}
-#line 278
+#line 279 "token.re"
if ( YYLINEPTR != YYCURSOR )
@@ -271,121 +272,167 @@ Header:
YYTOKEN = YYCURSOR;
+
+#line 7 "<stdout>"
{
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,
+ 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) < 5) YYFILL(5);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy7;
- case '\n': goto yy9;
- case '\r': goto yy11;
- case ' ': goto yy12;
- case '#': goto yy5;
- case '-': goto yy2;
- case '.': goto yy4;
- default: goto yy14;
+ if(yych <= '\037'){
+ if(yych <= '\n'){
+ if(yych <= '\000') goto yy7;
+ if(yych <= '\t') goto yy14;
+ goto yy9;
+ } else {
+ if(yych == '\r') goto yy11;
+ goto yy14;
+ }
+ } else {
+ if(yych <= '#'){
+ if(yych <= ' ') goto yy12;
+ if(yych <= '"') goto yy14;
+ goto yy5;
+ } else {
+ if(yych <= ',') goto yy14;
+ if(yych <= '-') goto yy2;
+ if(yych <= '.') goto yy4;
+ goto yy14;
+ }
}
yy2: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '-': goto yy28;
- default: goto yy3;
- }
+ if(yych == '-') goto yy28;
+ goto yy3;
yy3:
-#line 337
- { YYPOS(0);
+#line 338 "token.re"
+{ YYPOS(0);
goto Document;
}
+#line 80 "<stdout>"
yy4: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '.': goto yy21;
- default: goto yy3;
- }
-yy5: yych = *++YYCURSOR;
+ if(yych == '.') goto yy21;
+ goto yy3;
+yy5: ++YYCURSOR;
+ goto yy6;
yy6:
-#line 319
- { eat_comments( parser );
+#line 320 "token.re"
+{ eat_comments( parser );
goto Header;
}
-yy7: yych = *++YYCURSOR;
+#line 92 "<stdout>"
+yy7: ++YYCURSOR;
+ goto yy8;
yy8:
-#line 323
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 324 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
ENSURE_YAML_IEND(lvl, -1);
YYPOS(0);
return 0;
}
+#line 102 "<stdout>"
yy9: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
goto yy18;
yy10:
-#line 329
- { GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN );
+#line 330 "token.re"
+{ GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN );
goto Header;
}
+#line 111 "<stdout>"
yy11: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy17;
- default: goto yy3;
- }
-yy12: yych = *++YYCURSOR;
+ if(yych == '\n') goto yy17;
+ goto yy3;
+yy12: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy16;
yy13:
-#line 333
- { doc_level = YYCURSOR - YYLINEPTR;
+#line 334 "token.re"
+{ doc_level = YYCURSOR - YYLINEPTR;
goto Header;
}
+#line 122 "<stdout>"
yy14: yych = *++YYCURSOR;
goto yy3;
yy15: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy16: switch(yych){
- case ' ': goto yy15;
- default: goto yy13;
- }
+ goto yy16;
+yy16: if(yybm[0+yych] & 64) goto yy15;
+ goto yy13;
yy17: yyaccept = 1;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy18: switch(yych){
- case '\n': case ' ': goto yy17;
- case '\r': goto yy19;
- default: goto yy10;
- }
+ goto yy18;
+yy18: if(yybm[0+yych] & 128) goto yy17;
+ if(yych != '\r') goto yy10;
+ goto yy19;
yy19: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy17;
- default: goto yy20;
- }
+ if(yych == '\n') goto yy17;
+ 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;
- }
+ if(yych != '.') goto yy20;
+ goto yy22;
yy22: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy23;
- case '\r': goto yy27;
- case ' ': goto yy25;
- default: goto yy20;
- }
-yy23: yych = *++YYCURSOR;
+ if(yych <= '\f'){
+ if(yych != '\n') goto yy20;
+ goto yy23;
+ } else {
+ if(yych <= '\r') goto yy27;
+ if(yych == ' ') goto yy25;
+ goto yy20;
+ }
+yy23: ++YYCURSOR;
+ goto yy24;
yy24:
-#line 305
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 306 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
if ( lvl->status == syck_lvl_header )
{
goto Header;
@@ -398,34 +445,33 @@ yy24:
}
return 0;
}
+#line 180 "<stdout>"
yy25: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy26: switch(yych){
- case ' ': goto yy25;
- default: goto yy24;
- }
+ goto yy26;
+yy26: if(yych == ' ') goto yy25;
+ goto yy24;
yy27: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy23;
- default: goto yy20;
- }
+ if(yych == '\n') goto yy23;
+ goto yy20;
yy28: yych = *++YYCURSOR;
- switch(yych){
- case '-': goto yy29;
- default: goto yy20;
- }
+ if(yych != '-') goto yy20;
+ goto yy29;
yy29: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy30;
- case '\r': goto yy34;
- case ' ': goto yy32;
- default: goto yy20;
- }
-yy30: yych = *++YYCURSOR;
+ if(yych <= '\f'){
+ if(yych != '\n') goto yy20;
+ goto yy30;
+ } else {
+ if(yych <= '\r') goto yy34;
+ if(yych == ' ') goto yy32;
+ goto yy20;
+ }
+yy30: ++YYCURSOR;
+ goto yy31;
yy31:
-#line 291
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 292 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
if ( lvl->status == syck_lvl_header )
{
YYPOS(3);
@@ -438,20 +484,18 @@ yy31:
return 0;
}
}
+#line 220 "<stdout>"
yy32: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy33: switch(yych){
- case ' ': goto yy32;
- default: goto yy31;
- }
-yy34: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy30;
- default: goto yy20;
- }
+ goto yy33;
+yy33: if(yych == ' ') goto yy32;
+ goto yy31;
+yy34: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy30;
+ goto yy20;
}
-#line 341
+#line 342 "token.re"
Document:
@@ -464,38 +508,106 @@ Document:
YYTOKEN = YYCURSOR;
+
+#line 234 "<stdout>"
{
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,
+ 144, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 32, 0, 96, 0, 0,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 0, 0, 0, 0, 0, 0,
+ 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, 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 yy35;
yy36: ++YYCURSOR;
yy35:
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy60;
- case '\n': goto yy37;
- case '\r': goto yy39;
- case ' ': goto yy58;
- case '!': goto yy49;
- case '"': goto yy53;
- case '#': goto yy56;
- case '&': goto yy47;
- case '\'': goto yy51;
- case '*': goto yy48;
- case ',': case ':': goto yy45;
- case '-': case '?': goto yy46;
- case '>': case '|': goto yy55;
- case '[': case '{': goto yy41;
- case ']': case '}': goto yy43;
- default: goto yy62;
+ if(yych <= '+'){
+ if(yych <= '!'){
+ if(yych <= '\f'){
+ if(yych <= '\000') goto yy60;
+ if(yych != '\n') goto yy62;
+ goto yy37;
+ } else {
+ if(yych <= '\r') goto yy39;
+ if(yych <= '\037') goto yy62;
+ if(yych <= ' ') goto yy58;
+ goto yy49;
+ }
+ } else {
+ if(yych <= '&'){
+ if(yych <= '"') goto yy53;
+ if(yych <= '#') goto yy56;
+ if(yych <= '%') goto yy62;
+ goto yy47;
+ } else {
+ if(yych <= '\'') goto yy51;
+ if(yych == '*') goto yy48;
+ goto yy62;
+ }
+ }
+ } else {
+ if(yych <= 'Z'){
+ if(yych <= ':'){
+ if(yych <= ',') goto yy45;
+ if(yych <= '-') goto yy46;
+ if(yych <= '9') goto yy62;
+ goto yy45;
+ } else {
+ if(yych <= '=') goto yy62;
+ if(yych <= '>') goto yy55;
+ if(yych <= '?') goto yy46;
+ goto yy62;
+ }
+ } else {
+ if(yych <= 'z'){
+ if(yych <= '[') goto yy41;
+ if(yych == ']') goto yy43;
+ goto yy62;
+ } else {
+ if(yych <= '{') goto yy41;
+ if(yych <= '|') goto yy55;
+ if(yych <= '}') goto yy43;
+ goto yy62;
+ }
+ }
}
yy37: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy90;
yy38:
-#line 355
- { /* Isolate spaces */
+#line 356 "token.re"
+{ /* Isolate spaces */
int indt_len;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
lvl = CURRENT_LEVEL();
@@ -516,419 +628,219 @@ yy38:
}
return YAML_INDENT;
}
-yy39: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy89;
- default: goto yy40;
- }
+#line 353 "<stdout>"
+yy39: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy89;
+ goto yy40;
yy40:
-#line 447
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 448 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto Plain;
}
-yy41: yych = *++YYCURSOR;
+#line 362 "<stdout>"
+yy41: ++YYCURSOR;
+ goto yy42;
yy42:
-#line 377
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 378 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
lvl = CURRENT_LEVEL();
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
return YYTOKEN[0];
}
-yy43: yych = *++YYCURSOR;
+#line 372 "<stdout>"
+yy43: ++YYCURSOR;
+ goto yy44;
yy44:
-#line 383
- { POP_LEVEL();
+#line 384 "token.re"
+{ POP_LEVEL();
return YYTOKEN[0];
}
+#line 380 "<stdout>"
yy45: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy84;
- case '\r': goto yy88;
- case ' ': goto yy86;
- default: goto yy40;
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy84;
+ goto yy40;
+ } else {
+ if(yych <= '\r') goto yy88;
+ if(yych == ' ') goto yy86;
+ goto yy40;
}
yy46: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy79;
- case '\r': goto yy83;
- case ' ': goto yy81;
- default: goto yy40;
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy79;
+ goto yy40;
+ } else {
+ if(yych <= '\r') goto yy83;
+ if(yych == ' ') goto yy81;
+ goto yy40;
}
yy47: 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 yy76;
- default: goto yy40;
+ if(yych <= '@'){
+ if(yych <= '-'){
+ if(yych <= ',') goto yy40;
+ goto yy76;
+ } else {
+ if(yych <= '/') goto yy40;
+ if(yych <= '9') goto yy76;
+ goto yy40;
+ }
+ } else {
+ if(yych <= '_'){
+ if(yych <= 'Z') goto yy76;
+ if(yych <= '^') goto yy40;
+ goto yy76;
+ } else {
+ if(yych <= '`') goto yy40;
+ if(yych <= 'z') goto yy76;
+ goto yy40;
+ }
}
yy48: 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 yy73;
- default: goto yy40;
- }
-yy49: yych = *++YYCURSOR;
+ if(yybm[0+yych] & 64) goto yy73;
+ goto yy40;
+yy49: ++YYCURSOR;
+ goto yy50;
yy50:
-#line 421
- { goto TransferMethod; }
-yy51: yych = *++YYCURSOR;
+#line 422 "token.re"
+{ goto TransferMethod; }
+#line 430 "<stdout>"
+yy51: ++YYCURSOR;
+ goto yy52;
yy52:
-#line 423
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 424 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto SingleQuote; }
-yy53: yych = *++YYCURSOR;
+#line 437 "<stdout>"
+yy53: ++YYCURSOR;
+ goto yy54;
yy54:
-#line 426
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 427 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto DoubleQuote; }
+#line 444 "<stdout>"
yy55: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy68;
- case '\r': goto yy72;
- case ' ': goto yy70;
- case '+': case '-': case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy65;
- default: goto yy40;
- }
-yy56: yych = *++YYCURSOR;
+ if(yybm[0+yych] & 32) goto yy65;
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy68;
+ goto yy40;
+ } else {
+ if(yych <= '\r') goto yy72;
+ if(yych == ' ') goto yy70;
+ goto yy40;
+ }
+yy56: ++YYCURSOR;
+ goto yy57;
yy57:
-#line 436
- { eat_comments( parser );
+#line 437 "token.re"
+{ eat_comments( parser );
goto Document;
}
-yy58: yych = *++YYCURSOR;
+#line 463 "<stdout>"
+yy58: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy64;
yy59:
-#line 440
- { goto Document; }
-yy60: yych = *++YYCURSOR;
+#line 441 "token.re"
+{ goto Document; }
+#line 469 "<stdout>"
+yy60: ++YYCURSOR;
+ goto yy61;
yy61:
-#line 442
- { ENSURE_YAML_IEND(lvl, -1);
+#line 443 "token.re"
+{ ENSURE_YAML_IEND(lvl, -1);
YYPOS(0);
return 0;
}
+#line 478 "<stdout>"
yy62: yych = *++YYCURSOR;
goto yy40;
yy63: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy64: switch(yych){
- case ' ': goto yy63;
- default: goto yy59;
- }
+ goto yy64;
+yy64: if(yybm[0+yych] & 16) goto yy63;
+ goto yy59;
yy65: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy66: switch(yych){
- case '\n': goto yy68;
- case '\r': goto yy72;
- case ' ': goto yy70;
- case '+': case '-': case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy65;
- default: goto yy67;
+ goto yy66;
+yy66: if(yybm[0+yych] & 32) goto yy65;
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy68;
+ goto yy67;
+ } else {
+ if(yych <= '\r') goto yy72;
+ if(yych == ' ') goto yy70;
+ goto yy67;
}
yy67: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy38;
case 1: goto yy40;
}
-yy68: yych = *++YYCURSOR;
+yy68: ++YYCURSOR;
+ goto yy69;
yy69:
-#line 429
- { if ( is_newline( YYCURSOR - 1 ) )
+#line 430 "token.re"
+{ if ( is_newline( YYCURSOR - 1 ) )
{
YYCURSOR--;
}
goto ScalarBlock;
}
+#line 517 "<stdout>"
yy70: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71: switch(yych){
- case ' ': goto yy70;
- default: goto yy69;
- }
+ goto yy71;
+yy71: if(yych == ' ') goto yy70;
+ goto yy69;
yy72: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy68;
- default: goto yy67;
- }
+ if(yych == '\n') goto yy68;
+ goto yy67;
yy73: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy74: 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 yy73;
- default: goto yy75;
- }
+ goto yy74;
+yy74: if(yybm[0+yych] & 64) goto yy73;
+ goto yy75;
yy75:
-#line 416
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 417 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
return YAML_ALIAS;
}
+#line 541 "<stdout>"
yy76: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy77: 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 yy76;
- default: goto yy78;
+ goto yy77;
+yy77: if(yych <= '@'){
+ if(yych <= '-'){
+ if(yych >= '-') goto yy76;
+ goto yy78;
+ } else {
+ if(yych <= '/') goto yy78;
+ if(yych <= '9') goto yy76;
+ goto yy78;
+ }
+ } else {
+ if(yych <= '_'){
+ if(yych <= 'Z') goto yy76;
+ if(yych >= '_') goto yy76;
+ goto yy78;
+ } else {
+ if(yych <= '`') goto yy78;
+ if(yych <= 'z') goto yy76;
+ goto yy78;
+ }
}
yy78:
-#line 405
- { sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
+#line 406 "token.re"
+{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
/*
* Remove previous anchors of the same name. Since the parser will likely
@@ -938,10 +850,12 @@ yy78:
syck_hdlr_remove_anchor(parser, sycklval->name);
return YAML_ANCHOR;
}
-yy79: yych = *++YYCURSOR;
+#line 579 "<stdout>"
+yy79: ++YYCURSOR;
+ goto yy80;
yy80:
-#line 391
- { ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
+#line 392 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
FORCE_NEXT_TOKEN(YAML_IOPEN);
if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
{
@@ -954,54 +868,48 @@ yy80:
}
return YYTOKEN[0];
}
+#line 597 "<stdout>"
yy81: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy82: switch(yych){
- case ' ': goto yy81;
- default: goto yy80;
- }
+ goto yy82;
+yy82: if(yych == ' ') goto yy81;
+ goto yy80;
yy83: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy79;
- default: goto yy67;
- }
-yy84: yych = *++YYCURSOR;
+ if(yych == '\n') goto yy79;
+ goto yy67;
+yy84: ++YYCURSOR;
+ goto yy85;
yy85:
-#line 387
- { YYPOS(1);
+#line 388 "token.re"
+{ YYPOS(1);
return YYTOKEN[0];
}
+#line 615 "<stdout>"
yy86: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy87: switch(yych){
- case ' ': goto yy86;
- default: goto yy85;
- }
+ goto yy87;
+yy87: if(yych == ' ') goto yy86;
+ goto yy85;
yy88: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy84;
- default: goto yy67;
- }
+ if(yych == '\n') goto yy84;
+ goto yy67;
yy89: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy90: switch(yych){
- case '\n': case ' ': goto yy89;
- case '\r': goto yy91;
- default: goto yy38;
- }
+ goto yy90;
+yy90: if(yybm[0+yych] & 128) goto yy89;
+ if(yych != '\r') goto yy38;
+ goto yy91;
yy91: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy89;
- default: goto yy67;
- }
+ if(yych == '\n') goto yy89;
+ goto yy67;
}
-#line 451
+#line 452 "token.re"
}
@@ -1009,19 +917,57 @@ Directive:
{
YYTOKTMP = YYCURSOR;
+
+#line 643 "<stdout>"
{
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 yy92;
yy93: ++YYCURSOR;
yy92:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy94;
- case ' ': goto yy97;
- case '%': goto yy95;
- default: goto yy99;
+ if(yych <= ' '){
+ if(yych <= '\000') goto yy94;
+ if(yych <= '\037') goto yy99;
+ goto yy97;
+ } else {
+ if(yych == '%') goto yy95;
+ goto yy99;
}
yy94: YYCURSOR = YYMARKER;
switch(yyaccept){
@@ -1029,348 +975,53 @@ yy94: YYCURSOR = YYMARKER;
}
yy95: 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 yy102;
- default: goto yy96;
- }
+ if(yych <= '-') goto yy96;
+ if(yych == '`') goto yy96;
+ if(yych <= 'z') goto yy102;
+ goto yy96;
yy96:
-#line 464
- { YYCURSOR = YYTOKTMP;
+#line 465 "token.re"
+{ YYCURSOR = YYTOKTMP;
return YAML_DOCSEP;
}
-yy97: yych = *++YYCURSOR;
+#line 709 "<stdout>"
+yy97: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy101;
yy98:
-#line 462
- { goto Directive; }
+#line 463 "token.re"
+{ goto Directive; }
+#line 715 "<stdout>"
yy99: yych = *++YYCURSOR;
goto yy96;
yy100: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy101: switch(yych){
- case ' ': goto yy100;
- default: goto yy98;
- }
+ goto yy101;
+yy101: if(yybm[0+yych] & 32) goto yy100;
+ goto yy98;
yy102: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy103: 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 yy102;
- case ':': goto yy104;
- default: goto yy94;
- }
+ goto yy103;
+yy103: if(yybm[0+yych] & 64) goto yy102;
+ if(yych != ':') goto yy94;
+ goto yy104;
yy104: 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 yy105;
- default: goto yy94;
- }
+ if(yybm[0+yych] & 128) goto yy105;
+ goto yy94;
yy105: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy106: 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 yy105;
- default: goto yy107;
- }
+ goto yy106;
+yy106: if(yybm[0+yych] & 128) goto yy105;
+ goto yy107;
yy107:
-#line 460
- { goto Directive; }
+#line 461 "token.re"
+{ goto Directive; }
+#line 746 "<stdout>"
}
-#line 467
+#line 468 "token.re"
}
@@ -1392,30 +1043,77 @@ Plain2:
Plain3:
+
+#line 750 "<stdout>"
{
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,
+ 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 yy108;
yy109: ++YYCURSOR;
yy108:
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy120;
- case '\n': goto yy110;
- case '\r': goto yy112;
- case ' ': goto yy118;
- case ',': goto yy117;
- case ':': goto yy114;
- case ']': case '}': goto yy115;
- default: goto yy122;
+ if(yych <= '+'){
+ if(yych <= '\f'){
+ if(yych <= '\000') goto yy120;
+ if(yych != '\n') goto yy122;
+ goto yy110;
+ } else {
+ if(yych <= '\r') goto yy112;
+ if(yych == ' ') goto yy118;
+ goto yy122;
+ }
+ } else {
+ if(yych <= '\\'){
+ if(yych <= ',') goto yy117;
+ if(yych == ':') goto yy114;
+ goto yy122;
+ } else {
+ if(yych <= ']') goto yy115;
+ if(yych == '}') goto yy115;
+ goto yy122;
+ }
}
yy110: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy136;
yy111:
-#line 490
- { int indt_len, nl_count = 0;
+#line 491 "token.re"
+{ int indt_len, nl_count = 0;
SyckLevel *lvl;
char *tok = YYTOKEN;
GOBBLE_UP_YAML_INDENT( indt_len, tok );
@@ -1428,8 +1126,12 @@ yy111:
while ( YYTOKEN < YYCURSOR )
{
- if ( is_newline( YYTOKEN++ ) )
+ int nl_len = 0;
+ if ( nl_len = newline_len( YYTOKEN++ ) )
+ {
nl_count++;
+ YYTOKEN += nl_len - 1;
+ }
}
if ( nl_count <= 1 )
{
@@ -1446,28 +1148,31 @@ yy111:
goto Plain2;
}
-yy112: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy135;
- default: goto yy113;
- }
+#line 854 "<stdout>"
+yy112: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy135;
+ goto yy113;
yy113:
-#line 544
- { QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN);
+#line 549 "token.re"
+{ QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN);
goto Plain2;
}
+#line 863 "<stdout>"
yy114: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy130;
- case '\r': goto yy134;
- case ' ': goto yy132;
- default: goto yy113;
- }
-yy115: yych = *++YYCURSOR;
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy130;
+ goto yy113;
+ } else {
+ if(yych <= '\r') goto yy134;
+ if(yych == ' ') goto yy132;
+ goto yy113;
+ }
+yy115: ++YYCURSOR;
+ goto yy116;
yy116:
-#line 524
- { if ( plvl->status != syck_lvl_inline )
+#line 529 "token.re"
+{ if ( plvl->status != syck_lvl_inline )
{
if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) )
{
@@ -1478,87 +1183,82 @@ yy116:
}
RETURN_IMPLICIT();
}
+#line 889 "<stdout>"
yy117: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy125;
- case '\r': goto yy128;
- case ' ': goto yy126;
- default: goto yy113;
- }
-yy118: yych = *++YYCURSOR;
- switch(yych){
- case '#': goto yy123;
- default: goto yy119;
- }
+ if(yybm[0+yych] & 64) goto yy126;
+ if(yych == '\n') goto yy125;
+ if(yych == '\r') goto yy128;
+ goto yy113;
+yy118: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '#') goto yy123;
+ goto yy119;
yy119:
-#line 542
- { goto Plain3; }
-yy120: yych = *++YYCURSOR;
+#line 547 "token.re"
+{ goto Plain3; }
+#line 902 "<stdout>"
+yy120: ++YYCURSOR;
+ goto yy121;
yy121:
-#line 540
- { RETURN_IMPLICIT(); }
+#line 545 "token.re"
+{ RETURN_IMPLICIT(); }
+#line 908 "<stdout>"
yy122: yych = *++YYCURSOR;
goto yy113;
-yy123: yych = *++YYCURSOR;
+yy123: ++YYCURSOR;
+ goto yy124;
yy124:
-#line 536
- { eat_comments( parser );
+#line 541 "token.re"
+{ eat_comments( parser );
RETURN_IMPLICIT();
}
+#line 918 "<stdout>"
yy125: yych = *++YYCURSOR;
goto yy116;
yy126: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy127: switch(yych){
- case ' ': goto yy126;
- default: goto yy116;
- }
+ goto yy127;
+yy127: if(yybm[0+yych] & 64) goto yy126;
+ goto yy116;
yy128: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy125;
- default: goto yy129;
- }
+ if(yych == '\n') goto yy125;
+ goto yy129;
yy129: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy111;
case 1: goto yy113;
}
-yy130: yych = *++YYCURSOR;
+yy130: ++YYCURSOR;
+ goto yy131;
yy131:
-#line 522
- { RETURN_IMPLICIT(); }
+#line 527 "token.re"
+{ RETURN_IMPLICIT(); }
+#line 941 "<stdout>"
yy132: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy133: switch(yych){
- case ' ': goto yy132;
- default: goto yy131;
- }
+ goto yy133;
+yy133: if(yych == ' ') goto yy132;
+ goto yy131;
yy134: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy130;
- default: goto yy129;
- }
+ if(yych == '\n') goto yy130;
+ goto yy129;
yy135: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy136: switch(yych){
- case '\n': case ' ': goto yy135;
- case '\r': goto yy137;
- default: goto yy111;
- }
+ goto yy136;
+yy136: if(yybm[0+yych] & 128) goto yy135;
+ if(yych != '\r') goto yy111;
+ goto yy137;
yy137: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy135;
- default: goto yy129;
- }
+ if(yych == '\n') goto yy135;
+ goto yy129;
}
-#line 548
+#line 553 "token.re"
}
@@ -1571,27 +1271,65 @@ SingleQuote:
SingleQuote2:
YYTOKEN = YYCURSOR;
+
+#line 969 "<stdout>"
{
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,
+ 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 yy138;
yy139: ++YYCURSOR;
yy138:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy146;
- case '\n': goto yy140;
- case '\r': goto yy142;
- case '\'': goto yy144;
- default: goto yy147;
+ if(yych <= '\f'){
+ if(yych <= '\000') goto yy146;
+ if(yych != '\n') goto yy147;
+ goto yy140;
+ } else {
+ if(yych <= '\r') goto yy142;
+ if(yych == '\'') goto yy144;
+ goto yy147;
}
yy140: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy151;
yy141:
-#line 562
- { int indt_len;
+#line 567 "token.re"
+{ int indt_len;
int nl_count = 0;
SyckLevel *lvl;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
@@ -1608,8 +1346,12 @@ yy141:
while ( YYTOKEN < YYCURSOR )
{
- if ( is_newline( YYTOKEN++ ) )
+ int nl_len = 0;
+ if ( nl_len = newline_len( YYTOKEN++ ) )
+ {
nl_count++;
+ YYTOKEN += nl_len - 1;
+ }
}
if ( nl_count <= 1 )
{
@@ -1626,24 +1368,22 @@ yy141:
goto SingleQuote2;
}
-yy142: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy150;
- default: goto yy143;
- }
+#line 1065 "<stdout>"
+yy142: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy150;
+ goto yy143;
yy143:
-#line 618
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 627 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto SingleQuote2;
}
-yy144: yych = *++YYCURSOR;
- switch(yych){
- case '\'': goto yy148;
- default: goto yy145;
- }
+#line 1074 "<stdout>"
+yy144: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\'') goto yy148;
+ goto yy145;
yy145:
-#line 602
- { SyckLevel *lvl;
+#line 611 "token.re"
+{ SyckLevel *lvl;
SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL();
@@ -1658,38 +1398,38 @@ yy145:
sycklval->nodeData = n;
return YAML_PLAIN;
}
+#line 1095 "<stdout>"
yy146: yych = *++YYCURSOR;
goto yy145;
yy147: yych = *++YYCURSOR;
goto yy143;
-yy148: yych = *++YYCURSOR;
+yy148: ++YYCURSOR;
+ goto yy149;
yy149:
-#line 598
- { QUOTECAT(qstr, qcapa, qidx, '\'');
+#line 607 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, '\'');
goto SingleQuote2;
}
+#line 1107 "<stdout>"
yy150: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy151: switch(yych){
- case '\n': case ' ': goto yy150;
- case '\r': goto yy152;
- default: goto yy141;
- }
+ goto yy151;
+yy151: if(yybm[0+yych] & 128) goto yy150;
+ if(yych != '\r') goto yy141;
+ goto yy152;
yy152: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy150;
- default: goto yy153;
- }
+ if(yych == '\n') goto yy150;
+ goto yy153;
yy153: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy141;
}
}
-#line 622
+#line 631 "token.re"
}
@@ -1706,28 +1446,74 @@ DoubleQuote2:
YYTOKEN = YYCURSOR;
+
+#line 1129 "<stdout>"
{
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,
+ 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 yy154;
yy155: ++YYCURSOR;
yy154:
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy161;
- case '\n': goto yy156;
- case '\r': goto yy158;
- case '"': goto yy163;
- case '\\': goto yy160;
- default: goto yy164;
+ if(yych <= '\r'){
+ if(yych <= '\t'){
+ if(yych <= '\000') goto yy161;
+ goto yy164;
+ } else {
+ if(yych <= '\n') goto yy156;
+ if(yych <= '\f') goto yy164;
+ goto yy158;
+ }
+ } else {
+ if(yych <= '"'){
+ if(yych <= '!') goto yy164;
+ goto yy163;
+ } else {
+ if(yych == '\\') goto yy160;
+ goto yy164;
+ }
}
yy156: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy178;
yy157:
-#line 640
- { int indt_len;
+#line 649 "token.re"
+{ int indt_len;
int nl_count = 0;
SyckLevel *lvl;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
@@ -1746,8 +1532,12 @@ yy157:
{
while ( YYTOKEN < YYCURSOR )
{
- if ( is_newline( YYTOKEN++ ) )
+ int nl_len = 0;
+ if ( nl_len = newline_len( YYTOKEN++ ) )
+ {
nl_count++;
+ YYTOKEN += nl_len - 1;
+ }
}
if ( nl_count <= 1 )
{
@@ -1766,32 +1556,66 @@ yy157:
keep_nl = 1;
goto DoubleQuote2;
}
-yy158: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy177;
- default: goto yy159;
- }
+#line 1238 "<stdout>"
+yy158: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy177;
+ goto yy159;
yy159:
-#line 715
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 728 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto DoubleQuote2;
}
+#line 1247 "<stdout>"
yy160: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '\n': goto yy168;
- case '\r': goto yy170;
- case ' ': goto yy165;
- case '"': case '0': case '\\': case 'a':
- case 'b': case 'e':
- case 'f': case 'n': case 'r': case 't': case 'v': goto yy172;
- case 'x': goto yy171;
- default: goto yy159;
- }
-yy161: yych = *++YYCURSOR;
+ if(yybm[0+yych] & 64) goto yy165;
+ if(yych <= 'b'){
+ if(yych <= '"'){
+ if(yych <= '\f'){
+ if(yych == '\n') goto yy168;
+ goto yy159;
+ } else {
+ if(yych <= '\r') goto yy170;
+ if(yych <= '!') goto yy159;
+ goto yy172;
+ }
+ } else {
+ if(yych <= '['){
+ if(yych == '0') goto yy172;
+ goto yy159;
+ } else {
+ if(yych <= '\\') goto yy172;
+ if(yych <= '`') goto yy159;
+ goto yy172;
+ }
+ }
+ } else {
+ if(yych <= 'r'){
+ if(yych <= 'm'){
+ if(yych <= 'd') goto yy159;
+ if(yych <= 'f') goto yy172;
+ goto yy159;
+ } else {
+ if(yych <= 'n') goto yy172;
+ if(yych <= 'q') goto yy159;
+ goto yy172;
+ }
+ } else {
+ if(yych <= 'u'){
+ if(yych == 't') goto yy172;
+ goto yy159;
+ } else {
+ if(yych <= 'v') goto yy172;
+ if(yych == 'x') goto yy171;
+ goto yy159;
+ }
+ }
+ }
+yy161: ++YYCURSOR;
+ goto yy162;
yy162:
-#line 699
- { SyckLevel *lvl;
+#line 712 "token.re"
+{ SyckLevel *lvl;
SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL();
@@ -1806,6 +1630,7 @@ yy162:
sycklval->nodeData = n;
return YAML_PLAIN;
}
+#line 1312 "<stdout>"
yy163: yych = *++YYCURSOR;
goto yy162;
yy164: yych = *++YYCURSOR;
@@ -1813,88 +1638,64 @@ yy164: yych = *++YYCURSOR;
yy165: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy166: switch(yych){
- case '\n': goto yy168;
- case '\r': goto yy170;
- case ' ': goto yy165;
- default: goto yy167;
- }
+ goto yy166;
+yy166: if(yybm[0+yych] & 64) goto yy165;
+ if(yych == '\n') goto yy168;
+ if(yych == '\r') goto yy170;
+ goto yy167;
yy167: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy157;
case 1: goto yy159;
}
-yy168: yych = *++YYCURSOR;
+yy168: ++YYCURSOR;
+ goto yy169;
yy169:
-#line 694
- { keep_nl = 0;
+#line 707 "token.re"
+{ keep_nl = 0;
YYCURSOR--;
goto DoubleQuote2;
}
+#line 1339 "<stdout>"
yy170: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy168;
- default: goto yy167;
- }
+ if(yych == '\n') goto yy168;
+ goto yy167;
yy171: 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 yy174;
- default: goto yy167;
- }
-yy172: yych = *++YYCURSOR;
+ if(yych <= '@'){
+ if(yych <= '/') goto yy167;
+ if(yych <= '9') goto yy174;
+ goto yy167;
+ } else {
+ if(yych <= 'F') goto yy174;
+ if(yych <= '`') goto yy167;
+ if(yych <= 'f') goto yy174;
+ goto yy167;
+ }
+yy172: ++YYCURSOR;
+ goto yy173;
yy173:
-#line 680
- { char ch = *( YYCURSOR - 1 );
+#line 693 "token.re"
+{ char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto DoubleQuote2;
}
+#line 1362 "<stdout>"
yy174: 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 yy175;
- default: goto yy167;
- }
-yy175: yych = *++YYCURSOR;
+ if(yych <= '@'){
+ if(yych <= '/') goto yy167;
+ if(yych >= ':') goto yy167;
+ goto yy175;
+ } else {
+ if(yych <= 'F') goto yy175;
+ if(yych <= '`') goto yy167;
+ if(yych >= 'g') goto yy167;
+ goto yy175;
+ }
+yy175: ++YYCURSOR;
+ goto yy176;
yy176:
-#line 685
- { long ch;
+#line 698 "token.re"
+{ long ch;
char *chr_text = syck_strndup( YYTOKEN, 4 );
chr_text[0] = '0';
ch = strtol( chr_text, NULL, 16 );
@@ -1902,24 +1703,22 @@ yy176:
QUOTECAT(qstr, qcapa, qidx, ch);
goto DoubleQuote2;
}
+#line 1386 "<stdout>"
yy177: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy178: switch(yych){
- case '\n': case ' ': goto yy177;
- case '\r': goto yy179;
- default: goto yy157;
- }
+ goto yy178;
+yy178: if(yybm[0+yych] & 128) goto yy177;
+ if(yych != '\r') goto yy157;
+ goto yy179;
yy179: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy177;
- default: goto yy167;
- }
+ if(yych == '\n') goto yy177;
+ goto yy167;
}
-#line 719
+#line 732 "token.re"
}
@@ -1932,30 +1731,77 @@ TransferMethod:
TransferMethod2:
YYTOKTMP = YYCURSOR;
+
+#line 1404 "<stdout>"
{
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,
+ 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 yy180;
yy181: ++YYCURSOR;
yy180:
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy182;
- case '\n': goto yy183;
- case '\r': goto yy186;
- case ' ': goto yy185;
- case '\\': goto yy188;
- default: goto yy189;
+ if(yych <= '\r'){
+ if(yych <= '\t'){
+ if(yych >= '\001') goto yy189;
+ goto yy182;
+ } else {
+ if(yych <= '\n') goto yy183;
+ if(yych <= '\f') goto yy189;
+ goto yy186;
+ }
+ } else {
+ if(yych <= ' '){
+ if(yych <= '\037') goto yy189;
+ goto yy185;
+ } else {
+ if(yych == '\\') goto yy188;
+ goto yy189;
+ }
}
yy182: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy187;
}
-yy183: yych = *++YYCURSOR;
+yy183: ++YYCURSOR;
+ goto yy184;
yy184:
-#line 733
- { SyckLevel *lvl;
+#line 746 "token.re"
+{ SyckLevel *lvl;
YYCURSOR = YYTOKTMP;
if ( YYCURSOR == YYTOKEN + 1 )
{
@@ -2004,88 +1850,96 @@ yy184:
return YAML_TRANSFER;
}
+#line 1522 "<stdout>"
yy185: yych = *++YYCURSOR;
goto yy198;
-yy186: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy196;
- default: goto yy187;
- }
+yy186: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy196;
+ goto yy187;
yy187:
-#line 800
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 813 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto TransferMethod2;
}
+#line 1533 "<stdout>"
yy188: 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 yy191;
- case 'x': goto yy190;
- default: goto yy187;
+ if(yych <= 'f'){
+ if(yych <= '['){
+ if(yych <= '"'){
+ if(yych <= '!') goto yy187;
+ goto yy191;
+ } else {
+ if(yych == '0') goto yy191;
+ goto yy187;
+ }
+ } else {
+ if(yych <= '`'){
+ if(yych <= '\\') goto yy191;
+ goto yy187;
+ } else {
+ if(yych <= 'b') goto yy191;
+ if(yych <= 'd') goto yy187;
+ goto yy191;
+ }
+ }
+ } else {
+ if(yych <= 's'){
+ if(yych <= 'n'){
+ if(yych <= 'm') goto yy187;
+ goto yy191;
+ } else {
+ if(yych == 'r') goto yy191;
+ goto yy187;
+ }
+ } else {
+ if(yych <= 'v'){
+ if(yych == 'u') goto yy187;
+ goto yy191;
+ } else {
+ if(yych == 'x') goto yy190;
+ goto yy187;
+ }
+ }
}
yy189: yych = *++YYCURSOR;
goto yy187;
yy190: 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 yy193;
- default: goto yy182;
- }
-yy191: yych = *++YYCURSOR;
+ if(yych <= '@'){
+ if(yych <= '/') goto yy182;
+ if(yych <= '9') goto yy193;
+ goto yy182;
+ } else {
+ if(yych <= 'F') goto yy193;
+ if(yych <= '`') goto yy182;
+ if(yych <= 'f') goto yy193;
+ goto yy182;
+ }
+yy191: ++YYCURSOR;
+ goto yy192;
yy192:
-#line 786
- { char ch = *( YYCURSOR - 1 );
+#line 799 "token.re"
+{ char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto TransferMethod2;
}
+#line 1595 "<stdout>"
yy193: 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 yy194;
- default: goto yy182;
- }
-yy194: yych = *++YYCURSOR;
+ if(yych <= '@'){
+ if(yych <= '/') goto yy182;
+ if(yych >= ':') goto yy182;
+ goto yy194;
+ } else {
+ if(yych <= 'F') goto yy194;
+ if(yych <= '`') goto yy182;
+ if(yych >= 'g') goto yy182;
+ goto yy194;
+ }
+yy194: ++YYCURSOR;
+ goto yy195;
yy195:
-#line 791
- { long ch;
+#line 804 "token.re"
+{ long ch;
char *chr_text = syck_strndup( YYTOKTMP, 4 );
chr_text[0] = '0';
ch = strtol( chr_text, NULL, 16 );
@@ -2093,17 +1947,17 @@ yy195:
QUOTECAT(qstr, qcapa, qidx, ch);
goto TransferMethod2;
}
+#line 1619 "<stdout>"
yy196: yych = *++YYCURSOR;
goto yy184;
yy197: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy198: switch(yych){
- case ' ': goto yy197;
- default: goto yy184;
- }
+ goto yy198;
+yy198: if(yybm[0+yych] & 128) goto yy197;
+ goto yy184;
}
-#line 805
+#line 818 "token.re"
}
@@ -2149,28 +2003,74 @@ ScalarBlock:
ScalarBlock2:
YYTOKEN = YYCURSOR;
+
+#line 1632 "<stdout>"
{
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,
+ 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 yy199;
yy200: ++YYCURSOR;
yy199:
if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy207;
- case '\n': goto yy201;
- case '\r': goto yy203;
- case '#': goto yy205;
- case '-': goto yy209;
- default: goto yy210;
+ if(yych <= '\r'){
+ if(yych <= '\t'){
+ if(yych <= '\000') goto yy207;
+ goto yy210;
+ } else {
+ if(yych <= '\n') goto yy201;
+ if(yych <= '\f') goto yy210;
+ goto yy203;
+ }
+ } else {
+ if(yych <= '#'){
+ if(yych <= '"') goto yy210;
+ goto yy205;
+ } else {
+ if(yych == '-') goto yy209;
+ goto yy210;
+ }
}
yy201: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy220;
yy202:
-#line 852
- { char *pacer;
+#line 865 "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 );
@@ -2202,8 +2102,12 @@ yy202:
pacer = YYTOKEN;
while ( pacer < YYCURSOR )
{
- if ( is_newline( pacer++ ) )
+ int nl_len = 0;
+ if ( nl_len = newline_len( pacer++ ) )
+ {
nl_count++;
+ pacer += nl_len - 1;
+ }
}
if ( fold_nl == 1 || nl_begin == 1 )
@@ -2235,20 +2139,21 @@ yy202:
}
goto ScalarBlock2;
}
-yy203: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy219;
- default: goto yy204;
- }
+#line 1767 "<stdout>"
+yy203: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '\n') goto yy219;
+ goto yy204;
yy204:
-#line 957
- { QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
+#line 974 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
goto ScalarBlock2;
}
-yy205: yych = *++YYCURSOR;
+#line 1776 "<stdout>"
+yy205: ++YYCURSOR;
+ goto yy206;
yy206:
-#line 919
- { lvl = CURRENT_LEVEL();
+#line 936 "token.re"
+{ lvl = CURRENT_LEVEL();
if ( lvl->status != syck_lvl_block )
{
eat_comments( parser );
@@ -2260,42 +2165,40 @@ yy206:
}
goto ScalarBlock2;
}
-yy207: yych = *++YYCURSOR;
+#line 1793 "<stdout>"
+yy207: ++YYCURSOR;
+ goto yy208;
yy208:
-#line 933
- { YYCURSOR--;
+#line 950 "token.re"
+{ YYCURSOR--;
POP_LEVEL();
RETURN_YAML_BLOCK();
}
+#line 1802 "<stdout>"
yy209: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case '-': goto yy211;
- default: goto yy204;
- }
+ if(yych == '-') goto yy211;
+ goto yy204;
yy210: yych = *++YYCURSOR;
goto yy204;
yy211: yych = *++YYCURSOR;
- switch(yych){
- case '-': goto yy213;
- default: goto yy212;
- }
+ if(yych == '-') goto yy213;
+ goto yy212;
yy212: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy202;
case 1: goto yy204;
}
yy213: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy214;
- case '\r': goto yy218;
- case ' ': goto yy216;
- default: goto yy212;
- }
-yy214: yych = *++YYCURSOR;
+ if(yybm[0+yych] & 64) goto yy216;
+ if(yych == '\n') goto yy214;
+ if(yych == '\r') goto yy218;
+ goto yy212;
+yy214: ++YYCURSOR;
+ goto yy215;
yy215:
-#line 938
- { if ( YYTOKEN == YYLINEPTR )
+#line 955 "token.re"
+{ if ( YYTOKEN == YYLINEPTR )
{
if ( blockType == BLOCK_FOLD && qidx > 0 )
{
@@ -2313,36 +2216,31 @@ yy215:
goto ScalarBlock2;
}
}
+#line 1844 "<stdout>"
yy216: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy217: switch(yych){
- case ' ': goto yy216;
- default: goto yy215;
- }
+ goto yy217;
+yy217: if(yybm[0+yych] & 64) goto yy216;
+ goto yy215;
yy218: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy214;
- default: goto yy212;
- }
+ if(yych == '\n') goto yy214;
+ goto yy212;
yy219: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy220: switch(yych){
- case '\n': case ' ': goto yy219;
- case '\r': goto yy221;
- default: goto yy202;
- }
+ goto yy220;
+yy220: if(yybm[0+yych] & 128) goto yy219;
+ if(yych != '\r') goto yy202;
+ goto yy221;
yy221: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy219;
- default: goto yy212;
- }
+ if(yych == '\n') goto yy219;
+ goto yy212;
}
-#line 962
+#line 979 "token.re"
}
@@ -2357,62 +2255,99 @@ Comment:
{
YYTOKEN = YYCURSOR;
+
+#line 1872 "<stdout>"
{
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 yy222;
yy223: ++YYCURSOR;
yy222:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- switch(yych){
- case '\000': goto yy224;
- case '\n': goto yy226;
- case '\r': goto yy227;
- default: goto yy229;
- }
-yy224: yych = *++YYCURSOR;
+ if(yych <= '\n'){
+ if(yych <= '\000') goto yy224;
+ if(yych <= '\t') goto yy229;
+ goto yy226;
+ } else {
+ if(yych == '\r') goto yy227;
+ goto yy229;
+ }
+yy224: ++YYCURSOR;
+ goto yy225;
yy225:
-#line 978
- { YYCURSOR = YYTOKEN;
+#line 995 "token.re"
+{ YYCURSOR = YYTOKEN;
return;
}
+#line 1930 "<stdout>"
yy226: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy231;
-yy227: yych = *++YYCURSOR;
- switch(yych){
- case '\n': goto yy230;
- default: goto yy228;
- }
+yy227: ++YYCURSOR;
+ if(yybm[0+(yych = *YYCURSOR)] & 128) yych = *YYCURSOR;
+ goto yy230;
+ goto yy228;
yy228:
-#line 982
- { goto Comment;
+#line 999 "token.re"
+{ goto Comment;
}
+#line 1941 "<stdout>"
yy229: yych = *++YYCURSOR;
goto yy228;
yy230: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy231: switch(yych){
- case '\n': goto yy230;
- case '\r': goto yy232;
- default: goto yy225;
- }
+ goto yy231;
+yy231: if(yybm[0+yych] & 128) goto yy230;
+ if(yych != '\r') goto yy225;
+ goto yy232;
yy232: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch(yych){
- case '\n': goto yy230;
- default: goto yy233;
- }
+ if(yybm[0+yych] & 128) goto yy230;
+ goto yy233;
yy233: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy225;
}
}
-#line 985
+#line 1002 "token.re"
}
@@ -2440,11 +2375,17 @@ escape_seq( char 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 1;
+ return 2;
return 0;
}