ruby--ruby/ext/syck/implicit.c

1422 lines
30 KiB
C

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