The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
/* Generated by re2c 0.10.4 on Wed Aug  8 01:06:52 2007 */
#line 1 "implicit.re"
/*
 * implicit.re
 *
 * $Author: why $
 * $Date: 2006-10-14 14:58:02 +0800 (Sat, 14 Oct 2006) $
 *
 * 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 ( n->type_id != NULL ) S_FREE( n->type_id );
    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;


#line 55 "<stdout>"
{
	YYCTYPE yych;

	if((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy6;
	case '+':	goto yy16;
	case '-':	goto yy17;
	case '.':	goto yy20;
	case '0':	goto yy18;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy19;
	case '<':	goto yy22;
	case '=':	goto yy21;
	case 'F':	goto yy15;
	case 'N':	goto yy5;
	case 'O':	goto yy13;
	case 'T':	goto yy11;
	case 'Y':	goto yy8;
	case 'f':	goto yy14;
	case 'n':	goto yy4;
	case 'o':	goto yy12;
	case 't':	goto yy10;
	case 'y':	goto yy9;
	case '~':	goto yy2;
	default:	goto yy23;
	}
yy2:
	++YYCURSOR;
	if((yych = *YYCURSOR) <= 0x00) goto yy6;
yy3:
#line 123 "implicit.re"
	{   return "str"; }
#line 97 "<stdout>"
yy4:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy173;
	case 'o':	goto yy172;
	case 'u':	goto yy200;
	default:	goto yy3;
	}
yy5:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy173;
	case 'O':
	case 'o':	goto yy172;
	case 'U':	goto yy195;
	case 'u':	goto yy196;
	default:	goto yy3;
	}
yy6:
	++YYCURSOR;
#line 85 "implicit.re"
	{   return "null"; }
#line 120 "<stdout>"
yy8:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy183;
	case 'E':	goto yy193;
	case 'e':	goto yy194;
	default:	goto yy3;
	}
yy9:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy183;
	case 'e':	goto yy192;
	default:	goto yy3;
	}
yy10:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'r':	goto yy190;
	default:	goto yy3;
	}
yy11:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'R':	goto yy186;
	case 'r':	goto yy187;
	default:	goto yy3;
	}
yy12:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'f':	goto yy185;
	case 'n':	goto yy182;
	default:	goto yy3;
	}
yy13:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'F':	goto yy180;
	case 'N':
	case 'n':	goto yy182;
	case 'f':	goto yy181;
	default:	goto yy3;
	}
yy14:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'a':	goto yy177;
	default:	goto yy3;
	}
yy15:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'A':	goto yy168;
	case 'a':	goto yy169;
	default:	goto yy3;
	}
yy16:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case '.':	goto yy167;
	case '0':	goto yy158;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy47;
	default:	goto yy3;
	}
yy17:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case '.':	goto yy157;
	case '0':	goto yy158;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy47;
	default:	goto yy3;
	}
yy18:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy52;
	case ',':	goto yy142;
	case '.':	goto yy50;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy140;
	case '8':
	case '9':	goto yy141;
	case ':':	goto yy49;
	case 'x':	goto yy144;
	default:	goto yy3;
	}
yy19:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 0x00:	goto yy52;
	case ',':	goto yy47;
	case '.':	goto yy50;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy46;
	case ':':	goto yy49;
	default:	goto yy3;
	}
yy20:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case 'I':	goto yy33;
	case 'N':	goto yy31;
	case 'i':	goto yy32;
	case 'n':	goto yy30;
	default:	goto yy3;
	}
yy21:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy28;
	goto yy3;
yy22:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case '<':	goto yy24;
	default:	goto yy3;
	}
yy23:
	yych = *++YYCURSOR;
	goto yy3;
yy24:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy26;
yy25:
	YYCURSOR = YYMARKER;
	goto yy3;
yy26:
	++YYCURSOR;
#line 121 "implicit.re"
	{   return "merge"; }
#line 281 "<stdout>"
yy28:
	++YYCURSOR;
#line 119 "implicit.re"
	{   return "default"; }
#line 286 "<stdout>"
yy30:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'a':	goto yy45;
	default:	goto yy25;
	}
yy31:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'A':	goto yy40;
	case 'a':	goto yy41;
	default:	goto yy25;
	}
yy32:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'n':	goto yy39;
	default:	goto yy25;
	}
yy33:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'N':	goto yy34;
	case 'n':	goto yy35;
	default:	goto yy25;
	}
yy34:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'F':	goto yy36;
	default:	goto yy25;
	}
yy35:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy36;
	default:	goto yy25;
	}
yy36:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
	++YYCURSOR;
#line 105 "implicit.re"
	{   return "float#inf"; }
#line 331 "<stdout>"
yy39:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy36;
	default:	goto yy25;
	}
yy40:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'N':	goto yy42;
	default:	goto yy25;
	}
yy41:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'N':	goto yy42;
	default:	goto yy25;
	}
yy42:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
	++YYCURSOR;
#line 109 "implicit.re"
	{   return "float#nan"; }
#line 356 "<stdout>"
yy45:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'n':	goto yy42;
	default:	goto yy25;
	}
yy46:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy74;
	default:	goto yy48;
	}
yy47:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy48:
	switch(yych) {
	case 0x00:	goto yy52;
	case ',':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy47;
	case '.':	goto yy50;
	case ':':	goto yy49;
	default:	goto yy25;
	}
yy49:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':	goto yy66;
	case '6':
	case '7':
	case '8':
	case '9':	goto yy67;
	default:	goto yy25;
	}
yy50:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy56;
	case ',':	goto yy54;
	case '.':	goto yy58;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy50;
	case 'E':
	case 'e':	goto yy60;
	default:	goto yy25;
	}
yy52:
	++YYCURSOR;
#line 97 "implicit.re"
	{   return "int"; }
#line 443 "<stdout>"
yy54:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy56;
	case ',':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy54;
	default:	goto yy25;
	}
yy56:
	++YYCURSOR;
#line 99 "implicit.re"
	{   return "float#fix"; }
#line 467 "<stdout>"
yy58:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
	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':	goto yy58;
	case 'E':
	case 'e':	goto yy60;
	default:	goto yy25;
	}
yy60:
	yych = *++YYCURSOR;
	switch(yych) {
	case '+':
	case '-':	goto yy61;
	default:	goto yy25;
	}
yy61:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy25;
	goto yy63;
yy62:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy63:
	switch(yych) {
	case 0x00:	goto yy64;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy62;
	default:	goto yy25;
	}
yy64:
	++YYCURSOR;
#line 101 "implicit.re"
	{   return "float#exp"; }
#line 522 "<stdout>"
yy66:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy70;
	case '.':	goto yy68;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy67;
	case ':':	goto yy49;
	default:	goto yy25;
	}
yy67:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy70;
	case '.':	goto yy68;
	case ':':	goto yy49;
	default:	goto yy25;
	}
yy68:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy72;
	case ',':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy68;
	default:	goto yy25;
	}
yy70:
	++YYCURSOR;
#line 95 "implicit.re"
	{   return "int#base60"; }
#line 576 "<stdout>"
yy72:
	++YYCURSOR;
#line 103 "implicit.re"
	{   return "float#base60"; }
#line 581 "<stdout>"
yy74:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy75;
	default:	goto yy48;
	}
yy75:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy76;
	default:	goto yy48;
	}
yy76:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy77;
	default:	goto yy25;
	}
yy77:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy78;
	default:	goto yy25;
	}
yy78:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy79;
	default:	goto yy25;
	}
yy79:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy80;
	default:	goto yy25;
	}
yy80:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy81;
	default:	goto yy25;
	}
yy81:
	yych = *++YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy82;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy25;
	case 'T':	goto yy84;
	case 't':	goto yy85;
	default:	goto yy87;
	}
yy82:
	++YYCURSOR;
#line 111 "implicit.re"
	{   return "timestamp#ymd"; }
#line 691 "<stdout>"
yy84:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy126;
	default:	goto yy25;
	}
yy85:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy108;
	default:	goto yy25;
	}
yy86:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
	yych = *YYCURSOR;
yy87:
	switch(yych) {
	case 0x09:
	case ' ':	goto yy86;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy88;
	default:	goto yy25;
	}
yy88:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy89;
	default:	goto yy25;
	}
yy89:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy90;
	default:	goto yy25;
	}
yy90:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy91;
	default:	goto yy25;
	}
yy91:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy92;
	default:	goto yy25;
	}
yy92:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy93;
	default:	goto yy25;
	}
yy93:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy94;
	default:	goto yy25;
	}
yy94:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy95;
	default:	goto yy25;
	}
yy95:
	yych = *++YYCURSOR;
	switch(yych) {
	case 0x09:
	case ' ':	goto yy98;
	case '.':	goto yy96;
	default:	goto yy25;
	}
yy96:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x09:
	case ' ':	goto yy98;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy96;
	default:	goto yy25;
	}
yy98:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x09:
	case ' ':	goto yy98;
	case '+':
	case '-':	goto yy101;
	case 'Z':	goto yy100;
	default:	goto yy25;
	}
yy100:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy105;
	goto yy25;
yy101:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy102;
	default:	goto yy25;
	}
yy102:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy103;
	default:	goto yy25;
	}
yy103:
	yych = *++YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy105;
	case ':':	goto yy104;
	default:	goto yy25;
	}
yy104:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy107;
	default:	goto yy25;
	}
yy105:
	++YYCURSOR;
#line 115 "implicit.re"
	{   return "timestamp#spaced"; }
#line 928 "<stdout>"
yy107:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy100;
	default:	goto yy25;
	}
yy108:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy109;
	default:	goto yy25;
	}
yy109:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy110;
	default:	goto yy25;
	}
yy110:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy111;
	default:	goto yy25;
	}
yy111:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy112;
	default:	goto yy25;
	}
yy112:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy113;
	default:	goto yy25;
	}
yy113:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy114;
	default:	goto yy25;
	}
yy114:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy115;
	default:	goto yy25;
	}
yy115:
	yych = *++YYCURSOR;
	switch(yych) {
	case '.':	goto yy116;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy25;
	default:	goto yy117;
	}
yy116:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
	yych = *YYCURSOR;
yy117:
	switch(yych) {
	case '+':
	case '-':	goto yy119;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy116;
	case 'Z':	goto yy118;
	default:	goto yy25;
	}
yy118:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy123;
	goto yy25;
yy119:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy120;
	default:	goto yy25;
	}
yy120:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy121;
	default:	goto yy25;
	}
yy121:
	yych = *++YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy123;
	case ':':	goto yy122;
	default:	goto yy25;
	}
yy122:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy125;
	default:	goto yy25;
	}
yy123:
	++YYCURSOR;
yy124:
#line 113 "implicit.re"
	{   return "timestamp#iso8601"; }
#line 1129 "<stdout>"
yy125:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy118;
	default:	goto yy25;
	}
yy126:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy127;
	default:	goto yy25;
	}
yy127:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy128;
	default:	goto yy25;
	}
yy128:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy129;
	default:	goto yy25;
	}
yy129:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy130;
	default:	goto yy25;
	}
yy130:
	yych = *++YYCURSOR;
	switch(yych) {
	case ':':	goto yy131;
	default:	goto yy25;
	}
yy131:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy132;
	default:	goto yy25;
	}
yy132:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy133;
	default:	goto yy25;
	}
yy133:
	yych = *++YYCURSOR;
	switch(yych) {
	case '.':	goto yy134;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy25;
	case 'Z':	goto yy136;
	default:	goto yy135;
	}
yy134:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
	yych = *YYCURSOR;
yy135:
	switch(yych) {
	case '+':
	case '-':	goto yy119;
	case '0':	goto yy134;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy138;
	case 'Z':	goto yy118;
	default:	goto yy25;
	}
yy136:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
	yych = *++YYCURSOR;
	goto yy124;
yy138:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
	yych = *YYCURSOR;
	switch(yych) {
	case '+':
	case '-':	goto yy119;
	case '0':	goto yy134;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy138;
	case 'Z':	goto yy136;
	default:	goto yy25;
	}
yy140:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy155;
	case '8':
	case '9':	goto yy153;
	default:	goto yy143;
	}
yy141:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy153;
	default:	goto yy152;
	}
yy142:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy143:
	switch(yych) {
	case 0x00:	goto yy149;
	case ',':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy142;
	case '.':	goto yy50;
	case '8':
	case '9':	goto yy151;
	case ':':	goto yy49;
	default:	goto yy25;
	}
yy144:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy25;
	goto yy146;
yy145:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy146:
	switch(yych) {
	case 0x00:	goto yy147;
	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 'a':
	case 'b':
	case 'c':
	case 'd':
	case 'e':
	case 'f':	goto yy145;
	default:	goto yy25;
	}
yy147:
	++YYCURSOR;
#line 91 "implicit.re"
	{   return "int#hex"; }
#line 1387 "<stdout>"
yy149:
	++YYCURSOR;
#line 93 "implicit.re"
	{   return "int#oct"; }
#line 1392 "<stdout>"
yy151:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy152:
	switch(yych) {
	case ',':
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy151;
	case '.':	goto yy50;
	case ':':	goto yy49;
	default:	goto yy25;
	}
yy153:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy154;
	default:	goto yy152;
	}
yy154:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy76;
	default:	goto yy152;
	}
yy155:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy156;
	case '8':
	case '9':	goto yy154;
	default:	goto yy143;
	}
yy156:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy76;
	default:	goto yy143;
	}
yy157:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'I':	goto yy160;
	case 'i':	goto yy159;
	default:	goto yy25;
	}
yy158:
	yych = *++YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy52;
	case 'x':	goto yy144;
	default:	goto yy143;
	}
yy159:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'n':	goto yy166;
	default:	goto yy25;
	}
yy160:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'N':	goto yy161;
	case 'n':	goto yy162;
	default:	goto yy25;
	}
yy161:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'F':	goto yy163;
	default:	goto yy25;
	}
yy162:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy163;
	default:	goto yy25;
	}
yy163:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
	++YYCURSOR;
#line 107 "implicit.re"
	{   return "float#neginf"; }
#line 1501 "<stdout>"
yy166:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy163;
	default:	goto yy25;
	}
yy167:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'I':	goto yy33;
	case 'i':	goto yy32;
	default:	goto yy25;
	}
yy168:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'L':	goto yy175;
	default:	goto yy25;
	}
yy169:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'l':	goto yy170;
	default:	goto yy25;
	}
yy170:
	yych = *++YYCURSOR;
	switch(yych) {
	case 's':	goto yy171;
	default:	goto yy25;
	}
yy171:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'e':	goto yy172;
	default:	goto yy25;
	}
yy172:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
yy173:
	++YYCURSOR;
#line 89 "implicit.re"
	{   return "bool#no"; }
#line 1546 "<stdout>"
yy175:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'S':	goto yy176;
	default:	goto yy25;
	}
yy176:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'E':	goto yy172;
	default:	goto yy25;
	}
yy177:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'l':	goto yy178;
	default:	goto yy25;
	}
yy178:
	yych = *++YYCURSOR;
	switch(yych) {
	case 's':	goto yy179;
	default:	goto yy25;
	}
yy179:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'e':	goto yy172;
	default:	goto yy25;
	}
yy180:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'F':	goto yy172;
	default:	goto yy25;
	}
yy181:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy172;
	default:	goto yy25;
	}
yy182:
	yych = *++YYCURSOR;
	if(yych >= 0x01) goto yy25;
yy183:
	++YYCURSOR;
#line 87 "implicit.re"
	{   return "bool#yes"; }
#line 1596 "<stdout>"
yy185:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'f':	goto yy172;
	default:	goto yy25;
	}
yy186:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'U':	goto yy189;
	default:	goto yy25;
	}
yy187:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'u':	goto yy188;
	default:	goto yy25;
	}
yy188:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'e':	goto yy182;
	default:	goto yy25;
	}
yy189:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'E':	goto yy182;
	default:	goto yy25;
	}
yy190:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'u':	goto yy191;
	default:	goto yy25;
	}
yy191:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'e':	goto yy182;
	default:	goto yy25;
	}
yy192:
	yych = *++YYCURSOR;
	switch(yych) {
	case 's':	goto yy182;
	default:	goto yy25;
	}
yy193:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'S':	goto yy182;
	default:	goto yy25;
	}
yy194:
	yych = *++YYCURSOR;
	switch(yych) {
	case 's':	goto yy182;
	default:	goto yy25;
	}
yy195:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'L':	goto yy199;
	default:	goto yy25;
	}
yy196:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'l':	goto yy197;
	default:	goto yy25;
	}
yy197:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'l':	goto yy198;
	default:	goto yy25;
	}
yy198:
	yych = *++YYCURSOR;
	if(yych <= 0x00) goto yy6;
	goto yy25;
yy199:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'L':	goto yy198;
	default:	goto yy25;
	}
yy200:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'l':	goto yy201;
	default:	goto yy25;
	}
yy201:
	++YYCURSOR;
	switch((yych = *YYCURSOR)) {
	case 'l':	goto yy198;
	default:	goto yy25;
	}
}
#line 125 "implicit.re"


}

/* Remove ending fragment and compare types */
int
syck_tagcmp( const char *tag1, const char *tag2 )
{
    if ( tag1 == tag2 ) return 1;
    if ( tag1 == NULL || tag2 == NULL ) return 0;
    else {
        int i;
        char *othorpe;
        char *tmp1 = syck_strndup( (char*)tag1, strlen( tag1 ) );
        char *tmp2 = syck_strndup( (char*)tag2, strlen( tag2 ) );
        othorpe = strstr( tmp1, "#" );
		if ( othorpe != NULL ) {
            othorpe[0] = '\0';
        }
        othorpe = strstr( tmp2, "#" );
		if ( othorpe != NULL ) {
            othorpe[0] = '\0';
        }
        i = strcmp( tmp1, tmp2 );
        S_FREE( tmp1 ); S_FREE( tmp2 );
        return i;
    }
}

