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


}

