mkrf 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/CHANGELOG +2 -0
  2. data/MIT-LICENSE +7 -0
  3. data/README +54 -0
  4. data/Rakefile +107 -0
  5. data/lib/mkrf.rb +4 -0
  6. data/lib/mkrf/availability.rb +219 -0
  7. data/lib/mkrf/generator.rb +146 -0
  8. data/test/abstract_unit.rb +4 -0
  9. data/test/fixtures/down_a_directory/header_down_a_directory.h +1 -0
  10. data/test/fixtures/stdmkrf.h +1 -0
  11. data/test/sample_files/libtrivial/Rakefile +31 -0
  12. data/test/sample_files/libtrivial/extconf.rb +3 -0
  13. data/test/sample_files/libtrivial/lib/libtrivial.c +5 -0
  14. data/test/sample_files/libtrivial/lib/libtrivial.o +0 -0
  15. data/test/sample_files/libtrivial/libtrivial_so.bundle +0 -0
  16. data/test/sample_files/libtrivial/mkrf.log +1 -0
  17. data/test/sample_files/libxml-ruby-0.3.8/CHANGELOG +74 -0
  18. data/test/sample_files/libxml-ruby-0.3.8/LICENSE +22 -0
  19. data/test/sample_files/libxml-ruby-0.3.8/README +144 -0
  20. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/cbg.c +76 -0
  21. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/extconf.rb +49 -0
  22. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.c +86 -0
  23. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.h +82 -0
  24. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.rb +107 -0
  25. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/mkrf.log +1 -0
  26. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/old_extconf.rb +95 -0
  27. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.c +372 -0
  28. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.h +21 -0
  29. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.c +224 -0
  30. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.h +21 -0
  31. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.c +1159 -0
  32. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.h +27 -0
  33. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.c +168 -0
  34. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.h +17 -0
  35. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.c +167 -0
  36. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.h +21 -0
  37. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.c +2139 -0
  38. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.h +28 -0
  39. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.c +248 -0
  40. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.h +26 -0
  41. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.c +153 -0
  42. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.h +21 -0
  43. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.c +1417 -0
  44. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.h +31 -0
  45. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.c +715 -0
  46. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.h +22 -0
  47. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.c +426 -0
  48. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.h +52 -0
  49. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.c +142 -0
  50. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.h +16 -0
  51. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.c +43 -0
  52. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.h +12 -0
  53. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.c +20 -0
  54. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.h +13 -0
  55. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.c +363 -0
  56. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.h +24 -0
  57. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.c +125 -0
  58. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.h +24 -0
  59. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.c +100 -0
  60. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.h +27 -0
  61. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.c +21 -0
  62. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.h +18 -0
  63. data/test/sample_files/libxml-ruby-0.3.8/ext/xml/sax_parser_callbacks.inc +202 -0
  64. data/test/sample_files/syck-0.55/CHANGELOG +186 -0
  65. data/test/sample_files/syck-0.55/COPYING +54 -0
  66. data/test/sample_files/syck-0.55/Makefile +582 -0
  67. data/test/sample_files/syck-0.55/Makefile.am +5 -0
  68. data/test/sample_files/syck-0.55/Makefile.in +582 -0
  69. data/test/sample_files/syck-0.55/README +105 -0
  70. data/test/sample_files/syck-0.55/README.BYTECODE +484 -0
  71. data/test/sample_files/syck-0.55/README.EXT +444 -0
  72. data/test/sample_files/syck-0.55/RELEASE +123 -0
  73. data/test/sample_files/syck-0.55/TODO +25 -0
  74. data/test/sample_files/syck-0.55/aclocal.m4 +883 -0
  75. data/test/sample_files/syck-0.55/bootstrap +7 -0
  76. data/test/sample_files/syck-0.55/config.h +79 -0
  77. data/test/sample_files/syck-0.55/config.h.in +78 -0
  78. data/test/sample_files/syck-0.55/config.status +1197 -0
  79. data/test/sample_files/syck-0.55/config/README +14 -0
  80. data/test/sample_files/syck-0.55/config/depcomp +529 -0
  81. data/test/sample_files/syck-0.55/config/install-sh +323 -0
  82. data/test/sample_files/syck-0.55/config/missing +357 -0
  83. data/test/sample_files/syck-0.55/configure +6728 -0
  84. data/test/sample_files/syck-0.55/configure.in +36 -0
  85. data/test/sample_files/syck-0.55/ext/ruby/CHANGELOG +303 -0
  86. data/test/sample_files/syck-0.55/ext/ruby/README +400 -0
  87. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/MANIFEST +1 -0
  88. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/bytecode.c +1170 -0
  89. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/emitter.c +1224 -0
  90. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb +10 -0
  91. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.c +1894 -0
  92. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.h +79 -0
  93. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/handler.c +174 -0
  94. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/implicit.c +2989 -0
  95. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/mkrf.log +1 -0
  96. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/node.c +407 -0
  97. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.c +2385 -0
  98. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.c +504 -0
  99. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.h +458 -0
  100. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/token.c +2707 -0
  101. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/yaml2byte.c +250 -0
  102. data/test/sample_files/syck-0.55/ext/ruby/ext/syck/yamlbyte.h +170 -0
  103. data/test/sample_files/syck-0.55/ext/ruby/install.rb +1022 -0
  104. data/test/sample_files/syck-0.55/ext/ruby/lib/okay.rb +161 -0
  105. data/test/sample_files/syck-0.55/ext/ruby/lib/okay/news.rb +69 -0
  106. data/test/sample_files/syck-0.55/ext/ruby/lib/okay/rpc.rb +434 -0
  107. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml.rb +436 -0
  108. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/baseemitter.rb +247 -0
  109. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/basenode.rb +216 -0
  110. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/compat.rb +26 -0
  111. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/constants.rb +45 -0
  112. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/dbm.rb +111 -0
  113. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/emitter.rb +107 -0
  114. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/encoding.rb +33 -0
  115. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/error.rb +34 -0
  116. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/rubytypes.rb +438 -0
  117. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/store.rb +29 -0
  118. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/stream.rb +40 -0
  119. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/stringio.rb +83 -0
  120. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/syck.rb +19 -0
  121. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/tag.rb +86 -0
  122. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/types.rb +188 -0
  123. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/yamlnode.rb +54 -0
  124. data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/ypath.rb +52 -0
  125. data/test/sample_files/syck-0.55/ext/ruby/lib/yod.rb +1168 -0
  126. data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-modules.rb +27 -0
  127. data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-sample.rb +336 -0
  128. data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-validate.rb +341 -0
  129. data/test/sample_files/syck-0.55/ext/ruby/samples/okayRpc-client.rb +51 -0
  130. data/test/sample_files/syck-0.55/ext/ruby/samples/okayRpc-server.rb +85 -0
  131. data/test/sample_files/syck-0.55/ext/ruby/samples/yaml-sortHashKeys.rb +128 -0
  132. data/test/sample_files/syck-0.55/ext/ruby/tests/basic.rb +1653 -0
  133. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsAnchorAlias.yml +51 -0
  134. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBasicTests.yml +282 -0
  135. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBlockMapping.yml +78 -0
  136. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBlockSequence.yml +0 -0
  137. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsDocumentSeparator.yml +102 -0
  138. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsErrorTests.yml +23 -0
  139. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsFlowCollections.yml +73 -0
  140. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsFoldedScalars.yml +215 -0
  141. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsMapInSeq.yml +0 -0
  142. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsNullsAndEmpties.yml +66 -0
  143. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsRubyTests.yml +182 -0
  144. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsSpecificationExamples.yml +2699 -0
  145. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsTypeTransfers.yml +265 -0
  146. data/test/sample_files/syck-0.55/ext/ruby/yts/YtsYpath.yml +221 -0
  147. data/test/sample_files/syck-0.55/ext/ruby/yts/cookbook.rb +159 -0
  148. data/test/sample_files/syck-0.55/ext/ruby/yts/index.yml +10 -0
  149. data/test/sample_files/syck-0.55/ext/ruby/yts/yts.rb +193 -0
  150. data/test/sample_files/syck-0.55/lib/Makefile +497 -0
  151. data/test/sample_files/syck-0.55/lib/Makefile.am +27 -0
  152. data/test/sample_files/syck-0.55/lib/Makefile.in +497 -0
  153. data/test/sample_files/syck-0.55/lib/bytecode.c +1170 -0
  154. data/test/sample_files/syck-0.55/lib/bytecode.re +525 -0
  155. data/test/sample_files/syck-0.55/lib/emitter.c +1224 -0
  156. data/test/sample_files/syck-0.55/lib/gram.c +1894 -0
  157. data/test/sample_files/syck-0.55/lib/gram.h +79 -0
  158. data/test/sample_files/syck-0.55/lib/gram.output +2005 -0
  159. data/test/sample_files/syck-0.55/lib/gram.y +481 -0
  160. data/test/sample_files/syck-0.55/lib/handler.c +174 -0
  161. data/test/sample_files/syck-0.55/lib/implicit.c +2989 -0
  162. data/test/sample_files/syck-0.55/lib/implicit.re +206 -0
  163. data/test/sample_files/syck-0.55/lib/node.c +407 -0
  164. data/test/sample_files/syck-0.55/lib/syck.c +504 -0
  165. data/test/sample_files/syck-0.55/lib/syck.h +458 -0
  166. data/test/sample_files/syck-0.55/lib/syck_st.c +577 -0
  167. data/test/sample_files/syck-0.55/lib/syck_st.h +46 -0
  168. data/test/sample_files/syck-0.55/lib/token.c +2707 -0
  169. data/test/sample_files/syck-0.55/lib/token.re +1139 -0
  170. data/test/sample_files/syck-0.55/lib/yaml2byte.c +250 -0
  171. data/test/sample_files/syck-0.55/lib/yamlbyte.h +170 -0
  172. data/test/sample_files/syck-0.55/stamp-h1 +1 -0
  173. data/test/sample_files/syck-0.55/tests/Basic.c +141 -0
  174. data/test/sample_files/syck-0.55/tests/CuTest.c +294 -0
  175. data/test/sample_files/syck-0.55/tests/CuTest.h +84 -0
  176. data/test/sample_files/syck-0.55/tests/Emit.c +87 -0
  177. data/test/sample_files/syck-0.55/tests/Makefile +480 -0
  178. data/test/sample_files/syck-0.55/tests/Makefile.am +13 -0
  179. data/test/sample_files/syck-0.55/tests/Makefile.in +480 -0
  180. data/test/sample_files/syck-0.55/tests/Parse.c +208 -0
  181. data/test/sample_files/syck-0.55/tests/YTS.c +2310 -0
  182. data/test/sample_files/syck-0.55/tests/YTS.c.erb +326 -0
  183. data/test/sample_files/syck-0.55/tests/YTS.c.rb +44 -0
  184. data/test/test_availability.rb +68 -0
  185. data/test/test_generator.rb +74 -0
  186. metadata +252 -0