char *
syck_type_id_to_uri( char *type_id )
{
    char *cursor, *limit, *marker;

    cursor = type_id;
    limit = type_id + strlen( type_id );


#line 1737 "<stdout>"
{
	YYCTYPE yych;
	if((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
	yych = *YYCURSOR;
	switch(yych) {
	case 0x00:	goto yy204;
	case '!':	goto yy208;
	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 'u':
	case 'v':
	case 'w':
	case 'y':
	case 'z':	goto yy210;
	case 't':	goto yy205;
	case 'x':	goto yy207;
	default:	goto yy211;
	}
yy204:
	YYCURSOR = YYMARKER;
	goto yy206;
yy205:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case ',':	goto yy216;
	case '-':	goto yy212;
	case '.':	goto yy217;
	case '/':	goto yy218;
	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 '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 yy214;
	case 'a':	goto yy246;
	default:	goto yy206;
	}
yy206:
#line 202 "implicit.re"
	{   return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); }
#line 1888 "<stdout>"
yy207:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case ',':
	case '.':
	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 yy215;
	case '-':	goto yy236;
	default:	goto yy206;
	}
yy208:
	++YYCURSOR;
#line 176 "implicit.re"
	{   return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); }
#line 1965 "<stdout>"
yy210:
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych) {
	case ',':	goto yy216;
	case '-':	goto yy212;
	case '.':	goto yy217;
	case '/':	goto yy218;
	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 yy214;
	default:	goto yy206;
	}
