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/implicit.c
why 42fd4ff686 * ext/ruby/ext/syck/rubyext.c, lib/implicit.re: timestamp repairs to
timezone and milliseconds.

* lib/syck.c (syck_parser_reset_levels): duplicate string literal to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 07:38:10 +00:00

1446 lines
32 KiB
C

/* Generated by re2c 0.5 on Wed May 14 17:12:22 2003 */
#line 1 "implicit.re"
/*
* implicit.re
*
* $Author$
* $Date$
*
* Copyright (C) 2003 why the lucky stiff
*/
#include "syck.h"
#define YYCTYPE char
#define YYCURSOR cursor
#define YYMARKER marker
#define YYLIMIT limit
#define YYFILL(n)
void
try_tag_implicit( SyckNode *n, int taguri )
{
char *tid;
switch ( n->kind )
{
case syck_str_kind:
tid = syck_match_implicit( n->data.str->ptr, n->data.str->len );
break;
case syck_seq_kind:
tid = "seq";
break;
case syck_map_kind:
tid = "map";
break;
}
if ( taguri == 1 )
{
n->type_id = syck_taguri( YAML_DOMAIN, tid, strlen( tid ) );
} else {
n->type_id = syck_strndup( tid, strlen( tid ) );
}
}
char *syck_match_implicit( char *str, size_t len )
{
char *cursor, *limit, *marker;
cursor = str;
limit = str + len;
{
YYCTYPE yych;
unsigned int yyaccept;
static unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 193, 0, 4, 0,
215, 231, 231, 231, 231, 231, 231, 231,
167, 167, 0, 0, 0, 0, 0, 0,
0, 128, 128, 128, 128, 128, 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, 128, 128, 128, 128, 128, 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,
};
goto yy0;
yy1: ++YYCURSOR;
yy0:
if((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
yych = *YYCURSOR;
if(yych <= 'S'){
if(yych <= '/'){
if(yych <= '+'){
if(yych <= '\000') goto yy2;
if(yych <= '*') goto yy20;
goto yy15;
} else {
if(yych <= ',') goto yy20;
if(yych <= '-') goto yy16;
if(yych <= '.') goto yy19;
goto yy20;
}
} else {
if(yych <= 'F'){
if(yych <= '0') goto yy17;
if(yych <= '9') goto yy18;
if(yych <= 'E') goto yy20;
goto yy14;
} else {
if(yych <= 'M') goto yy20;
if(yych <= 'N') goto yy6;
if(yych <= 'O') goto yy12;
goto yy20;
}
}
} else {
if(yych <= 'n'){
if(yych <= 'Y'){
if(yych <= 'T') goto yy8;
if(yych <= 'X') goto yy20;
goto yy10;
} else {
if(yych == 'f') goto yy13;
if(yych <= 'm') goto yy20;
goto yy5;
}
} else {
if(yych <= 'x'){
if(yych <= 'o') goto yy11;
if(yych == 't') goto yy7;
goto yy20;
} else {
if(yych <= 'y') goto yy9;
if(yych == '~') goto yy3;
goto yy20;
}
}
}
yy2: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy4;
}
yy3: yych = *++YYCURSOR;
if(yych <= '\000') goto yy181;
yy4:
#line 112
{ return "str"; }
yy5: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'o') goto yy154;
if(yych == 'u') goto yy184;
goto yy4;
yy6: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= 'U'){
if(yych == 'O') goto yy154;
if(yych <= 'T') goto yy4;
goto yy177;
} else {
if(yych <= 'o'){
if(yych <= 'n') goto yy4;
goto yy154;
} else {
if(yych == 'u') goto yy178;
goto yy4;
}
}
yy7: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'r') goto yy175;
goto yy4;
yy8: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'R') goto yy171;
if(yych == 'r') goto yy172;
goto yy4;
yy9: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'e') goto yy170;
goto yy4;
yy10: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'E') goto yy168;
if(yych == 'e') goto yy169;
goto yy4;
yy11: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'f') goto yy167;
if(yych == 'n') goto yy164;
goto yy4;
yy12: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= 'N'){
if(yych == 'F') goto yy162;
if(yych <= 'M') goto yy4;
goto yy164;
} else {
if(yych <= 'f'){
if(yych <= 'e') goto yy4;
goto yy163;
} else {
if(yych == 'n') goto yy164;
goto yy4;
}
}
yy13: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'a') goto yy159;
goto yy4;
yy14: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'A') goto yy150;
if(yych == 'a') goto yy151;
goto yy4;
yy15: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/'){
if(yych == '.') goto yy149;
goto yy4;
} else {
if(yych <= '0') goto yy140;
if(yych <= '9') goto yy38;
goto yy4;
}
yy16: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/'){
if(yych == '.') goto yy139;
goto yy4;
} else {
if(yych <= '0') goto yy140;
if(yych <= '9') goto yy38;
goto yy4;
}
yy17: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '.'){
if(yych <= '+'){
if(yych <= '\000') goto yy42;
goto yy4;
} else {
if(yych <= ',') goto yy124;
if(yych <= '-') goto yy4;
goto yy40;
}
} else {
if(yych <= '9'){
if(yych <= '/') goto yy4;
if(yych <= '7') goto yy122;
goto yy123;
} else {
if(yych == 'x') goto yy126;
goto yy4;
}
}
yy18: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '-'){
if(yych <= '\000') goto yy42;
if(yych == ',') goto yy38;
goto yy4;
} else {
if(yych <= '.') goto yy40;
if(yych <= '/') goto yy4;
if(yych <= '9') goto yy37;
goto yy4;
}
yy19: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= 'N'){
if(yych == 'I') goto yy24;
if(yych <= 'M') goto yy4;
goto yy22;
} else {
if(yych <= 'i'){
if(yych <= 'h') goto yy4;
goto yy23;
} else {
if(yych == 'n') goto yy21;
goto yy4;
}
}
yy20: yych = *++YYCURSOR;
goto yy4;
yy21: yych = *++YYCURSOR;
if(yych == 'a') goto yy36;
goto yy2;
yy22: yych = *++YYCURSOR;
if(yych == 'A') goto yy31;
if(yych == 'a') goto yy32;
goto yy2;
yy23: yych = *++YYCURSOR;
if(yych == 'n') goto yy30;
goto yy2;
yy24: yych = *++YYCURSOR;
if(yych == 'N') goto yy25;
if(yych == 'n') goto yy26;
goto yy2;
yy25: yych = *++YYCURSOR;
if(yych == 'F') goto yy27;
goto yy2;
yy26: yych = *++YYCURSOR;
if(yych != 'f') goto yy2;
yy27: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy28: yych = *++YYCURSOR;
yy29:
#line 98
{ return "float#inf"; }
yy30: yych = *++YYCURSOR;
if(yych == 'f') goto yy27;
goto yy2;
yy31: yych = *++YYCURSOR;
if(yych == 'N') goto yy33;
goto yy2;
yy32: yych = *++YYCURSOR;
if(yych != 'N') goto yy2;
yy33: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy34: yych = *++YYCURSOR;
yy35:
#line 102
{ return "float#nan"; }
yy36: yych = *++YYCURSOR;
if(yych == 'n') goto yy33;
goto yy2;
yy37: yych = *++YYCURSOR;
if(yych <= '/') goto yy39;
if(yych <= '9') goto yy56;
goto yy39;
yy38: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy39: if(yybm[0+yych] & 1) goto yy38;
if(yych <= '\000') goto yy42;
if(yych != '.') goto yy2;
yy40: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy41: if(yybm[0+yych] & 2) goto yy40;
if(yych <= '.'){
if(yych <= '+'){
if(yych <= '\000') goto yy46;
goto yy2;
} else {
if(yych <= ',') goto yy44;
if(yych <= '-') goto yy2;
goto yy48;
}
} else {
if(yych <= 'E'){
if(yych <= 'D') goto yy2;
goto yy50;
} else {
if(yych == 'e') goto yy50;
goto yy2;
}
}
yy42: yych = *++YYCURSOR;
yy43:
#line 92
{ return "int"; }
yy44: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy45: if(yych <= ','){
if(yych <= '\000') goto yy46;
if(yych <= '+') goto yy2;
goto yy44;
} else {
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy44;
goto yy2;
}
yy46: yych = *++YYCURSOR;
yy47:
#line 94
{ return "float#fix"; }
yy48: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy49: if(yybm[0+yych] & 4) goto yy48;
if(yych == 'E') goto yy50;
if(yych != 'e') goto yy2;
yy50: yych = *++YYCURSOR;
if(yych == '+') goto yy51;
if(yych != '-') goto yy2;
yy51: yych = *++YYCURSOR;
if(yych <= '\000') goto yy2;
goto yy53;
yy52: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy53: if(yych <= '\000') goto yy54;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy52;
goto yy2;
yy54: yych = *++YYCURSOR;
yy55:
#line 96
{ return "float#exp"; }
yy56: yych = *++YYCURSOR;
if(yych <= '/') goto yy39;
if(yych >= ':') goto yy39;
yy57: yych = *++YYCURSOR;
if(yych != '-') goto yy39;
yy58: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy59: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy60: yych = *++YYCURSOR;
if(yych != '-') goto yy2;
yy61: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy62: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy63: yych = *++YYCURSOR;
if(yych <= 'S'){
if(yych <= '\000') goto yy64;
if(yych <= '/') goto yy69;
if(yych <= '9') goto yy2;
goto yy69;
} else {
if(yych <= 'T') goto yy66;
if(yych == 't') goto yy67;
goto yy69;
}
yy64: yych = *++YYCURSOR;
yy65:
#line 104
{ return "timestamp#ymd"; }
yy66: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy108;
goto yy2;
yy67: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy90;
goto yy2;
yy68: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy69: if(yybm[0+yych] & 8) goto yy68;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy70: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy71: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy72: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy73: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy74: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy75: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy76: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy77: yych = *++YYCURSOR;
if(yych <= '\037'){
if(yych == '\t') goto yy80;
goto yy2;
} else {
if(yych <= ' ') goto yy80;
if(yych != '.') goto yy2;
}
yy78: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy79: if(yych <= '\037'){
if(yych != '\t') goto yy2;
} else {
if(yych <= ' ') goto yy80;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy78;
goto yy2;
}
yy80: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy81: if(yych <= '*'){
if(yych <= '\t'){
if(yych <= '\b') goto yy2;
goto yy80;
} else {
if(yych == ' ') goto yy80;
goto yy2;
}
} else {
if(yych <= '-'){
if(yych == ',') goto yy2;
goto yy83;
} else {
if(yych != 'Z') goto yy2;
}
}
yy82: yych = *++YYCURSOR;
if(yych <= '\000') goto yy87;
goto yy2;
yy83: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy84: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy85: yych = *++YYCURSOR;
if(yych <= '\000') goto yy87;
if(yych != ':') goto yy2;
yy86: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy89;
goto yy2;
yy87: yych = *++YYCURSOR;
yy88:
#line 108
{ return "timestamp#spaced"; }
yy89: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy82;
goto yy2;
yy90: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy91: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy92: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy93: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy94: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy95: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy96: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy97: yych = *++YYCURSOR;
if(yych == '.') goto yy98;
if(yych <= '/') goto yy99;
if(yych <= '9') goto yy2;
goto yy99;
yy98: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy99: if(yych <= '-'){
if(yych == '+') goto yy101;
if(yych <= ',') goto yy2;
goto yy101;
} else {
if(yych <= '9'){
if(yych <= '/') goto yy2;
goto yy98;
} else {
if(yych != 'Z') goto yy2;
}
}
yy100: yych = *++YYCURSOR;
if(yych <= '\000') goto yy105;
goto yy2;
yy101: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy102: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy103: yych = *++YYCURSOR;
if(yych <= '\000') goto yy105;
if(yych != ':') goto yy2;
yy104: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy107;
goto yy2;
yy105: yych = *++YYCURSOR;
yy106:
#line 106
{ return "timestamp#iso8601"; }
yy107: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy100;
goto yy2;
yy108: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy109: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy110: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy111: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy112: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy113: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy114: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy115: yych = *++YYCURSOR;
if(yych <= '/'){
if(yych != '.') goto yy117;
} else {
if(yych <= '9') goto yy2;
if(yych == 'Z') goto yy118;
goto yy117;
}
yy116: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
yy117: if(yybm[0+yych] & 16) goto yy116;
if(yych <= '-'){
if(yych == '+') goto yy101;
if(yych <= ',') goto yy2;
goto yy101;
} else {
if(yych <= '9'){
if(yych <= '0') goto yy2;
goto yy120;
} else {
if(yych == 'Z') goto yy100;
goto yy2;
}
}
yy118: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy119: yych = *++YYCURSOR;
goto yy106;
yy120: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
yy121: if(yybm[0+yych] & 16) goto yy116;
if(yych <= '-'){
if(yych == '+') goto yy101;
if(yych <= ',') goto yy2;
goto yy101;
} else {
if(yych <= '9'){
if(yych <= '0') goto yy2;
goto yy120;
} else {
if(yych == 'Z') goto yy118;
goto yy2;
}
}
yy122: yych = *++YYCURSOR;
if(yych <= '/') goto yy125;
if(yych <= '7') goto yy137;
if(yych <= '9') goto yy135;
goto yy125;
yy123: yych = *++YYCURSOR;
if(yych <= '/') goto yy134;
if(yych <= '9') goto yy135;
goto yy134;
yy124: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy125: if(yybm[0+yych] & 64) goto yy124;
if(yych <= '.'){
if(yych <= '\000') goto yy131;
if(yych <= '-') goto yy2;
goto yy40;
} else {
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy133;
goto yy2;
}
yy126: yych = *++YYCURSOR;
if(yych <= '\000') goto yy2;
goto yy128;
yy127: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy128: if(yybm[0+yych] & 128) goto yy127;
if(yych >= '\001') goto yy2;
yy129: yych = *++YYCURSOR;
yy130:
#line 88
{ return "int#hex"; }
yy131: yych = *++YYCURSOR;
yy132:
#line 90
{ return "int#oct"; }
yy133: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy134: if(yych <= '-'){
if(yych == ',') goto yy133;
goto yy2;
} else {
if(yych <= '.') goto yy40;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy133;
goto yy2;
}
yy135: yych = *++YYCURSOR;
if(yych <= '/') goto yy134;
if(yych >= ':') goto yy134;
yy136: yych = *++YYCURSOR;
if(yych == '-') goto yy58;
goto yy134;
yy137: yych = *++YYCURSOR;
if(yych <= '/') goto yy125;
if(yych <= '7') goto yy138;
if(yych <= '9') goto yy136;
goto yy125;
yy138: yych = *++YYCURSOR;
if(yych == '-') goto yy58;
goto yy125;
yy139: yych = *++YYCURSOR;
if(yych == 'I') goto yy142;
if(yych == 'i') goto yy141;
goto yy2;
yy140: yych = *++YYCURSOR;
if(yych <= '\000') goto yy42;
if(yych == 'x') goto yy126;
goto yy125;
yy141: yych = *++YYCURSOR;
if(yych == 'n') goto yy148;
goto yy2;
yy142: yych = *++YYCURSOR;
if(yych == 'N') goto yy143;
if(yych == 'n') goto yy144;
goto yy2;
yy143: yych = *++YYCURSOR;
if(yych == 'F') goto yy145;
goto yy2;
yy144: yych = *++YYCURSOR;
if(yych != 'f') goto yy2;
yy145: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy146: yych = *++YYCURSOR;
yy147:
#line 100
{ return "float#neginf"; }
yy148: yych = *++YYCURSOR;
if(yych == 'f') goto yy145;
goto yy2;
yy149: yych = *++YYCURSOR;
if(yych == 'I') goto yy24;
if(yych == 'i') goto yy23;
goto yy2;
yy150: yych = *++YYCURSOR;
if(yych == 'L') goto yy157;
goto yy2;
yy151: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy152: yych = *++YYCURSOR;
if(yych != 's') goto yy2;
yy153: yych = *++YYCURSOR;
if(yych != 'e') goto yy2;
yy154: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy155: yych = *++YYCURSOR;
yy156:
#line 86
{ return "bool#no"; }
yy157: yych = *++YYCURSOR;
if(yych != 'S') goto yy2;
yy158: yych = *++YYCURSOR;
if(yych == 'E') goto yy154;
goto yy2;
yy159: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy160: yych = *++YYCURSOR;
if(yych != 's') goto yy2;
yy161: yych = *++YYCURSOR;
if(yych == 'e') goto yy154;
goto yy2;
yy162: yych = *++YYCURSOR;
if(yych == 'F') goto yy154;
goto yy2;
yy163: yych = *++YYCURSOR;
if(yych == 'f') goto yy154;
goto yy2;
yy164: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy165: yych = *++YYCURSOR;
yy166:
#line 84
{ return "bool#yes"; }
yy167: yych = *++YYCURSOR;
if(yych == 'f') goto yy154;
goto yy2;
yy168: yych = *++YYCURSOR;
if(yych == 'S') goto yy164;
goto yy2;
yy169: yych = *++YYCURSOR;
if(yych == 's') goto yy164;
goto yy2;
yy170: yych = *++YYCURSOR;
if(yych == 's') goto yy164;
goto yy2;
yy171: yych = *++YYCURSOR;
if(yych == 'U') goto yy174;
goto yy2;
yy172: yych = *++YYCURSOR;
if(yych != 'u') goto yy2;
yy173: yych = *++YYCURSOR;
if(yych == 'e') goto yy164;
goto yy2;
yy174: yych = *++YYCURSOR;
if(yych == 'E') goto yy164;
goto yy2;
yy175: yych = *++YYCURSOR;
if(yych != 'u') goto yy2;
yy176: yych = *++YYCURSOR;
if(yych == 'e') goto yy164;
goto yy2;
yy177: yych = *++YYCURSOR;
if(yych == 'L') goto yy183;
goto yy2;
yy178: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy179: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy180: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy181: yych = *++YYCURSOR;
yy182:
#line 82
{ return "null"; }
yy183: yych = *++YYCURSOR;
if(yych == 'L') goto yy180;
goto yy2;
yy184: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy185: yych = *++YYCURSOR;
if(yych == 'l') goto yy180;
goto yy2;
}
#line 114
}
char *
syck_type_id_to_uri( char *type_id )
{
char *cursor, *limit, *marker;
cursor = type_id;
limit = type_id + strlen( type_id );
{
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 64, 0, 0,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 0, 0, 0,
0, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 0, 0, 0, 0, 128,
0, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 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,
};
goto yy186;
yy187: ++YYCURSOR;
yy186:
if((YYLIMIT - YYCURSOR) < 20) YYFILL(20);
yych = *YYCURSOR;
if(yych <= '^'){
if(yych <= '/'){
if(yych <= '\000') goto yy188;
if(yych == '!') goto yy192;
goto yy195;
} else {
if(yych <= '9') goto yy194;
if(yych <= '@') goto yy195;
if(yych <= 'Z') goto yy194;
goto yy195;
}
} else {
if(yych <= 't'){
if(yych == '`') goto yy195;
if(yych <= 's') goto yy194;
goto yy189;
} else {
if(yych == 'x') goto yy191;
if(yych <= 'z') goto yy194;
goto yy195;
}
}
yy188: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy190;
}
yy189: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy196;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy190;
if(yych <= ',') goto yy200;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych <= '9') goto yy198;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy198;
if(yych >= '_') goto yy198;
} else {
if(yych <= '`') goto yy190;
if(yych <= 'a') goto yy229;
if(yych <= 'z') goto yy198;
}
}
yy190:
#line 166
{ return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); }
yy191: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy196;
if(yych <= 'Z'){
if(yych <= '.'){
if(yych <= '+') goto yy190;
if(yych <= ',') goto yy200;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych <= '9') goto yy198;
if(yych <= '@') goto yy190;
goto yy198;
}
} else {
if(yych <= '`'){
if(yych == '_') goto yy198;
goto yy190;
} else {
if(yych == 'p') goto yy220;
if(yych <= 'z') goto yy198;
goto yy190;
}
}
yy192: yych = *++YYCURSOR;
yy193:
#line 140
{ return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); }
yy194: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy196;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy190;
if(yych <= ',') goto yy200;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych <= '9') goto yy198;
goto yy190;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy198;
if(yych <= '^') goto yy190;
goto yy198;
} else {
if(yych <= '`') goto yy190;
if(yych <= 'z') goto yy198;
goto yy190;
}
}
yy195: yych = *++YYCURSOR;
goto yy190;
yy196: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy197: if(yybm[0+yych] & 64) goto yy196;
if(yych <= 'Z'){
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy198;
if(yych <= '@') goto yy188;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy188;
} else {
if(yych <= '`') goto yy188;
if(yych >= '{') goto yy188;
}
}
yy198: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy199: if(yybm[0+yych] & 64) goto yy196;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy188;
if(yych >= '-') goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych <= '9') goto yy198;
goto yy188;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy198;
if(yych <= '^') goto yy188;
goto yy198;
} else {
if(yych <= '`') goto yy188;
if(yych <= 'z') goto yy198;
goto yy188;
}
}
yy200: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy208;
goto yy188;
yy201: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z'){
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy204;
if(yych <= '@') goto yy188;
goto yy204;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy188;
goto yy204;
} else {
if(yych <= '`') goto yy188;
if(yych <= 'z') goto yy204;
goto yy188;
}
}
yy202: yych = *++YYCURSOR;
yy203:
#line 142
{ char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 );
char *uri;
domain[0] = '\0';
strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 );
strcat( domain, "." );
strcat( domain, YAML_DOMAIN );
uri = syck_taguri( domain, YYCURSOR, YYLIMIT - YYCURSOR );
S_FREE( domain );
return uri;
}
yy204: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy205: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy188;
if(yych <= ',') goto yy200;
} else {
if(yych <= '.') goto yy201;
if(yych <= '/') goto yy202;
goto yy204;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy188;
if(yych <= 'Z') goto yy204;
goto yy188;
} else {
if(yych == '`') goto yy188;
if(yych <= 'z') goto yy204;
goto yy188;
}
}
yy206: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy207: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy188;
goto yy206;
} else {
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy204;
goto yy188;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy204;
if(yych <= '^') goto yy188;
goto yy204;
} else {
if(yych <= '`') goto yy188;
if(yych <= 'z') goto yy204;
goto yy188;
}
}
yy208: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy209: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy210: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy211: yych = *++YYCURSOR;
if(yych == '-') goto yy212;
if(yych == '/') goto yy213;
goto yy188;
yy212: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy215;
goto yy188;
yy213: yych = *++YYCURSOR;
yy214:
#line 155
{ char *domain = S_ALLOC_N( char, YYCURSOR - type_id );
char *uri;
domain[0] = '\0';
strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 );
uri = syck_taguri( domain, YYCURSOR, YYLIMIT - YYCURSOR );
S_FREE( domain );
return uri;
}
yy215: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy216: yych = *++YYCURSOR;
if(yych == '-') goto yy217;
if(yych == '/') goto yy213;
goto yy188;
yy217: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy218: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy219: yych = *++YYCURSOR;
if(yych == '/') goto yy213;
goto yy188;
yy220: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'r') goto yy197;
}
yy221: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'i') goto yy197;
}
yy222: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'v') goto yy197;
}
yy223: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'a') goto yy197;
}
yy224: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 't') goto yy197;
}
yy225: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'e') goto yy197;
}
yy226: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != ':') goto yy197;
}
yy227: yych = *++YYCURSOR;
yy228:
#line 138
{ return type_id; }
yy229: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'g') goto yy197;
}
yy230: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'u') goto yy197;
}
yy231: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'r') goto yy197;
}
yy232: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != 'i') goto yy197;
}
yy233: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy200;
if(yych <= '-') goto yy197;
goto yy201;
} else {
if(yych <= '/') goto yy202;
if(yych != ':') goto yy197;
}
yy234: yych = *++YYCURSOR;
if(yych <= '+') goto yy236;
if(yych <= '.') goto yy188;
goto yy236;
yy235: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy236: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy188;
if(yych <= ',') goto yy239;
} else {
if(yych <= '.') goto yy240;
if(yych <= '/') goto yy188;
goto yy235;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy188;
if(yych <= 'Z') goto yy235;
goto yy188;
} else {
if(yych == '`') goto yy188;
if(yych <= 'z') goto yy235;
goto yy188;
}
}
yy237: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy238: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy188;
goto yy237;
} else {
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy235;
goto yy188;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy235;
if(yych <= '^') goto yy188;
goto yy235;
} else {
if(yych <= '`') goto yy188;
if(yych <= 'z') goto yy235;
goto yy188;
}
}
yy239: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy245;
goto yy188;
yy240: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z'){
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy241;
if(yych <= '@') goto yy188;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy188;
} else {
if(yych <= '`') goto yy188;
if(yych >= '{') goto yy188;
}
}
yy241: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy242: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy188;
if(yych <= ',') goto yy239;
} else {
if(yych <= '.') goto yy240;
if(yych <= '/') goto yy188;
goto yy241;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy188;
if(yych <= 'Z') goto yy241;
goto yy188;
} else {
if(yych == '`') goto yy188;
if(yych <= 'z') goto yy241;
goto yy188;
}
}
yy243: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy244: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy188;
goto yy243;
} else {
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy241;
goto yy188;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy241;
if(yych <= '^') goto yy188;
goto yy241;
} else {
if(yych <= '`') goto yy188;
if(yych <= 'z') goto yy241;
goto yy188;
}
}
yy245: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy246: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy247: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy248: yych = *++YYCURSOR;
if(yych == '-') goto yy249;
if(yych == ':') goto yy250;
goto yy188;
yy249: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych <= '9') goto yy252;
goto yy188;
yy250: yych = *++YYCURSOR;
yy251:
#line 136
{ return type_id; }
yy252: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy253: yych = *++YYCURSOR;
if(yych == '-') goto yy254;
if(yych == ':') goto yy250;
goto yy188;
yy254: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy255: yych = *++YYCURSOR;
if(yych <= '/') goto yy188;
if(yych >= ':') goto yy188;
yy256: yych = *++YYCURSOR;
if(yych == ':') goto yy250;
goto yy188;
}
#line 168
}