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 e44e2ef2e8 * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to native loading
* ext/syck/token.c: fix for transfer methods on same indentation as nested mapping

* lib/yaml/rubytypes.rb: all type names in lowercase


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-11 06:32:13 +00:00

1467 lines
33 KiB
C

/* Generated by re2c 0.5 on Sat May 10 19:43: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 yy185;
yy4:
#line 112
{ return "str"; }
yy5: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'o') goto yy158;
if(yych == 'u') goto yy188;
goto yy4;
yy6: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= 'U'){
if(yych == 'O') goto yy158;
if(yych <= 'T') goto yy4;
goto yy181;
} else {
if(yych <= 'o'){
if(yych <= 'n') goto yy4;
goto yy158;
} else {
if(yych == 'u') goto yy182;
goto yy4;
}
}
yy7: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'r') goto yy179;
goto yy4;
yy8: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'R') goto yy175;
if(yych == 'r') goto yy176;
goto yy4;
yy9: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'e') goto yy174;
goto yy4;
yy10: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'E') goto yy172;
if(yych == 'e') goto yy173;
goto yy4;
yy11: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'f') goto yy171;
if(yych == 'n') goto yy168;
goto yy4;
yy12: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= 'N'){
if(yych == 'F') goto yy166;
if(yych <= 'M') goto yy4;
goto yy168;
} else {
if(yych <= 'f'){
if(yych <= 'e') goto yy4;
goto yy167;
} else {
if(yych == 'n') goto yy168;
goto yy4;
}
}
yy13: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'a') goto yy163;
goto yy4;
yy14: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 'A') goto yy154;
if(yych == 'a') goto yy155;
goto yy4;
yy15: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/'){
if(yych == '.') goto yy153;
goto yy4;
} else {
if(yych <= '0') goto yy144;
if(yych <= '9') goto yy38;
goto yy4;
}
yy16: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/'){
if(yych == '.') goto yy143;
goto yy4;
} else {
if(yych <= '0') goto yy144;
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 yy128;
if(yych <= '-') goto yy4;
goto yy40;
}
} else {
if(yych <= '9'){
if(yych <= '/') goto yy4;
if(yych <= '7') goto yy126;
goto yy127;
} else {
if(yych == 'x') goto yy130;
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 yy112;
goto yy2;
yy67: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy92;
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(yybm[0+yych] & 16) goto yy78;
if(yych <= '0') goto yy2;
if(yych <= '9') goto yy90;
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: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy91: if(yybm[0+yych] & 16) goto yy78;
if(yych <= '\037'){
if(yych == '\t') goto yy80;
goto yy2;
} else {
if(yych <= ' ') goto yy80;
if(yych <= '0') goto yy2;
if(yych <= '9') goto yy90;
goto yy2;
}
yy92: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy93: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy94: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy95: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy96: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy97: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy98: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy99: yych = *++YYCURSOR;
if(yych <= '-'){
if(yych == '+') goto yy103;
if(yych <= ',') goto yy2;
goto yy103;
} else {
if(yych <= '.') goto yy100;
if(yych == 'Z') goto yy102;
goto yy2;
}
yy100: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy101: if(yych <= '/') goto yy2;
if(yych <= '0') goto yy100;
if(yych <= '9') goto yy110;
goto yy2;
yy102: yych = *++YYCURSOR;
if(yych <= '\000') goto yy107;
goto yy2;
yy103: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy104: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy105: yych = *++YYCURSOR;
if(yych <= '\000') goto yy107;
if(yych != ':') goto yy2;
yy106: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy109;
goto yy2;
yy107: yych = *++YYCURSOR;
yy108:
#line 106
{ return "timestamp#iso8601"; }
yy109: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy102;
goto yy2;
yy110: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
yy111: if(yych <= '/'){
if(yych <= '+'){
if(yych <= '*') goto yy2;
goto yy103;
} else {
if(yych == '-') goto yy103;
goto yy2;
}
} else {
if(yych <= '9'){
if(yych <= '0') goto yy100;
goto yy110;
} else {
if(yych == 'Z') goto yy102;
goto yy2;
}
}
yy112: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy113: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy114: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy115: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy116: yych = *++YYCURSOR;
if(yych != ':') goto yy2;
yy117: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy118: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
yy119: yych = *++YYCURSOR;
if(yych <= '-'){
if(yych == '+') goto yy103;
if(yych <= ',') goto yy2;
goto yy103;
} else {
if(yych <= '.') goto yy120;
if(yych == 'Z') goto yy122;
goto yy2;
}
yy120: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy121: if(yych <= '/') goto yy2;
if(yych <= '0') goto yy120;
if(yych <= '9') goto yy124;
goto yy2;
yy122: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy123: yych = *++YYCURSOR;
goto yy108;
yy124: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
yy125: if(yych <= '/'){
if(yych <= '+'){
if(yych <= '*') goto yy2;
goto yy103;
} else {
if(yych == '-') goto yy103;
goto yy2;
}
} else {
if(yych <= '9'){
if(yych <= '0') goto yy120;
goto yy124;
} else {
if(yych == 'Z') goto yy122;
goto yy2;
}
}
yy126: yych = *++YYCURSOR;
if(yych <= '/') goto yy129;
if(yych <= '7') goto yy141;
if(yych <= '9') goto yy139;
goto yy129;
yy127: yych = *++YYCURSOR;
if(yych <= '/') goto yy138;
if(yych <= '9') goto yy139;
goto yy138;
yy128: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy129: if(yybm[0+yych] & 64) goto yy128;
if(yych <= '.'){
if(yych <= '\000') goto yy135;
if(yych <= '-') goto yy2;
goto yy40;
} else {
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy137;
goto yy2;
}
yy130: yych = *++YYCURSOR;
if(yych <= '\000') goto yy2;
goto yy132;
yy131: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy132: if(yybm[0+yych] & 128) goto yy131;
if(yych >= '\001') goto yy2;
yy133: yych = *++YYCURSOR;
yy134:
#line 88
{ return "int#hex"; }
yy135: yych = *++YYCURSOR;
yy136:
#line 90
{ return "int#oct"; }
yy137: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy138: if(yych <= '-'){
if(yych == ',') goto yy137;
goto yy2;
} else {
if(yych <= '.') goto yy40;
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy137;
goto yy2;
}
yy139: yych = *++YYCURSOR;
if(yych <= '/') goto yy138;
if(yych >= ':') goto yy138;
yy140: yych = *++YYCURSOR;
if(yych == '-') goto yy58;
goto yy138;
yy141: yych = *++YYCURSOR;
if(yych <= '/') goto yy129;
if(yych <= '7') goto yy142;
if(yych <= '9') goto yy140;
goto yy129;
yy142: yych = *++YYCURSOR;
if(yych == '-') goto yy58;
goto yy129;
yy143: yych = *++YYCURSOR;
if(yych == 'I') goto yy146;
if(yych == 'i') goto yy145;
goto yy2;
yy144: yych = *++YYCURSOR;
if(yych <= '\000') goto yy42;
if(yych == 'x') goto yy130;
goto yy129;
yy145: yych = *++YYCURSOR;
if(yych == 'n') goto yy152;
goto yy2;
yy146: yych = *++YYCURSOR;
if(yych == 'N') goto yy147;
if(yych == 'n') goto yy148;
goto yy2;
yy147: yych = *++YYCURSOR;
if(yych == 'F') goto yy149;
goto yy2;
yy148: yych = *++YYCURSOR;
if(yych != 'f') goto yy2;
yy149: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy150: yych = *++YYCURSOR;
yy151:
#line 100
{ return "float#neginf"; }
yy152: yych = *++YYCURSOR;
if(yych == 'f') goto yy149;
goto yy2;
yy153: yych = *++YYCURSOR;
if(yych == 'I') goto yy24;
if(yych == 'i') goto yy23;
goto yy2;
yy154: yych = *++YYCURSOR;
if(yych == 'L') goto yy161;
goto yy2;
yy155: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy156: yych = *++YYCURSOR;
if(yych != 's') goto yy2;
yy157: yych = *++YYCURSOR;
if(yych != 'e') goto yy2;
yy158: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy159: yych = *++YYCURSOR;
yy160:
#line 86
{ return "bool#no"; }
yy161: yych = *++YYCURSOR;
if(yych != 'S') goto yy2;
yy162: yych = *++YYCURSOR;
if(yych == 'E') goto yy158;
goto yy2;
yy163: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy164: yych = *++YYCURSOR;
if(yych != 's') goto yy2;
yy165: yych = *++YYCURSOR;
if(yych == 'e') goto yy158;
goto yy2;
yy166: yych = *++YYCURSOR;
if(yych == 'F') goto yy158;
goto yy2;
yy167: yych = *++YYCURSOR;
if(yych == 'f') goto yy158;
goto yy2;
yy168: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy169: yych = *++YYCURSOR;
yy170:
#line 84
{ return "bool#yes"; }
yy171: yych = *++YYCURSOR;
if(yych == 'f') goto yy158;
goto yy2;
yy172: yych = *++YYCURSOR;
if(yych == 'S') goto yy168;
goto yy2;
yy173: yych = *++YYCURSOR;
if(yych == 's') goto yy168;
goto yy2;
yy174: yych = *++YYCURSOR;
if(yych == 's') goto yy168;
goto yy2;
yy175: yych = *++YYCURSOR;
if(yych == 'U') goto yy178;
goto yy2;
yy176: yych = *++YYCURSOR;
if(yych != 'u') goto yy2;
yy177: yych = *++YYCURSOR;
if(yych == 'e') goto yy168;
goto yy2;
yy178: yych = *++YYCURSOR;
if(yych == 'E') goto yy168;
goto yy2;
yy179: yych = *++YYCURSOR;
if(yych != 'u') goto yy2;
yy180: yych = *++YYCURSOR;
if(yych == 'e') goto yy168;
goto yy2;
yy181: yych = *++YYCURSOR;
if(yych == 'L') goto yy187;
goto yy2;
yy182: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy183: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy184: yych = *++YYCURSOR;
if(yych >= '\001') goto yy2;
yy185: yych = *++YYCURSOR;
yy186:
#line 82
{ return "null"; }
yy187: yych = *++YYCURSOR;
if(yych == 'L') goto yy184;
goto yy2;
yy188: yych = *++YYCURSOR;
if(yych != 'l') goto yy2;
yy189: yych = *++YYCURSOR;
if(yych == 'l') goto yy184;
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 yy190;
yy191: ++YYCURSOR;
yy190:
if((YYLIMIT - YYCURSOR) < 20) YYFILL(20);
yych = *YYCURSOR;
if(yych <= '^'){
if(yych <= '/'){
if(yych <= '\000') goto yy192;
if(yych == '!') goto yy196;
goto yy199;
} else {
if(yych <= '9') goto yy198;
if(yych <= '@') goto yy199;
if(yych <= 'Z') goto yy198;
goto yy199;
}
} else {
if(yych <= 't'){
if(yych == '`') goto yy199;
if(yych <= 's') goto yy198;
goto yy193;
} else {
if(yych == 'x') goto yy195;
if(yych <= 'z') goto yy198;
goto yy199;
}
}
yy192: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy194;
}
yy193: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy200;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy194;
if(yych <= ',') goto yy204;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych <= '9') goto yy202;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy202;
if(yych >= '_') goto yy202;
} else {
if(yych <= '`') goto yy194;
if(yych <= 'a') goto yy233;
if(yych <= 'z') goto yy202;
}
}
yy194:
#line 166
{ return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); }
yy195: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy200;
if(yych <= 'Z'){
if(yych <= '.'){
if(yych <= '+') goto yy194;
if(yych <= ',') goto yy204;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych <= '9') goto yy202;
if(yych <= '@') goto yy194;
goto yy202;
}
} else {
if(yych <= '`'){
if(yych == '_') goto yy202;
goto yy194;
} else {
if(yych == 'p') goto yy224;
if(yych <= 'z') goto yy202;
goto yy194;
}
}
yy196: yych = *++YYCURSOR;
yy197:
#line 140
{ return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); }
yy198: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yybm[0+yych] & 64) goto yy200;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy194;
if(yych <= ',') goto yy204;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych <= '9') goto yy202;
goto yy194;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy202;
if(yych <= '^') goto yy194;
goto yy202;
} else {
if(yych <= '`') goto yy194;
if(yych <= 'z') goto yy202;
goto yy194;
}
}
yy199: yych = *++YYCURSOR;
goto yy194;
yy200: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy201: if(yybm[0+yych] & 64) goto yy200;
if(yych <= 'Z'){
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy202;
if(yych <= '@') goto yy192;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy192;
} else {
if(yych <= '`') goto yy192;
if(yych >= '{') goto yy192;
}
}
yy202: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy203: if(yybm[0+yych] & 64) goto yy200;
if(yych <= '@'){
if(yych <= '.'){
if(yych <= '+') goto yy192;
if(yych >= '-') goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych <= '9') goto yy202;
goto yy192;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy202;
if(yych <= '^') goto yy192;
goto yy202;
} else {
if(yych <= '`') goto yy192;
if(yych <= 'z') goto yy202;
goto yy192;
}
}
yy204: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy212;
goto yy192;
yy205: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z'){
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy208;
if(yych <= '@') goto yy192;
goto yy208;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy192;
goto yy208;
} else {
if(yych <= '`') goto yy192;
if(yych <= 'z') goto yy208;
goto yy192;
}
}
yy206: yych = *++YYCURSOR;
yy207:
#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;
}
yy208: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy209: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy192;
if(yych <= ',') goto yy204;
} else {
if(yych <= '.') goto yy205;
if(yych <= '/') goto yy206;
goto yy208;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy192;
if(yych <= 'Z') goto yy208;
goto yy192;
} else {
if(yych == '`') goto yy192;
if(yych <= 'z') goto yy208;
goto yy192;
}
}
yy210: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy211: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy192;
goto yy210;
} else {
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy208;
goto yy192;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy208;
if(yych <= '^') goto yy192;
goto yy208;
} else {
if(yych <= '`') goto yy192;
if(yych <= 'z') goto yy208;
goto yy192;
}
}
yy212: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy213: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy214: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy215: yych = *++YYCURSOR;
if(yych == '-') goto yy216;
if(yych == '/') goto yy217;
goto yy192;
yy216: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy219;
goto yy192;
yy217: yych = *++YYCURSOR;
yy218:
#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;
}
yy219: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy220: yych = *++YYCURSOR;
if(yych == '-') goto yy221;
if(yych == '/') goto yy217;
goto yy192;
yy221: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy222: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy223: yych = *++YYCURSOR;
if(yych == '/') goto yy217;
goto yy192;
yy224: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'r') goto yy201;
}
yy225: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'i') goto yy201;
}
yy226: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'v') goto yy201;
}
yy227: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'a') goto yy201;
}
yy228: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 't') goto yy201;
}
yy229: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'e') goto yy201;
}
yy230: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != ':') goto yy201;
}
yy231: yych = *++YYCURSOR;
yy232:
#line 138
{ return type_id; }
yy233: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'g') goto yy201;
}
yy234: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'u') goto yy201;
}
yy235: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'r') goto yy201;
}
yy236: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != 'i') goto yy201;
}
yy237: yych = *++YYCURSOR;
if(yych <= '.'){
if(yych == ',') goto yy204;
if(yych <= '-') goto yy201;
goto yy205;
} else {
if(yych <= '/') goto yy206;
if(yych != ':') goto yy201;
}
yy238: yych = *++YYCURSOR;
if(yych <= '+') goto yy240;
if(yych <= '.') goto yy192;
goto yy240;
yy239: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy240: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy192;
if(yych <= ',') goto yy243;
} else {
if(yych <= '.') goto yy244;
if(yych <= '/') goto yy192;
goto yy239;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy192;
if(yych <= 'Z') goto yy239;
goto yy192;
} else {
if(yych == '`') goto yy192;
if(yych <= 'z') goto yy239;
goto yy192;
}
}
yy241: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy242: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy192;
goto yy241;
} else {
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy239;
goto yy192;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy239;
if(yych <= '^') goto yy192;
goto yy239;
} else {
if(yych <= '`') goto yy192;
if(yych <= 'z') goto yy239;
goto yy192;
}
}
yy243: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy249;
goto yy192;
yy244: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z'){
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy245;
if(yych <= '@') goto yy192;
} else {
if(yych <= '_'){
if(yych <= '^') goto yy192;
} else {
if(yych <= '`') goto yy192;
if(yych >= '{') goto yy192;
}
}
yy245: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy246: if(yych <= '9'){
if(yych <= '-'){
if(yych <= '+') goto yy192;
if(yych <= ',') goto yy243;
} else {
if(yych <= '.') goto yy244;
if(yych <= '/') goto yy192;
goto yy245;
}
} else {
if(yych <= '^'){
if(yych <= '@') goto yy192;
if(yych <= 'Z') goto yy245;
goto yy192;
} else {
if(yych == '`') goto yy192;
if(yych <= 'z') goto yy245;
goto yy192;
}
}
yy247: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
yy248: if(yych <= '@'){
if(yych <= '-'){
if(yych <= ',') goto yy192;
goto yy247;
} else {
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy245;
goto yy192;
}
} else {
if(yych <= '_'){
if(yych <= 'Z') goto yy245;
if(yych <= '^') goto yy192;
goto yy245;
} else {
if(yych <= '`') goto yy192;
if(yych <= 'z') goto yy245;
goto yy192;
}
}
yy249: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy250: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy251: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy252: yych = *++YYCURSOR;
if(yych == '-') goto yy253;
if(yych == ':') goto yy254;
goto yy192;
yy253: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych <= '9') goto yy256;
goto yy192;
yy254: yych = *++YYCURSOR;
yy255:
#line 136
{ return type_id; }
yy256: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy257: yych = *++YYCURSOR;
if(yych == '-') goto yy258;
if(yych == ':') goto yy254;
goto yy192;
yy258: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy259: yych = *++YYCURSOR;
if(yych <= '/') goto yy192;
if(yych >= ':') goto yy192;
yy260: yych = *++YYCURSOR;
if(yych == ':') goto yy254;
goto yy192;
}
#line 168
}