yy211:
	yych = *++YYCURSOR;
	goto yy206;
yy212:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy213:
	switch(yych) {
	case '-':	goto yy212;
	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 yy214;
	default:	goto yy204;
	}
yy214:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
	yych = *YYCURSOR;
yy215:
	switch(yych) {
	case ',':	goto yy216;
	case '-':	goto yy212;
	case '.':	goto yy217;
	case '/':	goto yy218;
	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 yy214;
	default:	goto yy204;
	}
yy216:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy224;
	default:	goto yy204;
	}
yy217:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	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 '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 yy220;
	default:	goto yy204;
	}
yy218:
	++YYCURSOR;
#line 178 "implicit.re"
	{   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;
                }
#line 2288 "<stdout>"
yy220:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
	yych = *YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '-':	goto yy222;
	case '.':	goto yy217;
	case '/':	goto yy218;
	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 yy220;
	default:	goto yy204;
	}
yy222:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case '-':	goto yy222;
	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 yy220;
	default:	goto yy204;
	}
yy224:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy225;
	default:	goto yy204;
	}
yy225:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy226;
	default:	goto yy204;
	}
yy226:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy227;
	default:	goto yy204;
	}
yy227:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy228;
	case '/':	goto yy229;
	default:	goto yy204;
	}
yy228:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy231;
	default:	goto yy204;
	}