@@ -0,0 +1,79 @@
1
+ /* A Bison parser, made by GNU Bison 1.875d. */
2
+
3
+ /* Skeleton parser for Yacc-like parsing with Bison,
4
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5
+
6
+ This program is free software; you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation; either version 2, or (at your option)
9
+ any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program; if not, write to the Free Software
18
+ Foundation, Inc., 59 Temple Place - Suite 330,
19
+ Boston, MA 02111-1307, USA. */
20
+
21
+ /* As a special exception, when this file is copied by Bison into a
22
+ Bison output file, you may use that output file without restriction.
23
+ This special exception was added by the Free Software Foundation
24
+ in version 1.24 of Bison. */
25
+
26
+ /* Tokens. */
27
+ #ifndef YYTOKENTYPE
28
+ # define YYTOKENTYPE
29
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
30
+ know about them. */
31
+ enum yytokentype {
32
+ YAML_ANCHOR = 258,
33
+ YAML_ALIAS = 259,
34
+ YAML_TRANSFER = 260,
35
+ YAML_TAGURI = 261,
36
+ YAML_ITRANSFER = 262,
37
+ YAML_WORD = 263,
38
+ YAML_PLAIN = 264,
39
+ YAML_BLOCK = 265,
40
+ YAML_DOCSEP = 266,
41
+ YAML_IOPEN = 267,
42
+ YAML_INDENT = 268,
43
+ YAML_IEND = 269
44
+ };
45
+ #endif
46
+ #define YAML_ANCHOR 258
47
+ #define YAML_ALIAS 259
48
+ #define YAML_TRANSFER 260
49
+ #define YAML_TAGURI 261
50
+ #define YAML_ITRANSFER 262
51
+ #define YAML_WORD 263
52
+ #define YAML_PLAIN 264
53
+ #define YAML_BLOCK 265
54
+ #define YAML_DOCSEP 266
55
+ #define YAML_IOPEN 267
56
+ #define YAML_INDENT 268
57
+ #define YAML_IEND 269
58
+
59
+
60
+
61
+
62
+ #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
63
+ #line 35 "gram.y"
64
+ typedef union YYSTYPE {
65
+ SYMID nodeId;
66
+ SyckNode *nodeData;
67
+ char *name;
68
+ } YYSTYPE;
69
+ /* Line 1285 of yacc.c. */
70
+ #line 71 "gram.h"
71
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
72
+ # define YYSTYPE_IS_DECLARED 1
73
+ # define YYSTYPE_IS_TRIVIAL 1
74
+ #endif
75
+
76
+
77
+
78
+
79
+
@@ -0,0 +1,174 @@
1
+ /*
2
+ * handler.c
3
+ *
4
+ * $Author: why $
5
+ * $Date: 2005/01/08 21:44:00 $
6
+ *
7
+ * Copyright (C) 2003 why the lucky stiff
8
+ */
9
+
10
+ #include "syck.h"
11
+
12
+ SYMID
13
+ syck_hdlr_add_node( SyckParser *p, SyckNode *n )
14
+ {
15
+ SYMID id;
16
+
17
+ if ( ! n->id )
18
+ {
19
+ n->id = (p->handler)( p, n );
20
+ }
21
+ id = n->id;
22
+
23
+ if ( n->anchor == NULL )
24
+ {
25
+ syck_free_node( n );
26
+ }
27
+ return id;
28
+ }
29
+
30
+ SyckNode *
31
+ syck_hdlr_add_anchor( SyckParser *p, char *a, SyckNode *n )
32
+ {
33
+ char *atmp = NULL;
34
+ SyckNode *ntmp = NULL;
35
+
36
+ n->anchor = a;
37
+ if ( p->bad_anchors != NULL )
38
+ {
39
+ SyckNode *bad;
40
+ if ( st_lookup( p->bad_anchors, (st_data_t)a, (st_data_t *)&bad ) )
41
+ {
42
+ if ( n->kind != syck_str_kind )
43
+ {
44
+ n->id = bad->id;
45
+ (p->handler)( p, n );
46
+ }
47
+ }
48
+ }
49
+ if ( p->anchors == NULL )
50
+ {
51
+ p->anchors = st_init_strtable();
52
+ }
53
+ if ( st_lookup( p->anchors, (st_data_t)a, (st_data_t *)&ntmp ) )
54
+ {
55
+ if ( ntmp != (void *)1 )
56
+ {
57
+ syck_free_node( ntmp );
58
+ }
59
+ }
60
+ st_insert( p->anchors, (st_data_t)a, (st_data_t)n );
61
+ return n;
62
+ }
63
+
64
+ void
65
+ syck_hdlr_remove_anchor( SyckParser *p, char *a )
66
+ {
67
+ char *atmp = a;
68
+ SyckNode *ntmp;
69
+ if ( p->anchors == NULL )
70
+ {
71
+ p->anchors = st_init_strtable();
72
+ }
73
+ if ( st_delete( p->anchors, (st_data_t *)&atmp, (st_data_t *)&ntmp ) )
74
+ {
75
+ if ( ntmp != (void *)1 )
76
+ {
77
+ syck_free_node( ntmp );
78
+ }
79
+ }
80
+ st_insert( p->anchors, (st_data_t)a, (st_data_t)1 );
81
+ }
82
+
83
+ SyckNode *
84
+ syck_hdlr_get_anchor( SyckParser *p, char *a )
85
+ {
86
+ SyckNode *n = NULL;
87
+
88
+ if ( p->anchors != NULL )
89
+ {
90
+ if ( st_lookup( p->anchors, (st_data_t)a, (st_data_t *)&n ) )
91
+ {
92
+ if ( n != (void *)1 )
93
+ {
94
+ S_FREE( a );
95
+ return n;
96
+ }
97
+ else
98
+ {
99
+ if ( p->bad_anchors == NULL )
100
+ {
101
+ p->bad_anchors = st_init_strtable();
102
+ }
103
+ if ( ! st_lookup( p->bad_anchors, (st_data_t)a, (st_data_t *)&n ) )
104
+ {
105
+ n = (p->bad_anchor_handler)( p, a );
106
+ st_insert( p->bad_anchors, (st_data_t)a, (st_data_t)n );
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ if ( n == NULL )
113
+ {
114
+ n = (p->bad_anchor_handler)( p, a );
115
+ }
116
+
117
+ if ( n->anchor )
118
+ {
119
+ S_FREE( a );
120
+ }
121
+ else
122
+ {
123
+ n->anchor = a;
124
+ }
125
+
126
+ return n;
127
+ }
128
+
129
+ void
130
+ syck_add_transfer( char *uri, SyckNode *n, int taguri )
131
+ {
132
+ if ( n->type_id != NULL )
133
+ {
134
+ S_FREE( n->type_id );
135
+ }
136
+
137
+ if ( taguri == 0 )
138
+ {
139
+ n->type_id = uri;
140
+ return;
141
+ }
142
+
143
+ n->type_id = syck_type_id_to_uri( uri );
144
+ S_FREE( uri );
145
+ }
146
+
147
+ char *
148
+ syck_xprivate( char *type_id, int type_len )
149
+ {
150
+ char *uri = S_ALLOC_N( char, type_len + 14 );
151
+ uri[0] = '\0';
152
+ strcat( uri, "x-private:" );
153
+ strncat( uri, type_id, type_len );
154
+ return uri;
155
+ }
156
+
157
+ char *
158
+ syck_taguri( char *domain, char *type_id, int type_len )
159
+ {
160
+ char *uri = S_ALLOC_N( char, strlen( domain ) + type_len + 14 );
161
+ uri[0] = '\0';
162
+ strcat( uri, "tag:" );
163
+ strcat( uri, domain );
164
+ strcat( uri, ":" );
165
+ strncat( uri, type_id, type_len );
166
+ return uri;
167
+ }
168
+
169
+ int
170
+ syck_try_implicit( SyckNode *n )
171
+ {
172
+ return 1;
173
+ }
174
+
@@ -0,0 +1,2989 @@
1
+ /* Generated by re2c 0.9.3 on Wed Mar 30 08:27:25 2005 */
2
+ #line 1 "implicit.re"
3
+ /*
4
+ * implicit.re
5
+ *
6
+ * $Author: why $
7
+ * $Date: 2005/04/06 17:18:59 $
8
+ *
9
+ * Copyright (C) 2003 why the lucky stiff
10
+ */
11
+
12
+ #include "syck.h"
13
+
14
+ #define YYCTYPE char
15
+ #define YYCURSOR cursor
16
+ #define YYMARKER marker
17
+ #define YYLIMIT limit
18
+ #define YYFILL(n)
19
+
20
+ void
21
+ try_tag_implicit( SyckNode *n, int taguri )
22
+ {
23
+ char *tid = "";
24
+ switch ( n->kind )
25
+ {
26
+ case syck_str_kind:
27
+ tid = syck_match_implicit( n->data.str->ptr, n->data.str->len );
28
+ break;
29
+
30
+ case syck_seq_kind:
31
+ tid = "seq";
32
+ break;
33
+
34
+ case syck_map_kind:
35
+ tid = "map";
36
+ break;
37
+ }
38
+ if ( n->type_id != NULL ) S_FREE( n->type_id );
39
+ if ( taguri == 1 )
40
+ {
41
+ n->type_id = syck_taguri( YAML_DOMAIN, tid, strlen( tid ) );
42
+ } else {
43
+ n->type_id = syck_strndup( tid, strlen( tid ) );
44
+ }
45
+ }
46
+
47
+ char *syck_match_implicit( char *str, size_t len )
48
+ {
49
+ char *cursor, *limit, *marker;
50
+ cursor = str;
51
+ limit = str + len;
52
+
53
+
54
+ #line 6 "<stdout>"
55
+ {
56
+ YYCTYPE yych;
57
+ unsigned int yyaccept;
58
+ goto yy0;
59
+ yy1: ++YYCURSOR;
60
+ yy0:
61
+ if((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
62
+ yych = *YYCURSOR;
63
+ switch(yych){
64
+ case '\000': goto yy6;
65
+ case '+': goto yy16;
66
+ case '-': goto yy17;
67
+ case '.': goto yy20;
68
+ case '0': goto yy18;
69
+ case '1':
70
+ case '2':
71
+ case '3':
72
+ case '4':
73
+ case '5':
74
+ case '6':
75
+ case '7':
76
+ case '8':
77
+ case '9': goto yy19;
78
+ case '<': goto yy22;
79
+ case '=': goto yy21;
80
+ case 'F': goto yy15;
81
+ case 'N': goto yy5;
82
+ case 'O': goto yy13;
83
+ case 'T': goto yy11;
84
+ case 'Y': goto yy9;
85
+ case 'f': goto yy14;
86
+ case 'n': goto yy4;
87
+ case 'o': goto yy12;
88
+ case 't': goto yy10;
89
+ case 'y': goto yy8;
90
+ case '~': goto yy2;
91
+ default: goto yy23;
92
+ }
93
+ yy2: ++YYCURSOR;
94
+ if((yych = *YYCURSOR) <= '\000') goto yy6;
95
+ goto yy3;
96
+ yy3:
97
+ #line 123 "implicit.re"
98
+ { return "str"; }
99
+ #line 51 "<stdout>"
100
+ yy4: yyaccept = 0;
101
+ yych = *(YYMARKER = ++YYCURSOR);
102
+ switch(yych){
103
+ case 'o': goto yy172;
104
+ case 'u': goto yy200;
105
+ default: goto yy3;
106
+ }
107
+ yy5: yyaccept = 0;
108
+ yych = *(YYMARKER = ++YYCURSOR);
109
+ switch(yych){
110
+ case 'O': case 'o': goto yy172;
111
+ case 'U': goto yy195;
112
+ case 'u': goto yy196;
113
+ default: goto yy3;
114
+ }
115
+ yy6: ++YYCURSOR;
116
+ goto yy7;
117
+ yy7:
118
+ #line 85 "implicit.re"
119
+ { return "null"; }
120
+ #line 72 "<stdout>"
121
+ yy8: yyaccept = 0;
122
+ yych = *(YYMARKER = ++YYCURSOR);
123
+ switch(yych){
124
+ case 'e': goto yy194;
125
+ default: goto yy3;
126
+ }
127
+ yy9: yyaccept = 0;
128
+ yych = *(YYMARKER = ++YYCURSOR);
129
+ switch(yych){
130
+ case 'E': goto yy192;
131
+ case 'e': goto yy193;
132
+ default: goto yy3;
133
+ }
134
+ yy10: yyaccept = 0;
135
+ yych = *(YYMARKER = ++YYCURSOR);
136
+ switch(yych){
137
+ case 'r': goto yy190;
138
+ default: goto yy3;
139
+ }
140
+ yy11: yyaccept = 0;
141
+ yych = *(YYMARKER = ++YYCURSOR);
142
+ switch(yych){
143
+ case 'R': goto yy186;
144
+ case 'r': goto yy187;
145
+ default: goto yy3;
146
+ }
147
+ yy12: yyaccept = 0;
148
+ yych = *(YYMARKER = ++YYCURSOR);
149
+ switch(yych){
150
+ case 'f': goto yy185;
151
+ case 'n': goto yy182;
152
+ default: goto yy3;
153
+ }
154
+ yy13: yyaccept = 0;
155
+ yych = *(YYMARKER = ++YYCURSOR);
156
+ switch(yych){
157
+ case 'F': goto yy180;
158
+ case 'N': case 'n': goto yy182;
159
+ case 'f': goto yy181;
160
+ default: goto yy3;
161
+ }
162
+ yy14: yyaccept = 0;
163
+ yych = *(YYMARKER = ++YYCURSOR);
164
+ switch(yych){
165
+ case 'a': goto yy177;
166
+ default: goto yy3;
167
+ }
168
+ yy15: yyaccept = 0;
169
+ yych = *(YYMARKER = ++YYCURSOR);
170
+ switch(yych){
171
+ case 'A': goto yy168;
172
+ case 'a': goto yy169;
173
+ default: goto yy3;
174
+ }
175
+ yy16: yyaccept = 0;
176
+ yych = *(YYMARKER = ++YYCURSOR);
177
+ switch(yych){
178
+ case '.': goto yy167;
179
+ case '0': goto yy158;
180
+ case '1':
181
+ case '2':
182
+ case '3':
183
+ case '4':
184
+ case '5':
185
+ case '6':
186
+ case '7':
187
+ case '8':
188
+ case '9': goto yy47;
189
+ default: goto yy3;
190
+ }
191
+ yy17: yyaccept = 0;
192
+ yych = *(YYMARKER = ++YYCURSOR);
193
+ switch(yych){
194
+ case '.': goto yy157;
195
+ case '0': goto yy158;
196
+ case '1':
197
+ case '2':
198
+ case '3':
199
+ case '4':
200
+ case '5':
201
+ case '6':
202
+ case '7':
203
+ case '8':
204
+ case '9': goto yy47;
205
+ default: goto yy3;
206
+ }
207
+ yy18: yyaccept = 0;
208
+ yych = *(YYMARKER = ++YYCURSOR);
209
+ switch(yych){
210
+ case '\000': goto yy52;
211
+ case ',': goto yy142;
212
+ case '.': goto yy50;
213
+ case '0':
214
+ case '1':
215
+ case '2':
216
+ case '3':
217
+ case '4':
218
+ case '5':
219
+ case '6':
220
+ case '7': goto yy140;
221
+ case '8':
222
+ case '9': goto yy141;
223
+ case ':': goto yy49;
224
+ case 'x': goto yy144;
225
+ default: goto yy3;
226
+ }
227
+ yy19: yyaccept = 0;
228
+ yych = *(YYMARKER = ++YYCURSOR);
229
+ switch(yych){
230
+ case '\000': goto yy52;
231
+ case ',': goto yy47;
232
+ case '.': goto yy50;
233
+ case '0':
234
+ case '1':
235
+ case '2':
236
+ case '3':
237
+ case '4':
238
+ case '5':
239
+ case '6':
240
+ case '7':
241
+ case '8':
242
+ case '9': goto yy46;
243
+ case ':': goto yy49;
244
+ default: goto yy3;
245
+ }
246
+ yy20: yyaccept = 0;
247
+ yych = *(YYMARKER = ++YYCURSOR);
248
+ switch(yych){
249
+ case 'I': goto yy33;
250
+ case 'N': goto yy31;
251
+ case 'i': goto yy32;
252
+ case 'n': goto yy30;
253
+ default: goto yy3;
254
+ }
255
+ yy21: yych = *++YYCURSOR;
256
+ if(yych <= '\000') goto yy28;
257
+ goto yy3;
258
+ yy22: yyaccept = 0;
259
+ yych = *(YYMARKER = ++YYCURSOR);
260
+ switch(yych){
261
+ case '<': goto yy24;
262
+ default: goto yy3;
263
+ }
264
+ yy23: yych = *++YYCURSOR;
265
+ goto yy3;
266
+ yy24: yych = *++YYCURSOR;
267
+ if(yych <= '\000') goto yy26;
268
+ goto yy25;
269
+ yy25: YYCURSOR = YYMARKER;
270
+ switch(yyaccept){
271
+ case 0: goto yy3;
272
+ }
273
+ yy26: ++YYCURSOR;
274
+ goto yy27;
275
+ yy27:
276
+ #line 121 "implicit.re"
277
+ { return "merge"; }
278
+ #line 230 "<stdout>"
279
+ yy28: ++YYCURSOR;
280
+ goto yy29;
281
+ yy29:
282
+ #line 119 "implicit.re"
283
+ { return "default"; }
284
+ #line 236 "<stdout>"
285
+ yy30: yych = *++YYCURSOR;
286
+ switch(yych){
287
+ case 'a': goto yy45;
288
+ default: goto yy25;
289
+ }
290
+ yy31: yych = *++YYCURSOR;
291
+ switch(yych){
292
+ case 'A': goto yy40;
293
+ case 'a': goto yy41;
294
+ default: goto yy25;
295
+ }
296
+ yy32: yych = *++YYCURSOR;
297
+ switch(yych){
298
+ case 'n': goto yy39;
299
+ default: goto yy25;
300
+ }
301
+ yy33: yych = *++YYCURSOR;
302
+ switch(yych){
303
+ case 'N': goto yy34;
304
+ case 'n': goto yy35;
305
+ default: goto yy25;
306
+ }
307
+ yy34: yych = *++YYCURSOR;
308
+ switch(yych){
309
+ case 'F': goto yy36;
310
+ default: goto yy25;
311
+ }
312
+ yy35: yych = *++YYCURSOR;
313
+ switch(yych){
314
+ case 'f': goto yy36;
315
+ default: goto yy25;
316
+ }
317
+ yy36: yych = *++YYCURSOR;
318
+ if(yych >= '\001') goto yy25;
319
+ goto yy37;
320
+ yy37: ++YYCURSOR;
321
+ goto yy38;
322
+ yy38:
323
+ #line 105 "implicit.re"
324
+ { return "float#inf"; }
325
+ #line 277 "<stdout>"
326
+ yy39: yych = *++YYCURSOR;
327
+ switch(yych){
328
+ case 'f': goto yy36;
329
+ default: goto yy25;
330
+ }
331
+ yy40: yych = *++YYCURSOR;
332
+ switch(yych){
333
+ case 'N': goto yy42;
334
+ default: goto yy25;
335
+ }
336
+ yy41: yych = *++YYCURSOR;
337
+ switch(yych){
338
+ case 'N': goto yy42;
339
+ default: goto yy25;
340
+ }
341
+ yy42: yych = *++YYCURSOR;
342
+ if(yych >= '\001') goto yy25;
343
+ goto yy43;
344
+ yy43: ++YYCURSOR;
345
+ goto yy44;
346
+ yy44:
347
+ #line 109 "implicit.re"
348
+ { return "float#nan"; }
349
+ #line 301 "<stdout>"
350
+ yy45: yych = *++YYCURSOR;
351
+ switch(yych){
352
+ case 'n': goto yy42;
353
+ default: goto yy25;
354
+ }
355
+ yy46: yych = *++YYCURSOR;
356
+ switch(yych){
357
+ case '0':
358
+ case '1':
359
+ case '2':
360
+ case '3':
361
+ case '4':
362
+ case '5':
363
+ case '6':
364
+ case '7':
365
+ case '8':
366
+ case '9': goto yy74;
367
+ default: goto yy48;
368
+ }
369
+ yy47: ++YYCURSOR;
370
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
371
+ yych = *YYCURSOR;
372
+ goto yy48;
373
+ yy48: switch(yych){
374
+ case '\000': goto yy52;
375
+ case ',': case '0':
376
+ case '1':
377
+ case '2':
378
+ case '3':
379
+ case '4':
380
+ case '5':
381
+ case '6':
382
+ case '7':
383
+ case '8':
384
+ case '9': goto yy47;
385
+ case '.': goto yy50;
386
+ case ':': goto yy49;
387
+ default: goto yy25;
388
+ }
389
+ yy49: ++YYCURSOR;
390
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
391
+ yych = *YYCURSOR;
392
+ switch(yych){
393
+ case '0':
394
+ case '1':
395
+ case '2':
396
+ case '3':
397
+ case '4':
398
+ case '5': goto yy66;
399
+ case '6':
400
+ case '7':
401
+ case '8':
402
+ case '9': goto yy67;
403
+ default: goto yy25;
404
+ }
405
+ yy50: ++YYCURSOR;
406
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
407
+ yych = *YYCURSOR;
408
+ goto yy51;
409
+ yy51: switch(yych){
410
+ case '\000': goto yy56;
411
+ case ',': goto yy54;
412
+ case '.': goto yy58;
413
+ case '0':
414
+ case '1':
415
+ case '2':
416
+ case '3':
417
+ case '4':
418
+ case '5':
419
+ case '6':
420
+ case '7':
421
+ case '8':
422
+ case '9': goto yy50;
423
+ case 'E': case 'e': goto yy60;
424
+ default: goto yy25;
425
+ }
426
+ yy52: ++YYCURSOR;
427
+ goto yy53;
428
+ yy53:
429
+ #line 97 "implicit.re"
430
+ { return "int"; }
431
+ #line 386 "<stdout>"
432
+ yy54: ++YYCURSOR;
433
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
434
+ yych = *YYCURSOR;
435
+ goto yy55;
436
+ yy55: switch(yych){
437
+ case '\000': goto yy56;
438
+ case ',': case '0':
439
+ case '1':
440
+ case '2':
441
+ case '3':
442
+ case '4':
443
+ case '5':
444
+ case '6':
445
+ case '7':
446
+ case '8':
447
+ case '9': goto yy54;
448
+ default: goto yy25;
449
+ }
450
+ yy56: ++YYCURSOR;
451
+ goto yy57;
452
+ yy57:
453
+ #line 99 "implicit.re"
454
+ { return "float#fix"; }
455
+ #line 411 "<stdout>"
456
+ yy58: ++YYCURSOR;
457
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
458
+ yych = *YYCURSOR;
459
+ goto yy59;
460
+ yy59: switch(yych){
461
+ case '.': case '0':
462
+ case '1':
463
+ case '2':
464
+ case '3':
465
+ case '4':
466
+ case '5':
467
+ case '6':
468
+ case '7':
469
+ case '8':
470
+ case '9': goto yy58;
471
+ case 'E': case 'e': goto yy60;
472
+ default: goto yy25;
473
+ }
474
+ yy60: yych = *++YYCURSOR;
475
+ switch(yych){
476
+ case '+': case '-': goto yy61;
477
+ default: goto yy25;
478
+ }
479
+ yy61: yych = *++YYCURSOR;
480
+ if(yych <= '\000') goto yy25;
481
+ goto yy63;
482
+ yy62: ++YYCURSOR;
483
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
484
+ yych = *YYCURSOR;
485
+ goto yy63;
486
+ yy63: switch(yych){
487
+ case '\000': goto yy64;
488
+ case '0':
489
+ case '1':
490
+ case '2':
491
+ case '3':
492
+ case '4':
493
+ case '5':
494
+ case '6':
495
+ case '7':
496
+ case '8':
497
+ case '9': goto yy62;
498
+ default: goto yy25;
499
+ }
500
+ yy64: ++YYCURSOR;
501
+ goto yy65;
502
+ yy65:
503
+ #line 101 "implicit.re"
504
+ { return "float#exp"; }
505
+ #line 463 "<stdout>"
506
+ yy66: ++YYCURSOR;
507
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
508
+ yych = *YYCURSOR;
509
+ switch(yych){
510
+ case '\000': goto yy70;
511
+ case '.': goto yy68;
512
+ case '0':
513
+ case '1':
514
+ case '2':
515
+ case '3':
516
+ case '4':
517
+ case '5':
518
+ case '6':
519
+ case '7':
520
+ case '8':
521
+ case '9': goto yy67;
522
+ case ':': goto yy49;
523
+ default: goto yy25;
524
+ }
525
+ yy67: ++YYCURSOR;
526
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
527
+ yych = *YYCURSOR;
528
+ switch(yych){
529
+ case '\000': goto yy70;
530
+ case '.': goto yy68;
531
+ case ':': goto yy49;
532
+ default: goto yy25;
533
+ }
534
+ yy68: ++YYCURSOR;
535
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
536
+ yych = *YYCURSOR;
537
+ goto yy69;
538
+ yy69: switch(yych){
539
+ case '\000': goto yy72;
540
+ case ',': case '0':
541
+ case '1':
542
+ case '2':
543
+ case '3':
544
+ case '4':
545
+ case '5':
546
+ case '6':
547
+ case '7':
548
+ case '8':
549
+ case '9': goto yy68;
550
+ default: goto yy25;
551
+ }
552
+ yy70: ++YYCURSOR;
553
+ goto yy71;
554
+ yy71:
555
+ #line 95 "implicit.re"
556
+ { return "int#base60"; }
557
+ #line 518 "<stdout>"
558
+ yy72: ++YYCURSOR;
559
+ goto yy73;
560
+ yy73:
561
+ #line 103 "implicit.re"
562
+ { return "float#base60"; }
563
+ #line 524 "<stdout>"
564
+ yy74: yych = *++YYCURSOR;
565
+ switch(yych){
566
+ case '0':
567
+ case '1':
568
+ case '2':
569
+ case '3':
570
+ case '4':
571
+ case '5':
572
+ case '6':
573
+ case '7':
574
+ case '8':
575
+ case '9': goto yy75;
576
+ default: goto yy48;
577
+ }
578
+ yy75: yych = *++YYCURSOR;
579
+ switch(yych){
580
+ case '-': goto yy76;
581
+ default: goto yy48;
582
+ }
583
+ yy76: yych = *++YYCURSOR;
584
+ switch(yych){
585
+ case '0':
586
+ case '1':
587
+ case '2':
588
+ case '3':
589
+ case '4':
590
+ case '5':
591
+ case '6':
592
+ case '7':
593
+ case '8':
594
+ case '9': goto yy77;
595
+ default: goto yy25;
596
+ }
597
+ yy77: yych = *++YYCURSOR;
598
+ switch(yych){
599
+ case '0':
600
+ case '1':
601
+ case '2':
602
+ case '3':
603
+ case '4':
604
+ case '5':
605
+ case '6':
606
+ case '7':
607
+ case '8':
608
+ case '9': goto yy78;
609
+ default: goto yy25;
610
+ }
611
+ yy78: yych = *++YYCURSOR;
612
+ switch(yych){
613
+ case '-': goto yy79;
614
+ default: goto yy25;
615
+ }
616
+ yy79: yych = *++YYCURSOR;
617
+ switch(yych){
618
+ case '0':
619
+ case '1':
620
+ case '2':
621
+ case '3':
622
+ case '4':
623
+ case '5':
624
+ case '6':
625
+ case '7':
626
+ case '8':
627
+ case '9': goto yy80;
628
+ default: goto yy25;
629
+ }
630
+ yy80: yych = *++YYCURSOR;
631
+ switch(yych){
632
+ case '0':
633
+ case '1':
634
+ case '2':
635
+ case '3':
636
+ case '4':
637
+ case '5':
638
+ case '6':
639
+ case '7':
640
+ case '8':
641
+ case '9': goto yy81;
642
+ default: goto yy25;
643
+ }
644
+ yy81: yych = *++YYCURSOR;
645
+ switch(yych){
646
+ case '\000': goto yy82;
647
+ case '0':
648
+ case '1':
649
+ case '2':
650
+ case '3':
651
+ case '4':
652
+ case '5':
653
+ case '6':
654
+ case '7':
655
+ case '8':
656
+ case '9': goto yy25;
657
+ case 'T': goto yy84;
658
+ case 't': goto yy85;
659
+ default: goto yy87;
660
+ }
661
+ yy82: ++YYCURSOR;
662
+ goto yy83;
663
+ yy83:
664
+ #line 111 "implicit.re"
665
+ { return "timestamp#ymd"; }
666
+ #line 627 "<stdout>"
667
+ yy84: yych = *++YYCURSOR;
668
+ switch(yych){
669
+ case '0':
670
+ case '1':
671
+ case '2':
672
+ case '3':
673
+ case '4':
674
+ case '5':
675
+ case '6':
676
+ case '7':
677
+ case '8':
678
+ case '9': goto yy126;
679
+ default: goto yy25;
680
+ }
681
+ yy85: yych = *++YYCURSOR;
682
+ switch(yych){
683
+ case '0':
684
+ case '1':
685
+ case '2':
686
+ case '3':
687
+ case '4':
688
+ case '5':
689
+ case '6':
690
+ case '7':
691
+ case '8':
692
+ case '9': goto yy108;
693
+ default: goto yy25;
694
+ }
695
+ yy86: ++YYCURSOR;
696
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
697
+ yych = *YYCURSOR;
698
+ goto yy87;
699
+ yy87: switch(yych){
700
+ case '\t': case ' ': goto yy86;
701
+ case '0':
702
+ case '1':
703
+ case '2':
704
+ case '3':
705
+ case '4':
706
+ case '5':
707
+ case '6':
708
+ case '7':
709
+ case '8':
710
+ case '9': goto yy88;
711
+ default: goto yy25;
712
+ }
713
+ yy88: yych = *++YYCURSOR;
714
+ switch(yych){
715
+ case '0':
716
+ case '1':
717
+ case '2':
718
+ case '3':
719
+ case '4':
720
+ case '5':
721
+ case '6':
722
+ case '7':
723
+ case '8':
724
+ case '9': goto yy89;
725
+ default: goto yy25;
726
+ }
727
+ yy89: yych = *++YYCURSOR;
728
+ switch(yych){
729
+ case ':': goto yy90;
730
+ default: goto yy25;
731
+ }
732
+ yy90: yych = *++YYCURSOR;
733
+ switch(yych){
734
+ case '0':
735
+ case '1':
736
+ case '2':
737
+ case '3':
738
+ case '4':
739
+ case '5':
740
+ case '6':
741
+ case '7':
742
+ case '8':
743
+ case '9': goto yy91;
744
+ default: goto yy25;
745
+ }
746
+ yy91: yych = *++YYCURSOR;
747
+ switch(yych){
748
+ case '0':
749
+ case '1':
750
+ case '2':
751
+ case '3':
752
+ case '4':
753
+ case '5':
754
+ case '6':
755
+ case '7':
756
+ case '8':
757
+ case '9': goto yy92;
758
+ default: goto yy25;
759
+ }
760
+ yy92: yych = *++YYCURSOR;
761
+ switch(yych){
762
+ case ':': goto yy93;
763
+ default: goto yy25;
764
+ }
765
+ yy93: yych = *++YYCURSOR;
766
+ switch(yych){
767
+ case '0':
768
+ case '1':
769
+ case '2':
770
+ case '3':
771
+ case '4':
772
+ case '5':
773
+ case '6':
774
+ case '7':
775
+ case '8':
776
+ case '9': goto yy94;
777
+ default: goto yy25;
778
+ }
779
+ yy94: yych = *++YYCURSOR;
780
+ switch(yych){
781
+ case '0':
782
+ case '1':
783
+ case '2':
784
+ case '3':
785
+ case '4':
786
+ case '5':
787
+ case '6':
788
+ case '7':
789
+ case '8':
790
+ case '9': goto yy95;
791
+ default: goto yy25;
792
+ }
793
+ yy95: yych = *++YYCURSOR;
794
+ switch(yych){
795
+ case '\t': case ' ': goto yy98;
796
+ case '.': goto yy96;
797
+ default: goto yy25;
798
+ }
799
+ yy96: ++YYCURSOR;
800
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
801
+ yych = *YYCURSOR;
802
+ goto yy97;
803
+ yy97: switch(yych){
804
+ case '\t': case ' ': goto yy98;
805
+ case '0':
806
+ case '1':
807
+ case '2':
808
+ case '3':
809
+ case '4':
810
+ case '5':
811
+ case '6':
812
+ case '7':
813
+ case '8':
814
+ case '9': goto yy96;
815
+ default: goto yy25;
816
+ }
817
+ yy98: ++YYCURSOR;
818
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
819
+ yych = *YYCURSOR;
820
+ goto yy99;
821
+ yy99: switch(yych){
822
+ case '\t': case ' ': goto yy98;
823
+ case '+': case '-': goto yy101;
824
+ case 'Z': goto yy100;
825
+ default: goto yy25;
826
+ }
827
+ yy100: yych = *++YYCURSOR;
828
+ if(yych <= '\000') goto yy105;
829
+ goto yy25;
830
+ yy101: yych = *++YYCURSOR;
831
+ switch(yych){
832
+ case '0':
833
+ case '1':
834
+ case '2':
835
+ case '3':
836
+ case '4':
837
+ case '5':
838
+ case '6':
839
+ case '7':
840
+ case '8':
841
+ case '9': goto yy102;
842
+ default: goto yy25;
843
+ }
844
+ yy102: yych = *++YYCURSOR;
845
+ switch(yych){
846
+ case '0':
847
+ case '1':
848
+ case '2':
849
+ case '3':
850
+ case '4':
851
+ case '5':
852
+ case '6':
853
+ case '7':
854
+ case '8':
855
+ case '9': goto yy103;
856
+ default: goto yy25;
857
+ }
858
+ yy103: yych = *++YYCURSOR;
859
+ switch(yych){
860
+ case '\000': goto yy105;
861
+ case ':': goto yy104;
862
+ default: goto yy25;
863
+ }
864
+ yy104: yych = *++YYCURSOR;
865
+ switch(yych){
866
+ case '0':
867
+ case '1':
868
+ case '2':
869
+ case '3':
870
+ case '4':
871
+ case '5':
872
+ case '6':
873
+ case '7':
874
+ case '8':
875
+ case '9': goto yy107;
876
+ default: goto yy25;
877
+ }
878
+ yy105: ++YYCURSOR;
879
+ goto yy106;
880
+ yy106:
881
+ #line 115 "implicit.re"
882
+ { return "timestamp#spaced"; }
883
+ #line 847 "<stdout>"
884
+ yy107: yych = *++YYCURSOR;
885
+ switch(yych){
886
+ case '0':
887
+ case '1':
888
+ case '2':
889
+ case '3':
890
+ case '4':
891
+ case '5':
892
+ case '6':
893
+ case '7':
894
+ case '8':
895
+ case '9': goto yy100;
896
+ default: goto yy25;
897
+ }
898
+ yy108: yych = *++YYCURSOR;
899
+ switch(yych){
900
+ case '0':
901
+ case '1':
902
+ case '2':
903
+ case '3':
904
+ case '4':
905
+ case '5':
906
+ case '6':
907
+ case '7':
908
+ case '8':
909
+ case '9': goto yy109;
910
+ default: goto yy25;
911
+ }
912
+ yy109: yych = *++YYCURSOR;
913
+ switch(yych){
914
+ case ':': goto yy110;
915
+ default: goto yy25;
916
+ }
917
+ yy110: yych = *++YYCURSOR;
918
+ switch(yych){
919
+ case '0':
920
+ case '1':
921
+ case '2':
922
+ case '3':
923
+ case '4':
924
+ case '5':
925
+ case '6':
926
+ case '7':
927
+ case '8':
928
+ case '9': goto yy111;
929
+ default: goto yy25;
930
+ }
931
+ yy111: yych = *++YYCURSOR;
932
+ switch(yych){
933
+ case '0':
934
+ case '1':
935
+ case '2':
936
+ case '3':
937
+ case '4':
938
+ case '5':
939
+ case '6':
940
+ case '7':
941
+ case '8':
942
+ case '9': goto yy112;
943
+ default: goto yy25;
944
+ }
945
+ yy112: yych = *++YYCURSOR;
946
+ switch(yych){
947
+ case ':': goto yy113;
948
+ default: goto yy25;
949
+ }
950
+ yy113: yych = *++YYCURSOR;
951
+ switch(yych){
952
+ case '0':
953
+ case '1':
954
+ case '2':
955
+ case '3':
956
+ case '4':
957
+ case '5':
958
+ case '6':
959
+ case '7':
960
+ case '8':
961
+ case '9': goto yy114;
962
+ default: goto yy25;
963
+ }
964
+ yy114: yych = *++YYCURSOR;
965
+ switch(yych){
966
+ case '0':
967
+ case '1':
968
+ case '2':
969
+ case '3':
970
+ case '4':
971
+ case '5':
972
+ case '6':
973
+ case '7':
974
+ case '8':
975
+ case '9': goto yy115;
976
+ default: goto yy25;
977
+ }
978
+ yy115: yych = *++YYCURSOR;
979
+ switch(yych){
980
+ case '.': goto yy116;
981
+ case '0':
982
+ case '1':
983
+ case '2':
984
+ case '3':
985
+ case '4':
986
+ case '5':
987
+ case '6':
988
+ case '7':
989
+ case '8':
990
+ case '9': goto yy25;
991
+ default: goto yy117;
992
+ }
993
+ yy116: ++YYCURSOR;
994
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
995
+ yych = *YYCURSOR;
996
+ goto yy117;
997
+ yy117: switch(yych){
998
+ case '+': case '-': goto yy119;
999
+ case '0':
1000
+ case '1':
1001
+ case '2':
1002
+ case '3':
1003
+ case '4':
1004
+ case '5':
1005
+ case '6':
1006
+ case '7':
1007
+ case '8':
1008
+ case '9': goto yy116;
1009
+ case 'Z': goto yy118;
1010
+ default: goto yy25;
1011
+ }
1012
+ yy118: yych = *++YYCURSOR;
1013
+ if(yych <= '\000') goto yy123;
1014
+ goto yy25;
1015
+ yy119: yych = *++YYCURSOR;
1016
+ switch(yych){
1017
+ case '0':
1018
+ case '1':
1019
+ case '2':
1020
+ case '3':
1021
+ case '4':
1022
+ case '5':
1023
+ case '6':
1024
+ case '7':
1025
+ case '8':
1026
+ case '9': goto yy120;
1027
+ default: goto yy25;
1028
+ }
1029
+ yy120: yych = *++YYCURSOR;
1030
+ switch(yych){
1031
+ case '0':
1032
+ case '1':
1033
+ case '2':
1034
+ case '3':
1035
+ case '4':
1036
+ case '5':
1037
+ case '6':
1038
+ case '7':
1039
+ case '8':
1040
+ case '9': goto yy121;
1041
+ default: goto yy25;
1042
+ }
1043
+ yy121: yych = *++YYCURSOR;
1044
+ switch(yych){
1045
+ case '\000': goto yy123;
1046
+ case ':': goto yy122;
1047
+ default: goto yy25;
1048
+ }
1049
+ yy122: yych = *++YYCURSOR;
1050
+ switch(yych){
1051
+ case '0':
1052
+ case '1':
1053
+ case '2':
1054
+ case '3':
1055
+ case '4':
1056
+ case '5':
1057
+ case '6':
1058
+ case '7':
1059
+ case '8':
1060
+ case '9': goto yy125;
1061
+ default: goto yy25;
1062
+ }
1063
+ yy123: ++YYCURSOR;
1064
+ goto yy124;
1065
+ yy124:
1066
+ #line 113 "implicit.re"
1067
+ { return "timestamp#iso8601"; }
1068
+ #line 1033 "<stdout>"
1069
+ yy125: yych = *++YYCURSOR;
1070
+ switch(yych){
1071
+ case '0':
1072
+ case '1':
1073
+ case '2':
1074
+ case '3':
1075
+ case '4':
1076
+ case '5':
1077
+ case '6':
1078
+ case '7':
1079
+ case '8':
1080
+ case '9': goto yy118;
1081
+ default: goto yy25;
1082
+ }
1083
+ yy126: yych = *++YYCURSOR;
1084
+ switch(yych){
1085
+ case '0':
1086
+ case '1':
1087
+ case '2':
1088
+ case '3':
1089
+ case '4':
1090
+ case '5':
1091
+ case '6':
1092
+ case '7':
1093
+ case '8':
1094
+ case '9': goto yy127;
1095
+ default: goto yy25;
1096
+ }
1097
+ yy127: yych = *++YYCURSOR;
1098
+ switch(yych){
1099
+ case ':': goto yy128;
1100
+ default: goto yy25;
1101
+ }
1102
+ yy128: yych = *++YYCURSOR;
1103
+ switch(yych){
1104
+ case '0':
1105
+ case '1':
1106
+ case '2':
1107
+ case '3':
1108
+ case '4':
1109
+ case '5':
1110
+ case '6':
1111
+ case '7':
1112
+ case '8':
1113
+ case '9': goto yy129;
1114
+ default: goto yy25;
1115
+ }
1116
+ yy129: yych = *++YYCURSOR;
1117
+ switch(yych){
1118
+ case '0':
1119
+ case '1':
1120
+ case '2':
1121
+ case '3':
1122
+ case '4':
1123
+ case '5':
1124
+ case '6':
1125
+ case '7':
1126
+ case '8':
1127
+ case '9': goto yy130;
1128
+ default: goto yy25;
1129
+ }
1130
+ yy130: yych = *++YYCURSOR;
1131
+ switch(yych){
1132
+ case ':': goto yy131;
1133
+ default: goto yy25;
1134
+ }
1135
+ yy131: yych = *++YYCURSOR;
1136
+ switch(yych){
1137
+ case '0':
1138
+ case '1':
1139
+ case '2':
1140
+ case '3':
1141
+ case '4':
1142
+ case '5':
1143
+ case '6':
1144
+ case '7':
1145
+ case '8':
1146
+ case '9': goto yy132;
1147
+ default: goto yy25;
1148
+ }
1149
+ yy132: yych = *++YYCURSOR;
1150
+ switch(yych){
1151
+ case '0':
1152
+ case '1':
1153
+ case '2':
1154
+ case '3':
1155
+ case '4':
1156
+ case '5':
1157
+ case '6':
1158
+ case '7':
1159
+ case '8':
1160
+ case '9': goto yy133;
1161
+ default: goto yy25;
1162
+ }
1163
+ yy133: yych = *++YYCURSOR;
1164
+ switch(yych){
1165
+ case '.': goto yy134;
1166
+ case '0':
1167
+ case '1':
1168
+ case '2':
1169
+ case '3':
1170
+ case '4':
1171
+ case '5':
1172
+ case '6':
1173
+ case '7':
1174
+ case '8':
1175
+ case '9': goto yy25;
1176
+ case 'Z': goto yy136;
1177
+ default: goto yy135;
1178
+ }
1179
+ yy134: ++YYCURSOR;
1180
+ if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
1181
+ yych = *YYCURSOR;
1182
+ goto yy135;
1183
+ yy135: switch(yych){
1184
+ case '+': case '-': goto yy119;
1185
+ case '0': goto yy134;
1186
+ case '1':
1187
+ case '2':
1188
+ case '3':
1189
+ case '4':
1190
+ case '5':
1191
+ case '6':
1192
+ case '7':
1193
+ case '8':
1194
+ case '9': goto yy138;
1195
+ case 'Z': goto yy118;
1196
+ default: goto yy25;
1197
+ }
1198
+ yy136: yych = *++YYCURSOR;
1199
+ if(yych >= '\001') goto yy25;
1200
+ goto yy137;
1201
+ yy137: yych = *++YYCURSOR;
1202
+ goto yy124;
1203
+ yy138: ++YYCURSOR;
1204
+ if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
1205
+ yych = *YYCURSOR;
1206
+ goto yy139;
1207
+ yy139: switch(yych){
1208
+ case '+': case '-': goto yy119;
1209
+ case '0': goto yy134;
1210
+ case '1':
1211
+ case '2':
1212
+ case '3':
1213
+ case '4':
1214
+ case '5':
1215
+ case '6':
1216
+ case '7':
1217
+ case '8':
1218
+ case '9': goto yy138;
1219
+ case 'Z': goto yy136;
1220
+ default: goto yy25;
1221
+ }
1222
+ yy140: yych = *++YYCURSOR;
1223
+ switch(yych){
1224
+ case '0':
1225
+ case '1':
1226
+ case '2':
1227
+ case '3':
1228
+ case '4':
1229
+ case '5':
1230
+ case '6':
1231
+ case '7': goto yy155;
1232
+ case '8':
1233
+ case '9': goto yy153;
1234
+ default: goto yy143;
1235
+ }
1236
+ yy141: yych = *++YYCURSOR;
1237
+ switch(yych){
1238
+ case '0':
1239
+ case '1':
1240
+ case '2':
1241
+ case '3':
1242
+ case '4':
1243
+ case '5':
1244
+ case '6':
1245
+ case '7':
1246
+ case '8':
1247
+ case '9': goto yy153;
1248
+ default: goto yy152;
1249
+ }
1250
+ yy142: ++YYCURSOR;
1251
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1252
+ yych = *YYCURSOR;
1253
+ goto yy143;
1254
+ yy143: switch(yych){
1255
+ case '\000': goto yy149;
1256
+ case ',': case '0':
1257
+ case '1':
1258
+ case '2':
1259
+ case '3':
1260
+ case '4':
1261
+ case '5':
1262
+ case '6':
1263
+ case '7': goto yy142;
1264
+ case '.': goto yy50;
1265
+ case '8':
1266
+ case '9': goto yy151;
1267
+ case ':': goto yy49;
1268
+ default: goto yy25;
1269
+ }
1270
+ yy144: yych = *++YYCURSOR;
1271
+ if(yych <= '\000') goto yy25;
1272
+ goto yy146;
1273
+ yy145: ++YYCURSOR;
1274
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1275
+ yych = *YYCURSOR;
1276
+ goto yy146;
1277
+ yy146: switch(yych){
1278
+ case '\000': goto yy147;
1279
+ case ',': case '0':
1280
+ case '1':
1281
+ case '2':
1282
+ case '3':
1283
+ case '4':
1284
+ case '5':
1285
+ case '6':
1286
+ case '7':
1287
+ case '8':
1288
+ case '9': case 'A':
1289
+ case 'B':
1290
+ case 'C':
1291
+ case 'D':
1292
+ case 'E':
1293
+ case 'F': case 'a':
1294
+ case 'b':
1295
+ case 'c':
1296
+ case 'd':
1297
+ case 'e':
1298
+ case 'f': goto yy145;
1299
+ default: goto yy25;
1300
+ }
1301
+ yy147: ++YYCURSOR;
1302
+ goto yy148;
1303
+ yy148:
1304
+ #line 91 "implicit.re"
1305
+ { return "int#hex"; }
1306
+ #line 1275 "<stdout>"
1307
+ yy149: ++YYCURSOR;
1308
+ goto yy150;
1309
+ yy150:
1310
+ #line 93 "implicit.re"
1311
+ { return "int#oct"; }
1312
+ #line 1281 "<stdout>"
1313
+ yy151: ++YYCURSOR;
1314
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1315
+ yych = *YYCURSOR;
1316
+ goto yy152;
1317
+ yy152: switch(yych){
1318
+ case ',': case '0':
1319
+ case '1':
1320
+ case '2':
1321
+ case '3':
1322
+ case '4':
1323
+ case '5':
1324
+ case '6':
1325
+ case '7':
1326
+ case '8':
1327
+ case '9': goto yy151;
1328
+ case '.': goto yy50;
1329
+ case ':': goto yy49;
1330
+ default: goto yy25;
1331
+ }
1332
+ yy153: yych = *++YYCURSOR;
1333
+ switch(yych){
1334
+ case '0':
1335
+ case '1':
1336
+ case '2':
1337
+ case '3':
1338
+ case '4':
1339
+ case '5':
1340
+ case '6':
1341
+ case '7':
1342
+ case '8':
1343
+ case '9': goto yy154;
1344
+ default: goto yy152;
1345
+ }
1346
+ yy154: yych = *++YYCURSOR;
1347
+ switch(yych){
1348
+ case '-': goto yy76;
1349
+ default: goto yy152;
1350
+ }
1351
+ yy155: yych = *++YYCURSOR;
1352
+ switch(yych){
1353
+ case '0':
1354
+ case '1':
1355
+ case '2':
1356
+ case '3':
1357
+ case '4':
1358
+ case '5':
1359
+ case '6':
1360
+ case '7': goto yy156;
1361
+ case '8':
1362
+ case '9': goto yy154;
1363
+ default: goto yy143;
1364
+ }
1365
+ yy156: yych = *++YYCURSOR;
1366
+ switch(yych){
1367
+ case '-': goto yy76;
1368
+ default: goto yy143;
1369
+ }
1370
+ yy157: yych = *++YYCURSOR;
1371
+ switch(yych){
1372
+ case 'I': goto yy160;
1373
+ case 'i': goto yy159;
1374
+ default: goto yy25;
1375
+ }
1376
+ yy158: yych = *++YYCURSOR;
1377
+ switch(yych){
1378
+ case '\000': goto yy52;
1379
+ case 'x': goto yy144;
1380
+ default: goto yy143;
1381
+ }
1382
+ yy159: yych = *++YYCURSOR;
1383
+ switch(yych){
1384
+ case 'n': goto yy166;
1385
+ default: goto yy25;
1386
+ }
1387
+ yy160: yych = *++YYCURSOR;
1388
+ switch(yych){
1389
+ case 'N': goto yy161;
1390
+ case 'n': goto yy162;
1391
+ default: goto yy25;
1392
+ }
1393
+ yy161: yych = *++YYCURSOR;
1394
+ switch(yych){
1395
+ case 'F': goto yy163;
1396
+ default: goto yy25;
1397
+ }
1398
+ yy162: yych = *++YYCURSOR;
1399
+ switch(yych){
1400
+ case 'f': goto yy163;
1401
+ default: goto yy25;
1402
+ }
1403
+ yy163: yych = *++YYCURSOR;
1404
+ if(yych >= '\001') goto yy25;
1405
+ goto yy164;
1406
+ yy164: ++YYCURSOR;
1407
+ goto yy165;
1408
+ yy165:
1409
+ #line 107 "implicit.re"
1410
+ { return "float#neginf"; }
1411
+ #line 1381 "<stdout>"
1412
+ yy166: yych = *++YYCURSOR;
1413
+ switch(yych){
1414
+ case 'f': goto yy163;
1415
+ default: goto yy25;
1416
+ }
1417
+ yy167: yych = *++YYCURSOR;
1418
+ switch(yych){
1419
+ case 'I': goto yy33;
1420
+ case 'i': goto yy32;
1421
+ default: goto yy25;
1422
+ }
1423
+ yy168: yych = *++YYCURSOR;
1424
+ switch(yych){
1425
+ case 'L': goto yy175;
1426
+ default: goto yy25;
1427
+ }
1428
+ yy169: yych = *++YYCURSOR;
1429
+ switch(yych){
1430
+ case 'l': goto yy170;
1431
+ default: goto yy25;
1432
+ }
1433
+ yy170: yych = *++YYCURSOR;
1434
+ switch(yych){
1435
+ case 's': goto yy171;
1436
+ default: goto yy25;
1437
+ }
1438
+ yy171: yych = *++YYCURSOR;
1439
+ switch(yych){
1440
+ case 'e': goto yy172;
1441
+ default: goto yy25;
1442
+ }
1443
+ yy172: yych = *++YYCURSOR;
1444
+ if(yych >= '\001') goto yy25;
1445
+ goto yy173;
1446
+ yy173: ++YYCURSOR;
1447
+ goto yy174;
1448
+ yy174:
1449
+ #line 89 "implicit.re"
1450
+ { return "bool#no"; }
1451
+ #line 1421 "<stdout>"
1452
+ yy175: yych = *++YYCURSOR;
1453
+ switch(yych){
1454
+ case 'S': goto yy176;
1455
+ default: goto yy25;
1456
+ }
1457
+ yy176: yych = *++YYCURSOR;
1458
+ switch(yych){
1459
+ case 'E': goto yy172;
1460
+ default: goto yy25;
1461
+ }
1462
+ yy177: yych = *++YYCURSOR;
1463
+ switch(yych){
1464
+ case 'l': goto yy178;
1465
+ default: goto yy25;
1466
+ }
1467
+ yy178: yych = *++YYCURSOR;
1468
+ switch(yych){
1469
+ case 's': goto yy179;
1470
+ default: goto yy25;
1471
+ }
1472
+ yy179: yych = *++YYCURSOR;
1473
+ switch(yych){
1474
+ case 'e': goto yy172;
1475
+ default: goto yy25;
1476
+ }
1477
+ yy180: yych = *++YYCURSOR;
1478
+ switch(yych){
1479
+ case 'F': goto yy172;
1480
+ default: goto yy25;
1481
+ }
1482
+ yy181: yych = *++YYCURSOR;
1483
+ switch(yych){
1484
+ case 'f': goto yy172;
1485
+ default: goto yy25;
1486
+ }
1487
+ yy182: yych = *++YYCURSOR;
1488
+ if(yych >= '\001') goto yy25;
1489
+ goto yy183;
1490
+ yy183: ++YYCURSOR;
1491
+ goto yy184;
1492
+ yy184:
1493
+ #line 87 "implicit.re"
1494
+ { return "bool#yes"; }
1495
+ #line 1465 "<stdout>"
1496
+ yy185: yych = *++YYCURSOR;
1497
+ switch(yych){
1498
+ case 'f': goto yy172;
1499
+ default: goto yy25;
1500
+ }
1501
+ yy186: yych = *++YYCURSOR;
1502
+ switch(yych){
1503
+ case 'U': goto yy189;
1504
+ default: goto yy25;
1505
+ }
1506
+ yy187: yych = *++YYCURSOR;
1507
+ switch(yych){
1508
+ case 'u': goto yy188;
1509
+ default: goto yy25;
1510
+ }
1511
+ yy188: yych = *++YYCURSOR;
1512
+ switch(yych){
1513
+ case 'e': goto yy182;
1514
+ default: goto yy25;
1515
+ }
1516
+ yy189: yych = *++YYCURSOR;
1517
+ switch(yych){
1518
+ case 'E': goto yy182;
1519
+ default: goto yy25;
1520
+ }
1521
+ yy190: yych = *++YYCURSOR;
1522
+ switch(yych){
1523
+ case 'u': goto yy191;
1524
+ default: goto yy25;
1525
+ }
1526
+ yy191: yych = *++YYCURSOR;
1527
+ switch(yych){
1528
+ case 'e': goto yy182;
1529
+ default: goto yy25;
1530
+ }
1531
+ yy192: yych = *++YYCURSOR;
1532
+ switch(yych){
1533
+ case 'S': goto yy182;
1534
+ default: goto yy25;
1535
+ }
1536
+ yy193: yych = *++YYCURSOR;
1537
+ switch(yych){
1538
+ case 's': goto yy182;
1539
+ default: goto yy25;
1540
+ }
1541
+ yy194: yych = *++YYCURSOR;
1542
+ switch(yych){
1543
+ case 's': goto yy182;
1544
+ default: goto yy25;
1545
+ }
1546
+ yy195: yych = *++YYCURSOR;
1547
+ switch(yych){
1548
+ case 'L': goto yy199;
1549
+ default: goto yy25;
1550
+ }
1551
+ yy196: yych = *++YYCURSOR;
1552
+ switch(yych){
1553
+ case 'l': goto yy197;
1554
+ default: goto yy25;
1555
+ }
1556
+ yy197: yych = *++YYCURSOR;
1557
+ switch(yych){
1558
+ case 'l': goto yy198;
1559
+ default: goto yy25;
1560
+ }
1561
+ yy198: yych = *++YYCURSOR;
1562
+ if(yych <= '\000') goto yy6;
1563
+ goto yy25;
1564
+ yy199: yych = *++YYCURSOR;
1565
+ switch(yych){
1566
+ case 'L': goto yy198;
1567
+ default: goto yy25;
1568
+ }
1569
+ yy200: yych = *++YYCURSOR;
1570
+ switch(yych){
1571
+ case 'l': goto yy201;
1572
+ default: goto yy25;
1573
+ }
1574
+ yy201: ++YYCURSOR;
1575
+ switch((yych = *YYCURSOR)) {
1576
+ case 'l': goto yy198;
1577
+ default: goto yy25;
1578
+ }
1579
+ }
1580
+ #line 125 "implicit.re"
1581
+
1582
+
1583
+ }
1584
+
1585
+ /* Remove ending fragment and compare types */
1586
+ int
1587
+ syck_tagcmp( char *tag1, char *tag2 )
1588
+ {
1589
+ if ( tag1 == tag2 ) return 1;
1590
+ if ( tag1 == NULL || tag2 == NULL ) return 0;
1591
+ else {
1592
+ int i;
1593
+ char *othorpe;
1594
+ char *tmp1 = syck_strndup( tag1, strlen( tag1 ) );
1595
+ char *tmp2 = syck_strndup( tag2, strlen( tag2 ) );
1596
+ othorpe = strstr( tmp1, "#" );
1597
+ if ( othorpe != NULL ) {
1598
+ othorpe[0] = '\0';
1599
+ }
1600
+ othorpe = strstr( tmp2, "#" );
1601
+ if ( othorpe != NULL ) {
1602
+ othorpe[0] = '\0';
1603
+ }
1604
+ i = strcmp( tmp1, tmp2 );
1605
+ S_FREE( tmp1 ); S_FREE( tmp2 );
1606
+ return i;
1607
+ }
1608
+ }
1609
+
1610
+ char *
1611
+ syck_type_id_to_uri( char *type_id )
1612
+ {
1613
+ char *cursor, *limit, *marker;
1614
+
1615
+ cursor = type_id;
1616
+ limit = type_id + strlen( type_id );
1617
+
1618
+
1619
+ #line 1552 "<stdout>"
1620
+ {
1621
+ YYCTYPE yych;
1622
+ unsigned int yyaccept;
1623
+ goto yy202;
1624
+ yy203: ++YYCURSOR;
1625
+ yy202:
1626
+ if((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
1627
+ yych = *YYCURSOR;
1628
+ switch(yych){
1629
+ case '\000': goto yy204;
1630
+ case '!': goto yy208;
1631
+ case '0':
1632
+ case '1':
1633
+ case '2':
1634
+ case '3':
1635
+ case '4':
1636
+ case '5':
1637
+ case '6':
1638
+ case '7':
1639
+ case '8':
1640
+ case '9': case 'A':
1641
+ case 'B':
1642
+ case 'C':
1643
+ case 'D':
1644
+ case 'E':
1645
+ case 'F':
1646
+ case 'G':
1647
+ case 'H':
1648
+ case 'I':
1649
+ case 'J':
1650
+ case 'K':
1651
+ case 'L':
1652
+ case 'M':
1653
+ case 'N':
1654
+ case 'O':
1655
+ case 'P':
1656
+ case 'Q':
1657
+ case 'R':
1658
+ case 'S':
1659
+ case 'T':
1660
+ case 'U':
1661
+ case 'V':
1662
+ case 'W':
1663
+ case 'X':
1664
+ case 'Y':
1665
+ case 'Z': case '_': case 'a':
1666
+ case 'b':
1667
+ case 'c':
1668
+ case 'd':
1669
+ case 'e':
1670
+ case 'f':
1671
+ case 'g':
1672
+ case 'h':
1673
+ case 'i':
1674
+ case 'j':
1675
+ case 'k':
1676
+ case 'l':
1677
+ case 'm':
1678
+ case 'n':
1679
+ case 'o':
1680
+ case 'p':
1681
+ case 'q':
1682
+ case 'r':
1683
+ case 's': case 'u':
1684
+ case 'v':
1685
+ case 'w': case 'y':
1686
+ case 'z': goto yy210;
1687
+ case 't': goto yy205;
1688
+ case 'x': goto yy207;
1689
+ default: goto yy211;
1690
+ }
1691
+ yy204: YYCURSOR = YYMARKER;
1692
+ switch(yyaccept){
1693
+ case 0: goto yy206;
1694
+ }
1695
+ yy205: yyaccept = 0;
1696
+ yych = *(YYMARKER = ++YYCURSOR);
1697
+ switch(yych){
1698
+ case ',': goto yy216;
1699
+ case '-': goto yy212;
1700
+ case '.': goto yy217;
1701
+ case '/': goto yy218;
1702
+ case '0':
1703
+ case '1':
1704
+ case '2':
1705
+ case '3':
1706
+ case '4':
1707
+ case '5':
1708
+ case '6':
1709
+ case '7':
1710
+ case '8':
1711
+ case '9': case 'A':
1712
+ case 'B':
1713
+ case 'C':
1714
+ case 'D':
1715
+ case 'E':
1716
+ case 'F':
1717
+ case 'G':
1718
+ case 'H':
1719
+ case 'I':
1720
+ case 'J':
1721
+ case 'K':
1722
+ case 'L':
1723
+ case 'M':
1724
+ case 'N':
1725
+ case 'O':
1726
+ case 'P':
1727
+ case 'Q':
1728
+ case 'R':
1729
+ case 'S':
1730
+ case 'T':
1731
+ case 'U':
1732
+ case 'V':
1733
+ case 'W':
1734
+ case 'X':
1735
+ case 'Y':
1736
+ case 'Z': case '_': case 'b':
1737
+ case 'c':
1738
+ case 'd':
1739
+ case 'e':
1740
+ case 'f':
1741
+ case 'g':
1742
+ case 'h':
1743
+ case 'i':
1744
+ case 'j':
1745
+ case 'k':
1746
+ case 'l':
1747
+ case 'm':
1748
+ case 'n':
1749
+ case 'o':
1750
+ case 'p':
1751
+ case 'q':
1752
+ case 'r':
1753
+ case 's':
1754
+ case 't':
1755
+ case 'u':
1756
+ case 'v':
1757
+ case 'w':
1758
+ case 'x':
1759
+ case 'y':
1760
+ case 'z': goto yy214;
1761
+ case 'a': goto yy246;
1762
+ default: goto yy206;
1763
+ }
1764
+ yy206:
1765
+ #line 202 "implicit.re"
1766
+ { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); }
1767
+ #line 1700 "<stdout>"
1768
+ yy207: yyaccept = 0;
1769
+ yych = *(YYMARKER = ++YYCURSOR);
1770
+ switch(yych){
1771
+ case ',': case '.':
1772
+ case '/':
1773
+ case '0':
1774
+ case '1':
1775
+ case '2':
1776
+ case '3':
1777
+ case '4':
1778
+ case '5':
1779
+ case '6':
1780
+ case '7':
1781
+ case '8':
1782
+ case '9': case 'A':
1783
+ case 'B':
1784
+ case 'C':
1785
+ case 'D':
1786
+ case 'E':
1787
+ case 'F':
1788
+ case 'G':
1789
+ case 'H':
1790
+ case 'I':
1791
+ case 'J':
1792
+ case 'K':
1793
+ case 'L':
1794
+ case 'M':
1795
+ case 'N':
1796
+ case 'O':
1797
+ case 'P':
1798
+ case 'Q':
1799
+ case 'R':
1800
+ case 'S':
1801
+ case 'T':
1802
+ case 'U':
1803
+ case 'V':
1804
+ case 'W':
1805
+ case 'X':
1806
+ case 'Y':
1807
+ case 'Z': case '_': case 'a':
1808
+ case 'b':
1809
+ case 'c':
1810
+ case 'd':
1811
+ case 'e':
1812
+ case 'f':
1813
+ case 'g':
1814
+ case 'h':
1815
+ case 'i':
1816
+ case 'j':
1817
+ case 'k':
1818
+ case 'l':
1819
+ case 'm':
1820
+ case 'n':
1821
+ case 'o':
1822
+ case 'p':
1823
+ case 'q':
1824
+ case 'r':
1825
+ case 's':
1826
+ case 't':
1827
+ case 'u':
1828
+ case 'v':
1829
+ case 'w':
1830
+ case 'x':
1831
+ case 'y':
1832
+ case 'z': goto yy215;
1833
+ case '-': goto yy236;
1834
+ default: goto yy206;
1835
+ }
1836
+ yy208: ++YYCURSOR;
1837
+ goto yy209;
1838
+ yy209:
1839
+ #line 176 "implicit.re"
1840
+ { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); }
1841
+ #line 1774 "<stdout>"
1842
+ yy210: yyaccept = 0;
1843
+ yych = *(YYMARKER = ++YYCURSOR);
1844
+ switch(yych){
1845
+ case ',': goto yy216;
1846
+ case '-': goto yy212;
1847
+ case '.': goto yy217;
1848
+ case '/': goto yy218;
1849
+ case '0':
1850
+ case '1':
1851
+ case '2':
1852
+ case '3':
1853
+ case '4':
1854
+ case '5':
1855
+ case '6':
1856
+ case '7':
1857
+ case '8':
1858
+ case '9': case 'A':
1859
+ case 'B':
1860
+ case 'C':
1861
+ case 'D':
1862
+ case 'E':
1863
+ case 'F':
1864
+ case 'G':
1865
+ case 'H':
1866
+ case 'I':
1867
+ case 'J':
1868
+ case 'K':
1869
+ case 'L':
1870
+ case 'M':
1871
+ case 'N':
1872
+ case 'O':
1873
+ case 'P':
1874
+ case 'Q':
1875
+ case 'R':
1876
+ case 'S':
1877
+ case 'T':
1878
+ case 'U':
1879
+ case 'V':
1880
+ case 'W':
1881
+ case 'X':
1882
+ case 'Y':
1883
+ case 'Z': case '_': case 'a':
1884
+ case 'b':
1885
+ case 'c':
1886
+ case 'd':
1887
+ case 'e':
1888
+ case 'f':
1889
+ case 'g':
1890
+ case 'h':
1891
+ case 'i':
1892
+ case 'j':
1893
+ case 'k':
1894
+ case 'l':
1895
+ case 'm':
1896
+ case 'n':
1897
+ case 'o':
1898
+ case 'p':
1899
+ case 'q':
1900
+ case 'r':
1901
+ case 's':
1902
+ case 't':
1903
+ case 'u':
1904
+ case 'v':
1905
+ case 'w':
1906
+ case 'x':
1907
+ case 'y':
1908
+ case 'z': goto yy214;
1909
+ default: goto yy206;
1910
+ }
1911
+ yy211: yych = *++YYCURSOR;
1912
+ goto yy206;
1913
+ yy212: ++YYCURSOR;
1914
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1915
+ yych = *YYCURSOR;
1916
+ goto yy213;
1917
+ yy213: switch(yych){
1918
+ case '-': goto yy212;
1919
+ case '0':
1920
+ case '1':
1921
+ case '2':
1922
+ case '3':
1923
+ case '4':
1924
+ case '5':
1925
+ case '6':
1926
+ case '7':
1927
+ case '8':
1928
+ case '9': case 'A':
1929
+ case 'B':
1930
+ case 'C':
1931
+ case 'D':
1932
+ case 'E':
1933
+ case 'F':
1934
+ case 'G':
1935
+ case 'H':
1936
+ case 'I':
1937
+ case 'J':
1938
+ case 'K':
1939
+ case 'L':
1940
+ case 'M':
1941
+ case 'N':
1942
+ case 'O':
1943
+ case 'P':
1944
+ case 'Q':
1945
+ case 'R':
1946
+ case 'S':
1947
+ case 'T':
1948
+ case 'U':
1949
+ case 'V':
1950
+ case 'W':
1951
+ case 'X':
1952
+ case 'Y':
1953
+ case 'Z': case '_': case 'a':
1954
+ case 'b':
1955
+ case 'c':
1956
+ case 'd':
1957
+ case 'e':
1958
+ case 'f':
1959
+ case 'g':
1960
+ case 'h':
1961
+ case 'i':
1962
+ case 'j':
1963
+ case 'k':
1964
+ case 'l':
1965
+ case 'm':
1966
+ case 'n':
1967
+ case 'o':
1968
+ case 'p':
1969
+ case 'q':
1970
+ case 'r':
1971
+ case 's':
1972
+ case 't':
1973
+ case 'u':
1974
+ case 'v':
1975
+ case 'w':
1976
+ case 'x':
1977
+ case 'y':
1978
+ case 'z': goto yy214;
1979
+ default: goto yy204;
1980
+ }
1981
+ yy214: ++YYCURSOR;
1982
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1983
+ yych = *YYCURSOR;
1984
+ goto yy215;
1985
+ yy215: switch(yych){
1986
+ case ',': goto yy216;
1987
+ case '-': goto yy212;
1988
+ case '.': goto yy217;
1989
+ case '/': goto yy218;
1990
+ case '0':
1991
+ case '1':
1992
+ case '2':
1993
+ case '3':
1994
+ case '4':
1995
+ case '5':
1996
+ case '6':
1997
+ case '7':
1998
+ case '8':
1999
+ case '9': case 'A':
2000
+ case 'B':
2001
+ case 'C':
2002
+ case 'D':
2003
+ case 'E':
2004
+ case 'F':
2005
+ case 'G':
2006
+ case 'H':
2007
+ case 'I':
2008
+ case 'J':
2009
+ case 'K':
2010
+ case 'L':
2011
+ case 'M':
2012
+ case 'N':
2013
+ case 'O':
2014
+ case 'P':
2015
+ case 'Q':
2016
+ case 'R':
2017
+ case 'S':
2018
+ case 'T':
2019
+ case 'U':
2020
+ case 'V':
2021
+ case 'W':
2022
+ case 'X':
2023
+ case 'Y':
2024
+ case 'Z': case '_': case 'a':
2025
+ case 'b':
2026
+ case 'c':
2027
+ case 'd':
2028
+ case 'e':
2029
+ case 'f':
2030
+ case 'g':
2031
+ case 'h':
2032
+ case 'i':
2033
+ case 'j':
2034
+ case 'k':
2035
+ case 'l':
2036
+ case 'm':
2037
+ case 'n':
2038
+ case 'o':
2039
+ case 'p':
2040
+ case 'q':
2041
+ case 'r':
2042
+ case 's':
2043
+ case 't':
2044
+ case 'u':
2045
+ case 'v':
2046
+ case 'w':
2047
+ case 'x':
2048
+ case 'y':
2049
+ case 'z': goto yy214;
2050
+ default: goto yy204;
2051
+ }
2052
+ yy216: yych = *++YYCURSOR;
2053
+ switch(yych){
2054
+ case '0':
2055
+ case '1':
2056
+ case '2':
2057
+ case '3':
2058
+ case '4':
2059
+ case '5':
2060
+ case '6':
2061
+ case '7':
2062
+ case '8':
2063
+ case '9': goto yy224;
2064
+ default: goto yy204;
2065
+ }
2066
+ yy217: ++YYCURSOR;
2067
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2068
+ yych = *YYCURSOR;
2069
+ switch(yych){
2070
+ case '0':
2071
+ case '1':
2072
+ case '2':
2073
+ case '3':
2074
+ case '4':
2075
+ case '5':
2076
+ case '6':
2077
+ case '7':
2078
+ case '8':
2079
+ case '9': case 'A':
2080
+ case 'B':
2081
+ case 'C':
2082
+ case 'D':
2083
+ case 'E':
2084
+ case 'F':
2085
+ case 'G':
2086
+ case 'H':
2087
+ case 'I':
2088
+ case 'J':
2089
+ case 'K':
2090
+ case 'L':
2091
+ case 'M':
2092
+ case 'N':
2093
+ case 'O':
2094
+ case 'P':
2095
+ case 'Q':
2096
+ case 'R':
2097
+ case 'S':
2098
+ case 'T':
2099
+ case 'U':
2100
+ case 'V':
2101
+ case 'W':
2102
+ case 'X':
2103
+ case 'Y':
2104
+ case 'Z': case '_': case 'a':
2105
+ case 'b':
2106
+ case 'c':
2107
+ case 'd':
2108
+ case 'e':
2109
+ case 'f':
2110
+ case 'g':
2111
+ case 'h':
2112
+ case 'i':
2113
+ case 'j':
2114
+ case 'k':
2115
+ case 'l':
2116
+ case 'm':
2117
+ case 'n':
2118
+ case 'o':
2119
+ case 'p':
2120
+ case 'q':
2121
+ case 'r':
2122
+ case 's':
2123
+ case 't':
2124
+ case 'u':
2125
+ case 'v':
2126
+ case 'w':
2127
+ case 'x':
2128
+ case 'y':
2129
+ case 'z': goto yy220;
2130
+ default: goto yy204;
2131
+ }
2132
+ yy218: ++YYCURSOR;
2133
+ goto yy219;
2134
+ yy219:
2135
+ #line 178 "implicit.re"
2136
+ { char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 );
2137
+ char *uri;
2138
+
2139
+ domain[0] = '\0';
2140
+ strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 );
2141
+ strcat( domain, "." );
2142
+ strcat( domain, YAML_DOMAIN );
2143
+ uri = syck_taguri( domain, YYCURSOR, YYLIMIT - YYCURSOR );
2144
+
2145
+ S_FREE( domain );
2146
+ return uri;
2147
+ }
2148
+ #line 2084 "<stdout>"
2149
+ yy220: ++YYCURSOR;
2150
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
2151
+ yych = *YYCURSOR;
2152
+ goto yy221;
2153
+ yy221: switch(yych){
2154
+ case ',': goto yy216;
2155
+ case '-': goto yy222;
2156
+ case '.': goto yy217;
2157
+ case '/': goto yy218;
2158
+ case '0':
2159
+ case '1':
2160
+ case '2':
2161
+ case '3':
2162
+ case '4':
2163
+ case '5':
2164
+ case '6':
2165
+ case '7':
2166
+ case '8':
2167
+ case '9': case 'A':
2168
+ case 'B':
2169
+ case 'C':
2170
+ case 'D':
2171
+ case 'E':
2172
+ case 'F':
2173
+ case 'G':
2174
+ case 'H':
2175
+ case 'I':
2176
+ case 'J':
2177
+ case 'K':
2178
+ case 'L':
2179
+ case 'M':
2180
+ case 'N':
2181
+ case 'O':
2182
+ case 'P':
2183
+ case 'Q':
2184
+ case 'R':
2185
+ case 'S':
2186
+ case 'T':
2187
+ case 'U':
2188
+ case 'V':
2189
+ case 'W':
2190
+ case 'X':
2191
+ case 'Y':
2192
+ case 'Z': case '_': case 'a':
2193
+ case 'b':
2194
+ case 'c':
2195
+ case 'd':
2196
+ case 'e':
2197
+ case 'f':
2198
+ case 'g':
2199
+ case 'h':
2200
+ case 'i':
2201
+ case 'j':
2202
+ case 'k':
2203
+ case 'l':
2204
+ case 'm':
2205
+ case 'n':
2206
+ case 'o':
2207
+ case 'p':
2208
+ case 'q':
2209
+ case 'r':
2210
+ case 's':
2211
+ case 't':
2212
+ case 'u':
2213
+ case 'v':
2214
+ case 'w':
2215
+ case 'x':
2216
+ case 'y':
2217
+ case 'z': goto yy220;
2218
+ default: goto yy204;
2219
+ }
2220
+ yy222: ++YYCURSOR;
2221
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2222
+ yych = *YYCURSOR;
2223
+ goto yy223;
2224
+ yy223: switch(yych){
2225
+ case '-': goto yy222;
2226
+ case '0':
2227
+ case '1':
2228
+ case '2':
2229
+ case '3':
2230
+ case '4':
2231
+ case '5':
2232
+ case '6':
2233
+ case '7':
2234
+ case '8':
2235
+ case '9': case 'A':
2236
+ case 'B':
2237
+ case 'C':
2238
+ case 'D':
2239
+ case 'E':
2240
+ case 'F':
2241
+ case 'G':
2242
+ case 'H':
2243
+ case 'I':
2244
+ case 'J':
2245
+ case 'K':
2246
+ case 'L':
2247
+ case 'M':
2248
+ case 'N':
2249
+ case 'O':
2250
+ case 'P':
2251
+ case 'Q':
2252
+ case 'R':
2253
+ case 'S':
2254
+ case 'T':
2255
+ case 'U':
2256
+ case 'V':
2257
+ case 'W':
2258
+ case 'X':
2259
+ case 'Y':
2260
+ case 'Z': case '_': case 'a':
2261
+ case 'b':
2262
+ case 'c':
2263
+ case 'd':
2264
+ case 'e':
2265
+ case 'f':
2266
+ case 'g':
2267
+ case 'h':
2268
+ case 'i':
2269
+ case 'j':
2270
+ case 'k':
2271
+ case 'l':
2272
+ case 'm':
2273
+ case 'n':
2274
+ case 'o':
2275
+ case 'p':
2276
+ case 'q':
2277
+ case 'r':
2278
+ case 's':
2279
+ case 't':
2280
+ case 'u':
2281
+ case 'v':
2282
+ case 'w':
2283
+ case 'x':
2284
+ case 'y':
2285
+ case 'z': goto yy220;
2286
+ default: goto yy204;
2287
+ }
2288
+ yy224: yych = *++YYCURSOR;
2289
+ switch(yych){
2290
+ case '0':
2291
+ case '1':
2292
+ case '2':
2293
+ case '3':
2294
+ case '4':
2295
+ case '5':
2296
+ case '6':
2297
+ case '7':
2298
+ case '8':
2299
+ case '9': goto yy225;
2300
+ default: goto yy204;
2301
+ }
2302
+ yy225: yych = *++YYCURSOR;
2303
+ switch(yych){
2304
+ case '0':
2305
+ case '1':
2306
+ case '2':
2307
+ case '3':
2308
+ case '4':
2309
+ case '5':
2310
+ case '6':
2311
+ case '7':
2312
+ case '8':
2313
+ case '9': goto yy226;
2314
+ default: goto yy204;
2315
+ }
2316
+ yy226: yych = *++YYCURSOR;
2317
+ switch(yych){
2318
+ case '0':
2319
+ case '1':
2320
+ case '2':
2321
+ case '3':
2322
+ case '4':
2323
+ case '5':
2324
+ case '6':
2325
+ case '7':
2326
+ case '8':
2327
+ case '9': goto yy227;
2328
+ default: goto yy204;
2329
+ }
2330
+ yy227: yych = *++YYCURSOR;
2331
+ switch(yych){
2332
+ case '-': goto yy228;
2333
+ case '/': goto yy229;
2334
+ default: goto yy204;
2335
+ }
2336
+ yy228: yych = *++YYCURSOR;
2337
+ switch(yych){
2338
+ case '0':
2339
+ case '1':
2340
+ case '2':
2341
+ case '3':
2342
+ case '4':
2343
+ case '5':
2344
+ case '6':
2345
+ case '7':
2346
+ case '8':
2347
+ case '9': goto yy231;
2348
+ default: goto yy204;
2349
+ }
2350
+ yy229: ++YYCURSOR;
2351
+ goto yy230;
2352
+ yy230:
2353
+ #line 191 "implicit.re"
2354
+ { char *domain = S_ALLOC_N( char, YYCURSOR - type_id );
2355
+ char *uri;
2356
+
2357
+ domain[0] = '\0';
2358
+ strncat( domain, type_id, ( YYCURSOR - type_id ) - 1 );
2359
+ uri = syck_taguri( domain, YYCURSOR, YYLIMIT - YYCURSOR );
2360
+
2361
+ S_FREE( domain );
2362
+ return uri;
2363
+ }
2364
+ #line 2302 "<stdout>"
2365
+ yy231: yych = *++YYCURSOR;
2366
+ switch(yych){
2367
+ case '0':
2368
+ case '1':
2369
+ case '2':
2370
+ case '3':
2371
+ case '4':
2372
+ case '5':
2373
+ case '6':
2374
+ case '7':
2375
+ case '8':
2376
+ case '9': goto yy232;
2377
+ default: goto yy204;
2378
+ }
2379
+ yy232: yych = *++YYCURSOR;
2380
+ switch(yych){
2381
+ case '-': goto yy233;
2382
+ case '/': goto yy229;
2383
+ default: goto yy204;
2384
+ }
2385
+ yy233: yych = *++YYCURSOR;
2386
+ switch(yych){
2387
+ case '0':
2388
+ case '1':
2389
+ case '2':
2390
+ case '3':
2391
+ case '4':
2392
+ case '5':
2393
+ case '6':
2394
+ case '7':
2395
+ case '8':
2396
+ case '9': goto yy234;
2397
+ default: goto yy204;
2398
+ }
2399
+ yy234: yych = *++YYCURSOR;
2400
+ switch(yych){
2401
+ case '0':
2402
+ case '1':
2403
+ case '2':
2404
+ case '3':
2405
+ case '4':
2406
+ case '5':
2407
+ case '6':
2408
+ case '7':
2409
+ case '8':
2410
+ case '9': goto yy235;
2411
+ default: goto yy204;
2412
+ }
2413
+ yy235: yych = *++YYCURSOR;
2414
+ switch(yych){
2415
+ case '/': goto yy229;
2416
+ default: goto yy204;
2417
+ }
2418
+ yy236: yych = *++YYCURSOR;
2419
+ switch(yych){
2420
+ case 'p': goto yy237;
2421
+ default: goto yy213;
2422
+ }
2423
+ yy237: yych = *++YYCURSOR;
2424
+ switch(yych){
2425
+ case ',': goto yy216;
2426
+ case '.': goto yy217;
2427
+ case '/': goto yy218;
2428
+ case 'r': goto yy238;
2429
+ default: goto yy213;
2430
+ }
2431
+ yy238: yych = *++YYCURSOR;
2432
+ switch(yych){
2433
+ case ',': goto yy216;
2434
+ case '.': goto yy217;
2435
+ case '/': goto yy218;
2436
+ case 'i': goto yy239;
2437
+ default: goto yy213;
2438
+ }
2439
+ yy239: yych = *++YYCURSOR;
2440
+ switch(yych){
2441
+ case ',': goto yy216;
2442
+ case '.': goto yy217;
2443
+ case '/': goto yy218;
2444
+ case 'v': goto yy240;
2445
+ default: goto yy213;
2446
+ }
2447
+ yy240: yych = *++YYCURSOR;
2448
+ switch(yych){
2449
+ case ',': goto yy216;
2450
+ case '.': goto yy217;
2451
+ case '/': goto yy218;
2452
+ case 'a': goto yy241;
2453
+ default: goto yy213;
2454
+ }
2455
+ yy241: yych = *++YYCURSOR;
2456
+ switch(yych){
2457
+ case ',': goto yy216;
2458
+ case '.': goto yy217;
2459
+ case '/': goto yy218;
2460
+ case 't': goto yy242;
2461
+ default: goto yy213;
2462
+ }
2463
+ yy242: yych = *++YYCURSOR;
2464
+ switch(yych){
2465
+ case ',': goto yy216;
2466
+ case '.': goto yy217;
2467
+ case '/': goto yy218;
2468
+ case 'e': goto yy243;
2469
+ default: goto yy213;
2470
+ }
2471
+ yy243: yych = *++YYCURSOR;
2472
+ switch(yych){
2473
+ case ',': goto yy216;
2474
+ case '.': goto yy217;
2475
+ case '/': goto yy218;
2476
+ case ':': goto yy244;
2477
+ default: goto yy213;
2478
+ }
2479
+ yy244: ++YYCURSOR;
2480
+ goto yy245;
2481
+ yy245:
2482
+ #line 174 "implicit.re"
2483
+ { return type_id; }
2484
+ #line 2422 "<stdout>"
2485
+ yy246: yych = *++YYCURSOR;
2486
+ switch(yych){
2487
+ case ',': goto yy216;
2488
+ case '.': goto yy217;
2489
+ case '/': goto yy218;
2490
+ case 'g': goto yy247;
2491
+ default: goto yy213;
2492
+ }
2493
+ yy247: yych = *++YYCURSOR;
2494
+ switch(yych){
2495
+ case ',': goto yy216;
2496
+ case '.': goto yy217;
2497
+ case '/': goto yy218;
2498
+ case ':': goto yy248;
2499
+ default: goto yy213;
2500
+ }
2501
+ yy248: yych = *++YYCURSOR;
2502
+ switch(yych){
2503
+ case ',':
2504
+ case '-':
2505
+ case '.': goto yy204;
2506
+ default: goto yy250;
2507
+ }
2508
+ yy249: ++YYCURSOR;
2509
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2510
+ yych = *YYCURSOR;
2511
+ goto yy250;
2512
+ yy250: switch(yych){
2513
+ case ',': goto yy253;
2514
+ case '-': goto yy251;
2515
+ case '.': goto yy254;
2516
+ case '0':
2517
+ case '1':
2518
+ case '2':
2519
+ case '3':
2520
+ case '4':
2521
+ case '5':
2522
+ case '6':
2523
+ case '7':
2524
+ case '8':
2525
+ case '9': case 'A':
2526
+ case 'B':
2527
+ case 'C':
2528
+ case 'D':
2529
+ case 'E':
2530
+ case 'F':
2531
+ case 'G':
2532
+ case 'H':
2533
+ case 'I':
2534
+ case 'J':
2535
+ case 'K':
2536
+ case 'L':
2537
+ case 'M':
2538
+ case 'N':
2539
+ case 'O':
2540
+ case 'P':
2541
+ case 'Q':
2542
+ case 'R':
2543
+ case 'S':
2544
+ case 'T':
2545
+ case 'U':
2546
+ case 'V':
2547
+ case 'W':
2548
+ case 'X':
2549
+ case 'Y':
2550
+ case 'Z': case '_': case 'a':
2551
+ case 'b':
2552
+ case 'c':
2553
+ case 'd':
2554
+ case 'e':
2555
+ case 'f':
2556
+ case 'g':
2557
+ case 'h':
2558
+ case 'i':
2559
+ case 'j':
2560
+ case 'k':
2561
+ case 'l':
2562
+ case 'm':
2563
+ case 'n':
2564
+ case 'o':
2565
+ case 'p':
2566
+ case 'q':
2567
+ case 'r':
2568
+ case 's':
2569
+ case 't':
2570
+ case 'u':
2571
+ case 'v':
2572
+ case 'w':
2573
+ case 'x':
2574
+ case 'y':
2575
+ case 'z': goto yy249;
2576
+ default: goto yy204;
2577
+ }
2578
+ yy251: ++YYCURSOR;
2579
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2580
+ yych = *YYCURSOR;
2581
+ goto yy252;
2582
+ yy252: switch(yych){
2583
+ case '-': goto yy251;
2584
+ case '0':
2585
+ case '1':
2586
+ case '2':
2587
+ case '3':
2588
+ case '4':
2589
+ case '5':
2590
+ case '6':
2591
+ case '7':
2592
+ case '8':
2593
+ case '9': case 'A':
2594
+ case 'B':
2595
+ case 'C':
2596
+ case 'D':
2597
+ case 'E':
2598
+ case 'F':
2599
+ case 'G':
2600
+ case 'H':
2601
+ case 'I':
2602
+ case 'J':
2603
+ case 'K':
2604
+ case 'L':
2605
+ case 'M':
2606
+ case 'N':
2607
+ case 'O':
2608
+ case 'P':
2609
+ case 'Q':
2610
+ case 'R':
2611
+ case 'S':
2612
+ case 'T':
2613
+ case 'U':
2614
+ case 'V':
2615
+ case 'W':
2616
+ case 'X':
2617
+ case 'Y':
2618
+ case 'Z': case '_': case 'a':
2619
+ case 'b':
2620
+ case 'c':
2621
+ case 'd':
2622
+ case 'e':
2623
+ case 'f':
2624
+ case 'g':
2625
+ case 'h':
2626
+ case 'i':
2627
+ case 'j':
2628
+ case 'k':
2629
+ case 'l':
2630
+ case 'm':
2631
+ case 'n':
2632
+ case 'o':
2633
+ case 'p':
2634
+ case 'q':
2635
+ case 'r':
2636
+ case 's':
2637
+ case 't':
2638
+ case 'u':
2639
+ case 'v':
2640
+ case 'w':
2641
+ case 'x':
2642
+ case 'y':
2643
+ case 'z': goto yy249;
2644
+ default: goto yy204;
2645
+ }
2646
+ yy253: yych = *++YYCURSOR;
2647
+ switch(yych){
2648
+ case '0':
2649
+ case '1':
2650
+ case '2':
2651
+ case '3':
2652
+ case '4':
2653
+ case '5':
2654
+ case '6':
2655
+ case '7':
2656
+ case '8':
2657
+ case '9': goto yy259;
2658
+ default: goto yy204;
2659
+ }
2660
+ yy254: ++YYCURSOR;
2661
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2662
+ yych = *YYCURSOR;
2663
+ switch(yych){
2664
+ case '0':
2665
+ case '1':
2666
+ case '2':
2667
+ case '3':
2668
+ case '4':
2669
+ case '5':
2670
+ case '6':
2671
+ case '7':
2672
+ case '8':
2673
+ case '9': case 'A':
2674
+ case 'B':
2675
+ case 'C':
2676
+ case 'D':
2677
+ case 'E':
2678
+ case 'F':
2679
+ case 'G':
2680
+ case 'H':
2681
+ case 'I':
2682
+ case 'J':
2683
+ case 'K':
2684
+ case 'L':
2685
+ case 'M':
2686
+ case 'N':
2687
+ case 'O':
2688
+ case 'P':
2689
+ case 'Q':
2690
+ case 'R':
2691
+ case 'S':
2692
+ case 'T':
2693
+ case 'U':
2694
+ case 'V':
2695
+ case 'W':
2696
+ case 'X':
2697
+ case 'Y':
2698
+ case 'Z': case '_': case 'a':
2699
+ case 'b':
2700
+ case 'c':
2701
+ case 'd':
2702
+ case 'e':
2703
+ case 'f':
2704
+ case 'g':
2705
+ case 'h':
2706
+ case 'i':
2707
+ case 'j':
2708
+ case 'k':
2709
+ case 'l':
2710
+ case 'm':
2711
+ case 'n':
2712
+ case 'o':
2713
+ case 'p':
2714
+ case 'q':
2715
+ case 'r':
2716
+ case 's':
2717
+ case 't':
2718
+ case 'u':
2719
+ case 'v':
2720
+ case 'w':
2721
+ case 'x':
2722
+ case 'y':
2723
+ case 'z': goto yy255;
2724
+ default: goto yy204;
2725
+ }
2726
+ yy255: ++YYCURSOR;
2727
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
2728
+ yych = *YYCURSOR;
2729
+ goto yy256;
2730
+ yy256: switch(yych){
2731
+ case ',': goto yy253;
2732
+ case '-': goto yy257;
2733
+ case '.': goto yy254;
2734
+ case '0':
2735
+ case '1':
2736
+ case '2':
2737
+ case '3':
2738
+ case '4':
2739
+ case '5':
2740
+ case '6':
2741
+ case '7':
2742
+ case '8':
2743
+ case '9': case 'A':
2744
+ case 'B':
2745
+ case 'C':
2746
+ case 'D':
2747
+ case 'E':
2748
+ case 'F':
2749
+ case 'G':
2750
+ case 'H':
2751
+ case 'I':
2752
+ case 'J':
2753
+ case 'K':
2754
+ case 'L':
2755
+ case 'M':
2756
+ case 'N':
2757
+ case 'O':
2758
+ case 'P':
2759
+ case 'Q':
2760
+ case 'R':
2761
+ case 'S':
2762
+ case 'T':
2763
+ case 'U':
2764
+ case 'V':
2765
+ case 'W':
2766
+ case 'X':
2767
+ case 'Y':
2768
+ case 'Z': case '_': case 'a':
2769
+ case 'b':
2770
+ case 'c':
2771
+ case 'd':
2772
+ case 'e':
2773
+ case 'f':
2774
+ case 'g':
2775
+ case 'h':
2776
+ case 'i':
2777
+ case 'j':
2778
+ case 'k':
2779
+ case 'l':
2780
+ case 'm':
2781
+ case 'n':
2782
+ case 'o':
2783
+ case 'p':
2784
+ case 'q':
2785
+ case 'r':
2786
+ case 's':
2787
+ case 't':
2788
+ case 'u':
2789
+ case 'v':
2790
+ case 'w':
2791
+ case 'x':
2792
+ case 'y':
2793
+ case 'z': goto yy255;
2794
+ default: goto yy204;
2795
+ }
2796
+ yy257: ++YYCURSOR;
2797
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
2798
+ yych = *YYCURSOR;
2799
+ goto yy258;
2800
+ yy258: switch(yych){
2801
+ case '-': goto yy257;
2802
+ case '0':
2803
+ case '1':
2804
+ case '2':
2805
+ case '3':
2806
+ case '4':
2807
+ case '5':
2808
+ case '6':
2809
+ case '7':
2810
+ case '8':
2811
+ case '9': case 'A':
2812
+ case 'B':
2813
+ case 'C':
2814
+ case 'D':
2815
+ case 'E':
2816
+ case 'F':
2817
+ case 'G':
2818
+ case 'H':
2819
+ case 'I':
2820
+ case 'J':
2821
+ case 'K':
2822
+ case 'L':
2823
+ case 'M':
2824
+ case 'N':
2825
+ case 'O':
2826
+ case 'P':
2827
+ case 'Q':
2828
+ case 'R':
2829
+ case 'S':
2830
+ case 'T':
2831
+ case 'U':
2832
+ case 'V':
2833
+ case 'W':
2834
+ case 'X':
2835
+ case 'Y':
2836
+ case 'Z': case '_': case 'a':
2837
+ case 'b':
2838
+ case 'c':
2839
+ case 'd':
2840
+ case 'e':
2841
+ case 'f':
2842
+ case 'g':
2843
+ case 'h':
2844
+ case 'i':
2845
+ case 'j':
2846
+ case 'k':
2847
+ case 'l':
2848
+ case 'm':
2849
+ case 'n':
2850
+ case 'o':
2851
+ case 'p':
2852
+ case 'q':
2853
+ case 'r':
2854
+ case 's':
2855
+ case 't':
2856
+ case 'u':
2857
+ case 'v':
2858
+ case 'w':
2859
+ case 'x':
2860
+ case 'y':
2861
+ case 'z': goto yy255;
2862
+ default: goto yy204;
2863
+ }
2864
+ yy259: yych = *++YYCURSOR;
2865
+ switch(yych){
2866
+ case '0':
2867
+ case '1':
2868
+ case '2':
2869
+ case '3':
2870
+ case '4':
2871
+ case '5':
2872
+ case '6':
2873
+ case '7':
2874
+ case '8':
2875
+ case '9': goto yy260;
2876
+ default: goto yy204;
2877
+ }
2878
+ yy260: yych = *++YYCURSOR;
2879
+ switch(yych){
2880
+ case '0':
2881
+ case '1':
2882
+ case '2':
2883
+ case '3':
2884
+ case '4':
2885
+ case '5':
2886
+ case '6':
2887
+ case '7':
2888
+ case '8':
2889
+ case '9': goto yy261;
2890
+ default: goto yy204;
2891
+ }
2892
+ yy261: yych = *++YYCURSOR;
2893
+ switch(yych){
2894
+ case '0':
2895
+ case '1':
2896
+ case '2':
2897
+ case '3':
2898
+ case '4':
2899
+ case '5':
2900
+ case '6':
2901
+ case '7':
2902
+ case '8':
2903
+ case '9': goto yy262;
2904
+ default: goto yy204;
2905
+ }
2906
+ yy262: yych = *++YYCURSOR;
2907
+ switch(yych){
2908
+ case '-': goto yy263;
2909
+ case ':': goto yy264;
2910
+ default: goto yy204;
2911
+ }
2912
+ yy263: yych = *++YYCURSOR;
2913
+ switch(yych){
2914
+ case '0':
2915
+ case '1':
2916
+ case '2':
2917
+ case '3':
2918
+ case '4':
2919
+ case '5':
2920
+ case '6':
2921
+ case '7':
2922
+ case '8':
2923
+ case '9': goto yy266;
2924
+ default: goto yy204;
2925
+ }
2926
+ yy264: ++YYCURSOR;
2927
+ goto yy265;
2928
+ yy265:
2929
+ #line 172 "implicit.re"
2930
+ { return type_id; }
2931
+ #line 2874 "<stdout>"
2932
+ yy266: yych = *++YYCURSOR;
2933
+ switch(yych){
2934
+ case '0':
2935
+ case '1':
2936
+ case '2':
2937
+ case '3':
2938
+ case '4':
2939
+ case '5':
2940
+ case '6':
2941
+ case '7':
2942
+ case '8':
2943
+ case '9': goto yy267;
2944
+ default: goto yy204;
2945
+ }
2946
+ yy267: yych = *++YYCURSOR;
2947
+ switch(yych){
2948
+ case '-': goto yy268;
2949
+ case ':': goto yy264;
2950
+ default: goto yy204;
2951
+ }
2952
+ yy268: yych = *++YYCURSOR;
2953
+ switch(yych){
2954
+ case '0':
2955
+ case '1':
2956
+ case '2':
2957
+ case '3':
2958
+ case '4':
2959
+ case '5':
2960
+ case '6':
2961
+ case '7':
2962
+ case '8':
2963
+ case '9': goto yy269;
2964
+ default: goto yy204;
2965
+ }
2966
+ yy269: yych = *++YYCURSOR;
2967
+ switch(yych){
2968
+ case '0':
2969
+ case '1':
2970
+ case '2':
2971
+ case '3':
2972
+ case '4':
2973
+ case '5':
2974
+ case '6':
2975
+ case '7':
2976
+ case '8':
2977
+ case '9': goto yy270;
2978
+ default: goto yy204;
2979
+ }
2980
+ yy270: ++YYCURSOR;
2981
+ switch((yych = *YYCURSOR)) {
2982
+ case ':': goto yy264;
2983
+ default: goto yy204;
2984
+ }
2985
+ }
2986
+ #line 204 "implicit.re"
2987
+
2988
+
2989
+ }