/* Generated by re2c 0.5 on Thu Oct 16 14:12:57 2003 */
#line 1 "implicit.re"
/*
 * implicit.re
 *
 * $Author: why $
 * $Date: 2003/10/17 20:53:39 $
 *
 * 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 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 yy9;
	case 'Y':	goto yy11;
	case 'f':	goto yy14;
	case 'n':	goto yy4;
	case 'o':	goto yy12;
	case 't':	goto yy8;
	case 'y':	goto yy10;
	case '~':	goto yy2;
	default:	goto yy23;
	}
yy2:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy6;
yy3:
#line 116
	{   return "str"; }
yy4:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'o':	goto yy163;
	case 'u':	goto yy191;
	default:	goto yy3;
	}
yy5:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'O':	case 'o':	goto yy163;
	case 'U':	goto yy186;
	case 'u':	goto yy187;
	default:	goto yy3;
	}
yy6:	yych = *++YYCURSOR;
yy7:
#line 82
	{   return "null"; }
yy8:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'r':	goto yy184;
	default:	goto yy3;
	}
yy9:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'R':	goto yy180;
	case 'r':	goto yy181;
	default:	goto yy3;
	}
yy10:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'e':	goto yy179;
	default:	goto yy3;
	}
yy11:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'E':	goto yy177;
	case 'e':	goto yy178;
	default:	goto yy3;
	}
yy12:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'f':	goto yy176;
	case 'n':	goto yy173;
	default:	goto yy3;
	}
yy13:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'F':	goto yy171;
	case 'N':	case 'n':	goto yy173;
	case 'f':	goto yy172;
	default:	goto yy3;
	}
yy14:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'a':	goto yy168;
	default:	goto yy3;
	}
yy15:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case 'A':	goto yy159;
	case 'a':	goto yy160;
	default:	goto yy3;
	}
yy16:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case '.':	goto yy158;
	case '0':	goto yy149;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy47;
	default:	goto yy3;
	}
yy17:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case '.':	goto yy148;
	case '0':	goto yy149;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy47;
	default:	goto yy3;
	}
yy18:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case '\000':	goto yy51;
	case ',':	goto yy133;
	case '.':	goto yy49;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy131;
	case '8':
	case '9':	goto yy132;
	case 'x':	goto yy135;
	default:	goto yy3;
	}
yy19:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case '\000':	goto yy51;
	case ',':	goto yy47;
	case '.':	goto yy49;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy46;
	default:	goto yy3;
	}
yy20:	yyaccept = 0;
	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 <= '\000')	goto yy28;
	goto yy3;
yy22:	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch(yych){
	case '<':	goto yy24;
	default:	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;
	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 >= '\001')	goto yy25;
yy37:	yych = *++YYCURSOR;
yy38:
#line 98
	{   return "float#inf"; }
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 >= '\001')	goto yy25;
yy43:	yych = *++YYCURSOR;
yy44:
#line 102
	{   return "float#nan"; }
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 yy65;
	default:	goto yy48;
	}
yy47:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy48:	switch(yych){
	case '\000':	goto yy51;
	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 yy49;
	default:	goto yy25;
	}
yy49:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy50:	switch(yych){
	case '\000':	goto yy55;
	case ',':	goto yy53;
	case '.':	goto yy57;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy49;
	case 'E':	case 'e':	goto yy59;
	default:	goto yy25;
	}
yy51:	yych = *++YYCURSOR;
yy52:
#line 92
	{   return "int"; }
yy53:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy54:	switch(yych){
	case '\000':	goto yy55;
	case ',':	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy53;
	default:	goto yy25;
	}
yy55:	yych = *++YYCURSOR;
yy56:
#line 94
	{   return "float#fix"; }
yy57:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy58:	switch(yych){
	case '.':	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy57;
	case 'E':	case 'e':	goto yy59;
	default:	goto yy25;
	}
yy59:	yych = *++YYCURSOR;
	switch(yych){
	case '+':	case '-':	goto yy60;
	default:	goto yy25;
	}
yy60:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy25;
	goto yy62;
yy61:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy62:	switch(yych){
	case '\000':	goto yy63;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy61;
	default:	goto yy25;
	}
yy63:	yych = *++YYCURSOR;
yy64:
#line 96
	{   return "float#exp"; }
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 yy48;
	}
yy66:	yych = *++YYCURSOR;
	switch(yych){
	case '-':	goto yy67;
	default:	goto yy48;
	}
yy67:	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 yy68;
	default:	goto yy25;
	}
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 yy25;
	}
yy69:	yych = *++YYCURSOR;
	switch(yych){
	case '-':	goto yy70;
	default:	goto yy25;
	}
yy70:	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 yy71;
	default:	goto yy25;
	}
yy71:	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 yy72;
	default:	goto yy25;
	}
yy72:	yych = *++YYCURSOR;
	switch(yych){
	case '\000':	goto yy73;
	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 yy75;
	case 't':	goto yy76;
	default:	goto yy78;
	}
yy73:	yych = *++YYCURSOR;
yy74:
#line 104
	{   return "timestamp#ymd"; }
yy75:	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 yy117;
	default:	goto yy25;
	}
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 yy99;
	default:	goto yy25;
	}
yy77:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy78:	switch(yych){
	case '\t':	case ' ':	goto yy77;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	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 ':':	goto yy81;
	default:	goto yy25;
	}
yy81:	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 yy82;
	default:	goto yy25;
	}
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 yy25;
	}
yy83:	yych = *++YYCURSOR;
	switch(yych){
	case ':':	goto yy84;
	default:	goto yy25;
	}
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 yy85;
	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 yy86;
	default:	goto yy25;
	}
yy86:	yych = *++YYCURSOR;
	switch(yych){
	case '\t':	case ' ':	goto yy89;
	case '.':	goto yy87;
	default:	goto yy25;
	}
yy87:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy88:	switch(yych){
	case '\t':	case ' ':	goto yy89;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy87;
	default:	goto yy25;
	}
yy89:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy90:	switch(yych){
	case '\t':	case ' ':	goto yy89;
	case '+':	case '-':	goto yy92;
	case 'Z':	goto yy91;
	default:	goto yy25;
	}
yy91:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy96;
	goto yy25;
yy92:	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 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 '\000':	goto yy96;
	case ':':	goto yy95;
	default:	goto yy25;
	}
yy95:	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 yy25;
	}
yy96:	yych = *++YYCURSOR;
yy97:
#line 108
	{   return "timestamp#spaced"; }
yy98:	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;
	}
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 yy25;
	}
yy100:	yych = *++YYCURSOR;
	switch(yych){
	case ':':	goto yy101;
	default:	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 ':':	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 yy105;
	default:	goto yy25;
	}
yy105:	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 yy106;
	default:	goto yy25;
	}
yy106:	yych = *++YYCURSOR;
	switch(yych){
	case '.':	goto yy107;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy25;
	default:	goto yy108;
	}
yy107:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy108:	switch(yych){
	case '+':	case '-':	goto yy110;
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy107;
	case 'Z':	goto yy109;
	default:	goto yy25;
	}
yy109:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy114;
	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 '\000':	goto yy114;
	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 yy116;
	default:	goto yy25;
	}
yy114:	yych = *++YYCURSOR;
yy115:
#line 106
	{   return "timestamp#iso8601"; }
yy116:	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;
	}
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 yy25;
	}
yy118:	yych = *++YYCURSOR;
	switch(yych){
	case ':':	goto yy119;
	default:	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 ':':	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 yy123;
	default:	goto yy25;
	}
yy123:	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 yy124;
	default:	goto yy25;
	}
yy124:	yych = *++YYCURSOR;
	switch(yych){
	case '.':	goto yy125;
	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 yy127;
	default:	goto yy126;
	}
yy125:	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
	yych = *YYCURSOR;
yy126:	switch(yych){
	case '+':	case '-':	goto yy110;
	case '0':	goto yy125;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy129;
	case 'Z':	goto yy109;
	default:	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:	switch(yych){
	case '+':	case '-':	goto yy110;
	case '0':	goto yy125;
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy129;
	case 'Z':	goto yy127;
	default:	goto yy25;
	}
yy131:	yych = *++YYCURSOR;
	switch(yych){
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy146;
	case '8':
	case '9':	goto yy144;
	default:	goto yy134;
	}
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 yy144;
	default:	goto yy143;
	}
yy133:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy134:	switch(yych){
	case '\000':	goto yy140;
	case ',':	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy133;
	case '.':	goto yy49;
	case '8':
	case '9':	goto yy142;
	default:	goto yy25;
	}
yy135:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy25;
	goto yy137;
yy136:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy137:	switch(yych){
	case '\000':	goto yy138;
	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 yy136;
	default:	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:	switch(yych){
	case ',':	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy142;
	case '.':	goto yy49;
	default:	goto yy25;
	}
yy144:	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 yy145;
	default:	goto yy143;
	}
yy145:	yych = *++YYCURSOR;
	switch(yych){
	case '-':	goto yy67;
	default:	goto yy143;
	}
yy146:	yych = *++YYCURSOR;
	switch(yych){
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':	goto yy147;
	case '8':
	case '9':	goto yy145;
	default:	goto yy134;
	}
yy147:	yych = *++YYCURSOR;
	switch(yych){
	case '-':	goto yy67;
	default:	goto yy134;
	}
yy148:	yych = *++YYCURSOR;
	switch(yych){
	case 'I':	goto yy151;
	case 'i':	goto yy150;
	default:	goto yy25;
	}
yy149:	yych = *++YYCURSOR;
	switch(yych){
	case '\000':	goto yy51;
	case 'x':	goto yy135;
	default:	goto yy134;
	}
yy150:	yych = *++YYCURSOR;
	switch(yych){
	case 'n':	goto yy157;
	default:	goto yy25;
	}
yy151:	yych = *++YYCURSOR;
	switch(yych){
	case 'N':	goto yy152;
	case 'n':	goto yy153;
	default:	goto yy25;
	}
yy152:	yych = *++YYCURSOR;
	switch(yych){
	case 'F':	goto yy154;
	default:	goto yy25;
	}
yy153:	yych = *++YYCURSOR;
	switch(yych){
	case 'f':	goto yy154;
	default:	goto yy25;
	}
yy154:	yych = *++YYCURSOR;
	if(yych >= '\001')	goto yy25;
yy155:	yych = *++YYCURSOR;
yy156:
#line 100
	{   return "float#neginf"; }
yy157:	yych = *++YYCURSOR;
	switch(yych){
	case 'f':	goto yy154;
	default:	goto yy25;
	}
yy158:	yych = *++YYCURSOR;
	switch(yych){
	case 'I':	goto yy33;
	case 'i':	goto yy32;
	default:	goto yy25;
	}
yy159:	yych = *++YYCURSOR;
	switch(yych){
	case 'L':	goto yy166;
	default:	goto yy25;
	}
yy160:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy161;
	default:	goto yy25;
	}
yy161:	yych = *++YYCURSOR;
	switch(yych){
	case 's':	goto yy162;
	default:	goto yy25;
	}
yy162:	yych = *++YYCURSOR;
	switch(yych){
	case 'e':	goto yy163;
	default:	goto yy25;
	}
yy163:	yych = *++YYCURSOR;
	if(yych >= '\001')	goto yy25;
yy164:	yych = *++YYCURSOR;
yy165:
#line 86
	{   return "bool#no"; }
yy166:	yych = *++YYCURSOR;
	switch(yych){
	case 'S':	goto yy167;
	default:	goto yy25;
	}
yy167:	yych = *++YYCURSOR;
	switch(yych){
	case 'E':	goto yy163;
	default:	goto yy25;
	}
yy168:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy169;
	default:	goto yy25;
	}
yy169:	yych = *++YYCURSOR;
	switch(yych){
	case 's':	goto yy170;
	default:	goto yy25;
	}
yy170:	yych = *++YYCURSOR;
	switch(yych){
	case 'e':	goto yy163;
	default:	goto yy25;
	}
yy171:	yych = *++YYCURSOR;
	switch(yych){
	case 'F':	goto yy163;
	default:	goto yy25;
	}
yy172:	yych = *++YYCURSOR;
	switch(yych){
	case 'f':	goto yy163;
	default:	goto yy25;
	}
yy173:	yych = *++YYCURSOR;
	if(yych >= '\001')	goto yy25;
yy174:	yych = *++YYCURSOR;
yy175:
#line 84
	{   return "bool#yes"; }
yy176:	yych = *++YYCURSOR;
	switch(yych){
	case 'f':	goto yy163;
	default:	goto yy25;
	}
yy177:	yych = *++YYCURSOR;
	switch(yych){
	case 'S':	goto yy173;
	default:	goto yy25;
	}
yy178:	yych = *++YYCURSOR;
	switch(yych){
	case 's':	goto yy173;
	default:	goto yy25;
	}
yy179:	yych = *++YYCURSOR;
	switch(yych){
	case 's':	goto yy173;
	default:	goto yy25;
	}
yy180:	yych = *++YYCURSOR;
	switch(yych){
	case 'U':	goto yy183;
	default:	goto yy25;
	}
yy181:	yych = *++YYCURSOR;
	switch(yych){
	case 'u':	goto yy182;
	default:	goto yy25;
	}
yy182:	yych = *++YYCURSOR;
	switch(yych){
	case 'e':	goto yy173;
	default:	goto yy25;
	}
yy183:	yych = *++YYCURSOR;
	switch(yych){
	case 'E':	goto yy173;
	default:	goto yy25;
	}
yy184:	yych = *++YYCURSOR;
	switch(yych){
	case 'u':	goto yy185;
	default:	goto yy25;
	}
yy185:	yych = *++YYCURSOR;
	switch(yych){
	case 'e':	goto yy173;
	default:	goto yy25;
	}
yy186:	yych = *++YYCURSOR;
	switch(yych){
	case 'L':	goto yy190;
	default:	goto yy25;
	}
yy187:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy188;
	default:	goto yy25;
	}
yy188:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy189;
	default:	goto yy25;
	}
yy189:	yych = *++YYCURSOR;
	if(yych <= '\000')	goto yy6;
	goto yy25;
yy190:	yych = *++YYCURSOR;
	switch(yych){
	case 'L':	goto yy189;
	default:	goto yy25;
	}
yy191:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy192;
	default:	goto yy25;
	}
yy192:	yych = *++YYCURSOR;
	switch(yych){
	case 'l':	goto yy189;
	default:	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;
	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 yy237;
	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 ',':	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 yy206;
	case '-':	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 'p':	goto yy228;
	default:	goto yy204;
	}
yy228:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'r':	goto yy229;
	default:	goto yy204;
	}
yy229:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'i':	goto yy230;
	default:	goto yy204;
	}
yy230:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'v':	goto yy231;
	default:	goto yy204;
	}
yy231:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'a':	goto yy232;
	default:	goto yy204;
	}
yy232:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 't':	goto yy233;
	default:	goto yy204;
	}
yy233:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'e':	goto yy234;
	default:	goto yy204;
	}
yy234:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case ':':	goto yy235;
	default:	goto yy204;
	}
yy235:	yych = *++YYCURSOR;
yy236:
#line 142
	{   return type_id; }
yy237:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case 'g':	goto yy238;
	default:	goto yy204;
	}
yy238:	yych = *++YYCURSOR;
	switch(yych){
	case ',':	goto yy207;
	case '.':	goto yy208;
	case '/':	goto yy209;
	case ':':	goto yy239;
	default:	goto yy204;
	}
yy239:	yych = *++YYCURSOR;
	switch(yych){
	case ',':
	case '-':
	case '.':	goto yy195;
	default:	goto yy241;
	}
yy240:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy241:	switch(yych){
	case ',':	goto yy244;
	case '-':	goto yy242;
	case '.':	goto yy245;
	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 yy240;
	default:	goto yy195;
	}
yy242:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy243:	switch(yych){
	case '-':	goto yy242;
	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 yy240;
	default:	goto yy195;
	}
yy244:	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 yy250;
	default:	goto yy195;
	}
yy245:	++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 yy246;
	default:	goto yy195;
	}
yy246:	++YYCURSOR;
	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
yy247:	switch(yych){
	case ',':	goto yy244;
	case '-':	goto yy248;
	case '.':	goto yy245;
	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 yy246;
	default:	goto yy195;
	}
yy248:	++YYCURSOR;
	if(YYLIMIT == YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy249:	switch(yych){
	case '-':	goto yy248;
	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 yy246;
	default:	goto yy195;
	}
yy250:	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 yy251;
	default:	goto yy195;
	}
yy251:	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;
	}
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 '-':	goto yy254;
	case ':':	goto yy255;
	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 yy257;
	default:	goto yy195;
	}
yy255:	yych = *++YYCURSOR;
yy256:
#line 140
	{   return type_id; }
yy257:	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 yy258;
	default:	goto yy195;
	}
yy258:	yych = *++YYCURSOR;
	switch(yych){
	case '-':	goto yy259;
	case ':':	goto yy255;
	default:	goto yy195;
	}
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 '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':	goto yy261;
	default:	goto yy195;
	}
yy261:	yych = *++YYCURSOR;
	switch(yych){
	case ':':	goto yy255;
	default:	goto yy195;
	}
}
#line 172


}