yy229:
	++YYCURSOR;
#line 191 "implicit.re"
	{   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;
                            }
#line 2514 "<stdout>"
yy231:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy232;
	default:	goto yy204;
	}
yy232:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy233;
	case '/':	goto yy229;
	default:	goto yy204;
	}
yy233:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy234;
	default:	goto yy204;
	}
yy234:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy235;
	default:	goto yy204;
	}
yy235:
	yych = *++YYCURSOR;
	switch(yych) {
	case '/':	goto yy229;
	default:	goto yy204;
	}
yy236:
	yych = *++YYCURSOR;
	switch(yych) {
	case 'p':	goto yy237;
	default:	goto yy213;
	}
yy237:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'r':	goto yy238;
	default:	goto yy213;
	}
yy238:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'i':	goto yy239;
	default:	goto yy213;
	}
yy239:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'v':	goto yy240;
	default:	goto yy213;
	}
yy240:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'a':	goto yy241;
	default:	goto yy213;
	}
yy241:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 't':	goto yy242;
	default:	goto yy213;
	}
yy242:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'e':	goto yy243;
	default:	goto yy213;
	}
yy243:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case ':':	goto yy244;
	default:	goto yy213;
	}
yy244:
	++YYCURSOR;
#line 174 "implicit.re"
	{   return syck_strndup( type_id, strlen( type_id ) ); }
#line 2646 "<stdout>"
yy246:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case 'g':	goto yy247;
	default:	goto yy213;
	}
yy247:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':	goto yy216;
	case '.':	goto yy217;
	case '/':	goto yy218;
	case ':':	goto yy248;
	default:	goto yy213;
	}
yy248:
	yych = *++YYCURSOR;
	switch(yych) {
	case ',':
	case '-':
	case '.':	goto yy204;
	default:	goto yy250;
	}
yy249:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
	yych = *YYCURSOR;
yy250:
	switch(yych) {
	case ',':	goto yy253;
	case '-':	goto yy251;
	case '.':	goto yy254;
	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 yy249;
	default:	goto yy204;
	}
yy251:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case '-':	goto yy251;
	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 yy249;
	default:	goto yy204;
	}
yy253:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy259;
	default:	goto yy204;
	}
yy254:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	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 '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 yy255;
	default:	goto yy204;
	}
yy255:
	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
	yych = *YYCURSOR;
	switch(yych) {
	case ',':	goto yy253;
	case '-':	goto yy257;
	case '.':	goto yy254;
	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 yy255;
	default:	goto yy204;
	}
yy257:
	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch(yych) {
	case '-':	goto yy257;
	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 yy255;
	default:	goto yy204;
	}
yy259:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy260;
	default:	goto yy204;
	}
yy260:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy261;
	default:	goto yy204;
	}
yy261:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy262;
	default:	goto yy204;
	}
yy262:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy263;
	case ':':	goto yy264;
	default:	goto yy204;
	}
yy263:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy266;
	default:	goto yy204;
	}
yy264:
	++YYCURSOR;
#line 172 "implicit.re"
	{   return syck_strndup( type_id, strlen( type_id ) ); }
#line 3118 "<stdout>"
yy266:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy267;
	default:	goto yy204;
	}
yy267:
	yych = *++YYCURSOR;
	switch(yych) {
	case '-':	goto yy268;
	case ':':	goto yy264;
	default:	goto yy204;
	}
yy268:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy269;
	default:	goto yy204;
	}
yy269:
	yych = *++YYCURSOR;
	switch(yych) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy270;
	default:	goto yy204;
	}
yy270:
	++YYCURSOR;
	switch((yych = *YYCURSOR)) {
	case ':':	goto yy264;
	default:	goto yy204;
	}
}
#line 204 "implicit.re"


}