mkrf 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,1170 @@
1
+ /* Generated by re2c 0.9.3 on Tue Apr 12 20:34:14 2005 */
2
+ #line 1 "bytecode.re"
3
+ /*
4
+ * bytecode.re
5
+ *
6
+ * $Author: why $
7
+ * $Date: 2005/04/13 06:27:54 $
8
+ *
9
+ * Copyright (C) 2003 why the lucky stiff
10
+ */
11
+ #include "syck.h"
12
+ #include "gram.h"
13
+
14
+ #define QUOTELEN 128
15
+
16
+ /*
17
+ * They do my bidding...
18
+ */
19
+ #define YYCTYPE char
20
+ #define YYCURSOR parser->cursor
21
+ #define YYMARKER parser->marker
22
+ #define YYLIMIT parser->limit
23
+ #define YYTOKEN parser->token
24
+ #define YYTOKTMP parser->toktmp
25
+ #define YYLINEPTR parser->lineptr
26
+ #define YYLINECTPTR parser->linectptr
27
+ #define YYLINE parser->linect
28
+ #define YYFILL(n) syck_parser_read(parser)
29
+
30
+ extern SyckParser *syck_parser_ptr;
31
+
32
+ char *get_inline( SyckParser *parser );
33
+
34
+ /*
35
+ * Repositions the cursor at `n' offset from the token start.
36
+ * Only works in `Header' and `Document' sections.
37
+ */
38
+ #define YYPOS(n) YYCURSOR = YYTOKEN + n
39
+
40
+ /*
41
+ * Track line numbers
42
+ */
43
+ #define CHK_NL(ptr) if ( *( ptr - 1 ) == '\n' && ptr > YYLINECTPTR ) { YYLINEPTR = ptr; YYLINE++; YYLINECTPTR = YYLINEPTR; }
44
+
45
+ /*
46
+ * I like seeing the level operations as macros...
47
+ */
48
+ #define ADD_LEVEL(len, status) syck_parser_add_level( parser, len, status )
49
+ #define POP_LEVEL() syck_parser_pop_level( parser )
50
+ #define CURRENT_LEVEL() syck_parser_current_level( parser )
51
+
52
+ /*
53
+ * Force a token next time around sycklex()
54
+ */
55
+ #define FORCE_NEXT_TOKEN(tok) parser->force_token = tok;
56
+
57
+ /*
58
+ * Adding levels in bytecode requires us to make sure
59
+ * we've got all our tokens worked out.
60
+ */
61
+ #define ADD_BYTE_LEVEL(lvl, len, s ) \
62
+ switch ( lvl->status ) \
63
+ { \
64
+ case syck_lvl_seq: \
65
+ lvl->ncount++; \
66
+ ADD_LEVEL(len, syck_lvl_open); \
67
+ YYPOS(0); \
68
+ return '-'; \
69
+ \
70
+ case syck_lvl_map: \
71
+ lvl->ncount++; \
72
+ ADD_LEVEL(len, s); \
73
+ break; \
74
+ \
75
+ case syck_lvl_open: \
76
+ lvl->status = s; \
77
+ break; \
78
+ \
79
+ default: \
80
+ ADD_LEVEL(len, s); \
81
+ break; \
82
+ }
83
+
84
+ /*
85
+ * Nice little macro to ensure we're YAML_IOPENed to the current level.
86
+ * * Only use this macro in the "Document" section *
87
+ */
88
+ #define ENSURE_YAML_IOPEN(last_lvl, lvl_type, to_len, reset) \
89
+ if ( last_lvl->spaces < to_len ) \
90
+ { \
91
+ if ( last_lvl->status == syck_lvl_iseq || last_lvl->status == syck_lvl_imap ) \
92
+ { \
93
+ goto Document; \
94
+ } \
95
+ else \
96
+ { \
97
+ ADD_LEVEL( to_len, lvl_type ); \
98
+ if ( reset == 1 ) YYPOS(0); \
99
+ return YAML_IOPEN; \
100
+ } \
101
+ }
102
+
103
+ /*
104
+ * Nice little macro to ensure closure of levels.
105
+ * * Only use this macro in the "Document" section *
106
+ */
107
+ #define ENSURE_YAML_IEND(last_lvl, to_len) \
108
+ if ( last_lvl->spaces > to_len ) \
109
+ { \
110
+ syck_parser_pop_level( parser ); \
111
+ YYPOS(0); \
112
+ return YAML_IEND; \
113
+ }
114
+
115
+ /*
116
+ * Concatenates string items and manages allocation
117
+ * to the string
118
+ */
119
+ #define CAT(s, c, i, l) \
120
+ { \
121
+ if ( i + 1 >= c ) \
122
+ { \
123
+ c += QUOTELEN; \
124
+ S_REALLOC_N( s, char, c ); \
125
+ } \
126
+ s[i++] = l; \
127
+ s[i] = '\0'; \
128
+ }
129
+
130
+ /*
131
+ * Parser for standard YAML Bytecode [UTF-8]
132
+ */
133
+ int
134
+ sycklex_bytecode_utf8( YYSTYPE *sycklval, SyckParser *parser )
135
+ {
136
+ SyckLevel *lvl;
137
+ int doc_level = 0;
138
+ syck_parser_ptr = parser;
139
+ if ( YYCURSOR == NULL )
140
+ {
141
+ syck_parser_read( parser );
142
+ }
143
+
144
+ if ( parser->force_token != 0 )
145
+ {
146
+ int t = parser->force_token;
147
+ parser->force_token = 0;
148
+ return t;
149
+ }
150
+
151
+ #line 173 "bytecode.re"
152
+
153
+
154
+ lvl = CURRENT_LEVEL();
155
+ if ( lvl->status == syck_lvl_doc )
156
+ {
157
+ goto Document;
158
+ }
159
+
160
+ Header:
161
+
162
+ YYTOKEN = YYCURSOR;
163
+
164
+
165
+ #line 7 "<stdout>"
166
+ {
167
+ YYCTYPE yych;
168
+ unsigned int yyaccept;
169
+ goto yy0;
170
+ yy1: ++YYCURSOR;
171
+ yy0:
172
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
173
+ yych = *YYCURSOR;
174
+ switch(yych){
175
+ case '\000': goto yy2;
176
+ case 'D': goto yy3;
177
+ default: goto yy5;
178
+ }
179
+ yy2: YYCURSOR = YYMARKER;
180
+ switch(yyaccept){
181
+ case 0: goto yy4;
182
+ }
183
+ yy3: yyaccept = 0;
184
+ yych = *(YYMARKER = ++YYCURSOR);
185
+ switch(yych){
186
+ case '\n': goto yy6;
187
+ case '\r': goto yy8;
188
+ default: goto yy4;
189
+ }
190
+ yy4:
191
+ #line 200 "bytecode.re"
192
+ { YYPOS(0);
193
+ goto Document;
194
+ }
195
+ #line 37 "<stdout>"
196
+ yy5: yych = *++YYCURSOR;
197
+ goto yy4;
198
+ yy6: ++YYCURSOR;
199
+ goto yy7;
200
+ yy7:
201
+ #line 187 "bytecode.re"
202
+ { if ( lvl->status == syck_lvl_header )
203
+ {
204
+ CHK_NL(YYCURSOR);
205
+ goto Directive;
206
+ }
207
+ else
208
+ {
209
+ ENSURE_YAML_IEND(lvl, -1);
210
+ YYPOS(0);
211
+ return 0;
212
+ }
213
+ }
214
+ #line 56 "<stdout>"
215
+ yy8: ++YYCURSOR;
216
+ switch((yych = *YYCURSOR)) {
217
+ case '\n': goto yy6;
218
+ default: goto yy2;
219
+ }
220
+ }
221
+ #line 204 "bytecode.re"
222
+
223
+
224
+ Document:
225
+ {
226
+ lvl = CURRENT_LEVEL();
227
+ if ( lvl->status == syck_lvl_header )
228
+ {
229
+ lvl->status = syck_lvl_doc;
230
+ }
231
+
232
+ YYTOKEN = YYCURSOR;
233
+
234
+
235
+ #line 65 "<stdout>"
236
+ {
237
+ YYCTYPE yych;
238
+ unsigned int yyaccept;
239
+ goto yy9;
240
+ yy10: ++YYCURSOR;
241
+ yy9:
242
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
243
+ yych = *YYCURSOR;
244
+ switch(yych){
245
+ case '\000': goto yy30;
246
+ case '\n': goto yy27;
247
+ case '\r': goto yy29;
248
+ case 'A': goto yy19;
249
+ case 'D': goto yy12;
250
+ case 'E': goto yy16;
251
+ case 'M': goto yy14;
252
+ case 'P': goto yy13;
253
+ case 'Q': goto yy15;
254
+ case 'R': goto yy21;
255
+ case 'S': goto yy17;
256
+ case 'T': goto yy23;
257
+ case 'c': goto yy25;
258
+ default: goto yy11;
259
+ }
260
+ yy11:yy12: yych = *++YYCURSOR;
261
+ switch(yych){
262
+ case '\n': goto yy41;
263
+ case '\r': goto yy44;
264
+ default: goto yy11;
265
+ }
266
+ yy13: yych = *++YYCURSOR;
267
+ switch(yych){
268
+ case '\n': goto yy41;
269
+ case '\r': goto yy43;
270
+ default: goto yy11;
271
+ }
272
+ yy14: yych = *++YYCURSOR;
273
+ switch(yych){
274
+ case '\n': goto yy38;
275
+ case '\r': goto yy40;
276
+ default: goto yy11;
277
+ }
278
+ yy15: yych = *++YYCURSOR;
279
+ switch(yych){
280
+ case '\n': goto yy35;
281
+ case '\r': goto yy37;
282
+ default: goto yy11;
283
+ }
284
+ yy16: yych = *++YYCURSOR;
285
+ switch(yych){
286
+ case '\n': goto yy32;
287
+ case '\r': goto yy34;
288
+ default: goto yy11;
289
+ }
290
+ yy17: ++YYCURSOR;
291
+ goto yy18;
292
+ yy18:
293
+ #line 289 "bytecode.re"
294
+ { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
295
+ goto Scalar;
296
+ }
297
+ #line 127 "<stdout>"
298
+ yy19: ++YYCURSOR;
299
+ goto yy20;
300
+ yy20:
301
+ #line 293 "bytecode.re"
302
+ { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
303
+ sycklval->name = get_inline( parser );
304
+ syck_hdlr_remove_anchor( parser, sycklval->name );
305
+ CHK_NL(YYCURSOR);
306
+ return YAML_ANCHOR;
307
+ }
308
+ #line 138 "<stdout>"
309
+ yy21: ++YYCURSOR;
310
+ goto yy22;
311
+ yy22:
312
+ #line 300 "bytecode.re"
313
+ { ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
314
+ sycklval->name = get_inline( parser );
315
+ POP_LEVEL();
316
+ if ( *( YYCURSOR - 1 ) == '\n' ) YYCURSOR--;
317
+ return YAML_ALIAS;
318
+ }
319
+ #line 149 "<stdout>"
320
+ yy23: ++YYCURSOR;
321
+ goto yy24;
322
+ yy24:
323
+ #line 307 "bytecode.re"
324
+ { char *qstr;
325
+ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
326
+ qstr = get_inline( parser );
327
+ CHK_NL(YYCURSOR);
328
+ if ( qstr[0] == '!' )
329
+ {
330
+ int qidx = strlen( qstr );
331
+ if ( qstr[1] == '\0' )
332
+ {
333
+ free( qstr );
334
+ return YAML_ITRANSFER;
335
+ }
336
+
337
+ lvl = CURRENT_LEVEL();
338
+
339
+ /*
340
+ * URL Prefixing
341
+ */
342
+ if ( qstr[1] == '^' )
343
+ {
344
+ sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) );
345
+ sycklval->name[0] = '\0';
346
+ strcat( sycklval->name, lvl->domain );
347
+ strncat( sycklval->name, qstr + 2, qidx - 2 );
348
+ free( qstr );
349
+ }
350
+ else
351
+ {
352
+ char *carat = qstr + 1;
353
+ char *qend = qstr + qidx;
354
+ while ( (++carat) < qend )
355
+ {
356
+ if ( *carat == '^' )
357
+ break;
358
+ }
359
+
360
+ if ( carat < qend )
361
+ {
362
+ free( lvl->domain );
363
+ lvl->domain = syck_strndup( qstr + 1, carat - ( qstr + 1 ) );
364
+ sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) );
365
+ sycklval->name[0] = '\0';
366
+ strcat( sycklval->name, lvl->domain );
367
+ strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 );
368
+ free( qstr );
369
+ }
370
+ else
371
+ {
372
+ sycklval->name = S_ALLOC_N( char, strlen( qstr ) );
373
+ sycklval->name[0] = '\0';
374
+ S_MEMCPY( sycklval->name, qstr + 1, char, strlen( qstr ) );
375
+ free( qstr );
376
+ }
377
+ }
378
+ return YAML_TRANSFER;
379
+ }
380
+ sycklval->name = qstr;
381
+ return YAML_TAGURI;
382
+ }
383
+ #line 213 "<stdout>"
384
+ yy25: ++YYCURSOR;
385
+ goto yy26;
386
+ yy26:
387
+ #line 367 "bytecode.re"
388
+ { goto Comment; }
389
+ #line 219 "<stdout>"
390
+ yy27: ++YYCURSOR;
391
+ goto yy28;
392
+ yy28:
393
+ #line 369 "bytecode.re"
394
+ { CHK_NL(YYCURSOR);
395
+ if ( lvl->status == syck_lvl_seq )
396
+ {
397
+ return YAML_INDENT;
398
+ }
399
+ else if ( lvl->status == syck_lvl_map )
400
+ {
401
+ if ( lvl->ncount % 2 == 1 ) return ':';
402
+ else return YAML_INDENT;
403
+ }
404
+ goto Document;
405
+ }
406
+ #line 236 "<stdout>"
407
+ yy29: yych = *++YYCURSOR;
408
+ switch(yych){
409
+ case '\n': goto yy27;
410
+ default: goto yy11;
411
+ }
412
+ yy30: ++YYCURSOR;
413
+ goto yy31;
414
+ yy31:
415
+ #line 382 "bytecode.re"
416
+ { ENSURE_YAML_IEND(lvl, -1);
417
+ YYPOS(0);
418
+ return 0;
419
+ }
420
+ #line 250 "<stdout>"
421
+ yy32: ++YYCURSOR;
422
+ goto yy33;
423
+ yy33:
424
+ #line 253 "bytecode.re"
425
+ { if ( lvl->status == syck_lvl_seq && lvl->ncount == 0 )
426
+ {
427
+ lvl->ncount++;
428
+ YYPOS(0);
429
+ FORCE_NEXT_TOKEN( ']' );
430
+ return '[';
431
+ }
432
+ else if ( lvl->status == syck_lvl_map && lvl->ncount == 0 )
433
+ {
434
+ lvl->ncount++;
435
+ YYPOS(0);
436
+ FORCE_NEXT_TOKEN( '}' );
437
+ return '{';
438
+ }
439
+
440
+ POP_LEVEL();
441
+ lvl = CURRENT_LEVEL();
442
+ if ( lvl->status == syck_lvl_seq )
443
+ {
444
+ FORCE_NEXT_TOKEN(YAML_INDENT);
445
+ }
446
+ else if ( lvl->status == syck_lvl_map )
447
+ {
448
+ if ( lvl->ncount % 2 == 1 )
449
+ {
450
+ FORCE_NEXT_TOKEN(':');
451
+ }
452
+ else
453
+ {
454
+ FORCE_NEXT_TOKEN(YAML_INDENT);
455
+ }
456
+ }
457
+ CHK_NL(YYCURSOR);
458
+ return YAML_IEND;
459
+ }
460
+ #line 290 "<stdout>"
461
+ yy34: yych = *++YYCURSOR;
462
+ switch(yych){
463
+ case '\n': goto yy32;
464
+ default: goto yy11;
465
+ }
466
+ yy35: ++YYCURSOR;
467
+ goto yy36;
468
+ yy36:
469
+ #line 238 "bytecode.re"
470
+ { int complex = 0;
471
+ if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
472
+ {
473
+ complex = 1;
474
+ }
475
+ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_seq);
476
+ CHK_NL(YYCURSOR);
477
+ if ( complex )
478
+ {
479
+ FORCE_NEXT_TOKEN( YAML_IOPEN );
480
+ return '?';
481
+ }
482
+ return YAML_IOPEN;
483
+ }
484
+ #line 314 "<stdout>"
485
+ yy37: yych = *++YYCURSOR;
486
+ switch(yych){
487
+ case '\n': goto yy35;
488
+ default: goto yy11;
489
+ }
490
+ yy38: ++YYCURSOR;
491
+ goto yy39;
492
+ yy39:
493
+ #line 223 "bytecode.re"
494
+ { int complex = 0;
495
+ if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
496
+ {
497
+ complex = 1;
498
+ }
499
+ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_map);
500
+ CHK_NL(YYCURSOR);
501
+ if ( complex )
502
+ {
503
+ FORCE_NEXT_TOKEN( YAML_IOPEN );
504
+ return '?';
505
+ }
506
+ return YAML_IOPEN;
507
+ }
508
+ #line 338 "<stdout>"
509
+ yy40: yych = *++YYCURSOR;
510
+ switch(yych){
511
+ case '\n': goto yy38;
512
+ default: goto yy11;
513
+ }
514
+ yy41: ++YYCURSOR;
515
+ goto yy42;
516
+ yy42:
517
+ #line 218 "bytecode.re"
518
+ { ENSURE_YAML_IEND(lvl, -1);
519
+ YYPOS(0);
520
+ return 0;
521
+ }
522
+ #line 352 "<stdout>"
523
+ yy43: yych = *++YYCURSOR;
524
+ switch(yych){
525
+ case '\n': goto yy41;
526
+ default: goto yy11;
527
+ }
528
+ yy44: ++YYCURSOR;
529
+ switch((yych = *YYCURSOR)) {
530
+ case '\n': goto yy41;
531
+ default: goto yy11;
532
+ }
533
+ }
534
+ #line 387 "bytecode.re"
535
+
536
+
537
+ }
538
+
539
+ Directive:
540
+ {
541
+ YYTOKEN = YYCURSOR;
542
+
543
+
544
+ #line 366 "<stdout>"
545
+ {
546
+ YYCTYPE yych;
547
+ unsigned int yyaccept;
548
+ goto yy45;
549
+ yy46: ++YYCURSOR;
550
+ yy45:
551
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
552
+ yych = *YYCURSOR;
553
+ switch(yych){
554
+ case '\000': goto yy47;
555
+ case 'V': goto yy48;
556
+ default: goto yy50;
557
+ }
558
+ yy47: YYCURSOR = YYMARKER;
559
+ switch(yyaccept){
560
+ case 0: goto yy49;
561
+ }
562
+ yy48: yyaccept = 0;
563
+ yych = *(YYMARKER = ++YYCURSOR);
564
+ switch(yych){
565
+ case '.':
566
+ case '/':
567
+ case '0':
568
+ case '1':
569
+ case '2':
570
+ case '3':
571
+ case '4':
572
+ case '5':
573
+ case '6':
574
+ case '7':
575
+ case '8':
576
+ case '9':
577
+ case ':':
578
+ case ';':
579
+ case '<':
580
+ case '=':
581
+ case '>':
582
+ case '?':
583
+ case '@':
584
+ case 'A':
585
+ case 'B':
586
+ case 'C':
587
+ case 'D':
588
+ case 'E':
589
+ case 'F':
590
+ case 'G':
591
+ case 'H':
592
+ case 'I':
593
+ case 'J':
594
+ case 'K':
595
+ case 'L':
596
+ case 'M':
597
+ case 'N':
598
+ case 'O':
599
+ case 'P':
600
+ case 'Q':
601
+ case 'R':
602
+ case 'S':
603
+ case 'T':
604
+ case 'U':
605
+ case 'V':
606
+ case 'W':
607
+ case 'X':
608
+ case 'Y':
609
+ case 'Z':
610
+ case '[':
611
+ case '\\':
612
+ case ']':
613
+ case '^':
614
+ case '_': case 'a':
615
+ case 'b':
616
+ case 'c':
617
+ case 'd':
618
+ case 'e':
619
+ case 'f':
620
+ case 'g':
621
+ case 'h':
622
+ case 'i':
623
+ case 'j':
624
+ case 'k':
625
+ case 'l':
626
+ case 'm':
627
+ case 'n':
628
+ case 'o':
629
+ case 'p':
630
+ case 'q':
631
+ case 'r':
632
+ case 's':
633
+ case 't':
634
+ case 'u':
635
+ case 'v':
636
+ case 'w':
637
+ case 'x':
638
+ case 'y':
639
+ case 'z': goto yy51;
640
+ default: goto yy49;
641
+ }
642
+ yy49:
643
+ #line 400 "bytecode.re"
644
+ { YYCURSOR = YYTOKEN;
645
+ return YAML_DOCSEP;
646
+ }
647
+ #line 469 "<stdout>"
648
+ yy50: yych = *++YYCURSOR;
649
+ goto yy49;
650
+ yy51: ++YYCURSOR;
651
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
652
+ yych = *YYCURSOR;
653
+ goto yy52;
654
+ yy52: switch(yych){
655
+ case '.':
656
+ case '/':
657
+ case '0':
658
+ case '1':
659
+ case '2':
660
+ case '3':
661
+ case '4':
662
+ case '5':
663
+ case '6':
664
+ case '7':
665
+ case '8':
666
+ case '9': case ';':
667
+ case '<':
668
+ case '=':
669
+ case '>':
670
+ case '?':
671
+ case '@':
672
+ case 'A':
673
+ case 'B':
674
+ case 'C':
675
+ case 'D':
676
+ case 'E':
677
+ case 'F':
678
+ case 'G':
679
+ case 'H':
680
+ case 'I':
681
+ case 'J':
682
+ case 'K':
683
+ case 'L':
684
+ case 'M':
685
+ case 'N':
686
+ case 'O':
687
+ case 'P':
688
+ case 'Q':
689
+ case 'R':
690
+ case 'S':
691
+ case 'T':
692
+ case 'U':
693
+ case 'V':
694
+ case 'W':
695
+ case 'X':
696
+ case 'Y':
697
+ case 'Z':
698
+ case '[':
699
+ case '\\':
700
+ case ']':
701
+ case '^':
702
+ case '_': case 'a':
703
+ case 'b':
704
+ case 'c':
705
+ case 'd':
706
+ case 'e':
707
+ case 'f':
708
+ case 'g':
709
+ case 'h':
710
+ case 'i':
711
+ case 'j':
712
+ case 'k':
713
+ case 'l':
714
+ case 'm':
715
+ case 'n':
716
+ case 'o':
717
+ case 'p':
718
+ case 'q':
719
+ case 'r':
720
+ case 's':
721
+ case 't':
722
+ case 'u':
723
+ case 'v':
724
+ case 'w':
725
+ case 'x':
726
+ case 'y':
727
+ case 'z': goto yy51;
728
+ case ':': goto yy53;
729
+ default: goto yy47;
730
+ }
731
+ yy53: yych = *++YYCURSOR;
732
+ switch(yych){
733
+ case '.':
734
+ case '/':
735
+ case '0':
736
+ case '1':
737
+ case '2':
738
+ case '3':
739
+ case '4':
740
+ case '5':
741
+ case '6':
742
+ case '7':
743
+ case '8':
744
+ case '9':
745
+ case ':':
746
+ case ';':
747
+ case '<':
748
+ case '=':
749
+ case '>':
750
+ case '?':
751
+ case '@':
752
+ case 'A':
753
+ case 'B':
754
+ case 'C':
755
+ case 'D':
756
+ case 'E':
757
+ case 'F':
758
+ case 'G':
759
+ case 'H':
760
+ case 'I':
761
+ case 'J':
762
+ case 'K':
763
+ case 'L':
764
+ case 'M':
765
+ case 'N':
766
+ case 'O':
767
+ case 'P':
768
+ case 'Q':
769
+ case 'R':
770
+ case 'S':
771
+ case 'T':
772
+ case 'U':
773
+ case 'V':
774
+ case 'W':
775
+ case 'X':
776
+ case 'Y':
777
+ case 'Z':
778
+ case '[':
779
+ case '\\':
780
+ case ']':
781
+ case '^':
782
+ case '_': case 'a':
783
+ case 'b':
784
+ case 'c':
785
+ case 'd':
786
+ case 'e':
787
+ case 'f':
788
+ case 'g':
789
+ case 'h':
790
+ case 'i':
791
+ case 'j':
792
+ case 'k':
793
+ case 'l':
794
+ case 'm':
795
+ case 'n':
796
+ case 'o':
797
+ case 'p':
798
+ case 'q':
799
+ case 'r':
800
+ case 's':
801
+ case 't':
802
+ case 'u':
803
+ case 'v':
804
+ case 'w':
805
+ case 'x':
806
+ case 'y':
807
+ case 'z': goto yy54;
808
+ default: goto yy47;
809
+ }
810
+ yy54: ++YYCURSOR;
811
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
812
+ yych = *YYCURSOR;
813
+ goto yy55;
814
+ yy55: switch(yych){
815
+ case '\n': goto yy56;
816
+ case '\r': goto yy58;
817
+ case '.':
818
+ case '/':
819
+ case '0':
820
+ case '1':
821
+ case '2':
822
+ case '3':
823
+ case '4':
824
+ case '5':
825
+ case '6':
826
+ case '7':
827
+ case '8':
828
+ case '9':
829
+ case ':':
830
+ case ';':
831
+ case '<':
832
+ case '=':
833
+ case '>':
834
+ case '?':
835
+ case '@':
836
+ case 'A':
837
+ case 'B':
838
+ case 'C':
839
+ case 'D':
840
+ case 'E':
841
+ case 'F':
842
+ case 'G':
843
+ case 'H':
844
+ case 'I':
845
+ case 'J':
846
+ case 'K':
847
+ case 'L':
848
+ case 'M':
849
+ case 'N':
850
+ case 'O':
851
+ case 'P':
852
+ case 'Q':
853
+ case 'R':
854
+ case 'S':
855
+ case 'T':
856
+ case 'U':
857
+ case 'V':
858
+ case 'W':
859
+ case 'X':
860
+ case 'Y':
861
+ case 'Z':
862
+ case '[':
863
+ case '\\':
864
+ case ']':
865
+ case '^':
866
+ case '_': case 'a':
867
+ case 'b':
868
+ case 'c':
869
+ case 'd':
870
+ case 'e':
871
+ case 'f':
872
+ case 'g':
873
+ case 'h':
874
+ case 'i':
875
+ case 'j':
876
+ case 'k':
877
+ case 'l':
878
+ case 'm':
879
+ case 'n':
880
+ case 'o':
881
+ case 'p':
882
+ case 'q':
883
+ case 'r':
884
+ case 's':
885
+ case 't':
886
+ case 'u':
887
+ case 'v':
888
+ case 'w':
889
+ case 'x':
890
+ case 'y':
891
+ case 'z': goto yy54;
892
+ default: goto yy47;
893
+ }
894
+ yy56: ++YYCURSOR;
895
+ goto yy57;
896
+ yy57:
897
+ #line 397 "bytecode.re"
898
+ { CHK_NL(YYCURSOR);
899
+ goto Directive; }
900
+ #line 724 "<stdout>"
901
+ yy58: ++YYCURSOR;
902
+ switch((yych = *YYCURSOR)) {
903
+ case '\n': goto yy56;
904
+ default: goto yy47;
905
+ }
906
+ }
907
+ #line 403 "bytecode.re"
908
+
909
+
910
+ }
911
+
912
+ Comment:
913
+ {
914
+ YYTOKEN = YYCURSOR;
915
+
916
+
917
+ #line 733 "<stdout>"
918
+ {
919
+ YYCTYPE yych;
920
+ unsigned int yyaccept;
921
+ goto yy59;
922
+ yy60: ++YYCURSOR;
923
+ yy59:
924
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
925
+ yych = *YYCURSOR;
926
+ switch(yych){
927
+ case '\000': goto yy61;
928
+ case '\n': goto yy62;
929
+ case '\r': goto yy64;
930
+ default: goto yy66;
931
+ }
932
+ yy61:yy62: ++YYCURSOR;
933
+ goto yy63;
934
+ yy63:
935
+ #line 413 "bytecode.re"
936
+ { CHK_NL(YYCURSOR);
937
+ goto Document; }
938
+ #line 754 "<stdout>"
939
+ yy64: ++YYCURSOR;
940
+ switch((yych = *YYCURSOR)) {
941
+ case '\n': goto yy67;
942
+ default: goto yy65;
943
+ }
944
+ yy65:
945
+ #line 416 "bytecode.re"
946
+ { goto Comment; }
947
+ #line 763 "<stdout>"
948
+ yy66: yych = *++YYCURSOR;
949
+ goto yy65;
950
+ yy67: ++YYCURSOR;
951
+ yych = *YYCURSOR;
952
+ goto yy63;
953
+ }
954
+ #line 418 "bytecode.re"
955
+
956
+
957
+ }
958
+
959
+ Scalar:
960
+ {
961
+ int idx = 0;
962
+ int cap = 100;
963
+ char *str = S_ALLOC_N( char, cap );
964
+ char *tok;
965
+
966
+ str[0] = '\0';
967
+
968
+ Scalar2:
969
+ tok = YYCURSOR;
970
+
971
+
972
+ #line 771 "<stdout>"
973
+ {
974
+ YYCTYPE yych;
975
+ unsigned int yyaccept;
976
+ goto yy68;
977
+ yy69: ++YYCURSOR;
978
+ yy68:
979
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
980
+ yych = *YYCURSOR;
981
+ switch(yych){
982
+ case '\000': goto yy74;
983
+ case '\n': goto yy70;
984
+ case '\r': goto yy72;
985
+ default: goto yy76;
986
+ }
987
+ yy70: ++YYCURSOR;
988
+ switch((yych = *YYCURSOR)) {
989
+ case 'C': goto yy78;
990
+ case 'N': goto yy80;
991
+ case 'Z': goto yy83;
992
+ default: goto yy71;
993
+ }
994
+ yy71:
995
+ #line 462 "bytecode.re"
996
+ { YYCURSOR = tok;
997
+ goto ScalarEnd;
998
+ }
999
+ #line 798 "<stdout>"
1000
+ yy72: ++YYCURSOR;
1001
+ switch((yych = *YYCURSOR)) {
1002
+ case '\n': goto yy77;
1003
+ default: goto yy73;
1004
+ }
1005
+ yy73:
1006
+ #line 470 "bytecode.re"
1007
+ { CAT(str, cap, idx, tok[0]);
1008
+ goto Scalar2;
1009
+ }
1010
+ #line 809 "<stdout>"
1011
+ yy74: ++YYCURSOR;
1012
+ goto yy75;
1013
+ yy75:
1014
+ #line 466 "bytecode.re"
1015
+ { YYCURSOR = tok;
1016
+ goto ScalarEnd;
1017
+ }
1018
+ #line 817 "<stdout>"
1019
+ yy76: yych = *++YYCURSOR;
1020
+ goto yy73;
1021
+ yy77: yych = *++YYCURSOR;
1022
+ switch(yych){
1023
+ case 'C': goto yy78;
1024
+ case 'N': goto yy80;
1025
+ case 'Z': goto yy83;
1026
+ default: goto yy71;
1027
+ }
1028
+ yy78: ++YYCURSOR;
1029
+ goto yy79;
1030
+ yy79:
1031
+ #line 436 "bytecode.re"
1032
+ { CHK_NL(tok+1);
1033
+ goto Scalar2; }
1034
+ #line 833 "<stdout>"
1035
+ yy80: ++YYCURSOR;
1036
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
1037
+ yych = *YYCURSOR;
1038
+ goto yy81;
1039
+ yy81: switch(yych){
1040
+ case '0':
1041
+ case '1':
1042
+ case '2':
1043
+ case '3':
1044
+ case '4':
1045
+ case '5':
1046
+ case '6':
1047
+ case '7':
1048
+ case '8':
1049
+ case '9': goto yy80;
1050
+ default: goto yy82;
1051
+ }
1052
+ yy82:
1053
+ #line 439 "bytecode.re"
1054
+ { CHK_NL(tok+1);
1055
+ if ( tok + 2 < YYCURSOR )
1056
+ {
1057
+ char *count = tok + 2;
1058
+ int total = strtod( count, NULL );
1059
+ int i;
1060
+ for ( i = 0; i < total; i++ )
1061
+ {
1062
+ CAT(str, cap, idx, '\n');
1063
+ }
1064
+ }
1065
+ else
1066
+ {
1067
+ CAT(str, cap, idx, '\n');
1068
+ }
1069
+ goto Scalar2;
1070
+ }
1071
+ #line 871 "<stdout>"
1072
+ yy83: ++YYCURSOR;
1073
+ goto yy84;
1074
+ yy84:
1075
+ #line 457 "bytecode.re"
1076
+ { CHK_NL(tok+1);
1077
+ CAT(str, cap, idx, '\0');
1078
+ goto Scalar2;
1079
+ }
1080
+ #line 880 "<stdout>"
1081
+ }
1082
+ #line 474 "bytecode.re"
1083
+
1084
+
1085
+ ScalarEnd:
1086
+ {
1087
+ SyckNode *n = syck_alloc_str();
1088
+ n->data.str->ptr = str;
1089
+ n->data.str->len = idx;
1090
+ sycklval->nodeData = n;
1091
+ POP_LEVEL();
1092
+ if ( parser->implicit_typing == 1 )
1093
+ {
1094
+ try_tag_implicit( sycklval->nodeData, parser->taguri_expansion );
1095
+ }
1096
+ return YAML_PLAIN;
1097
+ }
1098
+ }
1099
+
1100
+ }
1101
+
1102
+ char *
1103
+ get_inline( SyckParser *parser )
1104
+ {
1105
+ int idx = 0;
1106
+ int cap = 100;
1107
+ char *str = S_ALLOC_N( char, cap );
1108
+ char *tok;
1109
+
1110
+ str[0] = '\0';
1111
+
1112
+ Inline:
1113
+ {
1114
+ tok = YYCURSOR;
1115
+
1116
+
1117
+ #line 884 "<stdout>"
1118
+ {
1119
+ YYCTYPE yych;
1120
+ unsigned int yyaccept;
1121
+ goto yy85;
1122
+ yy86: ++YYCURSOR;
1123
+ yy85:
1124
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
1125
+ yych = *YYCURSOR;
1126
+ switch(yych){
1127
+ case '\000': goto yy91;
1128
+ case '\n': goto yy87;
1129
+ case '\r': goto yy89;
1130
+ default: goto yy93;
1131
+ }
1132
+ yy87: ++YYCURSOR;
1133
+ goto yy88;
1134
+ yy88:
1135
+ #line 509 "bytecode.re"
1136
+ { CHK_NL(YYCURSOR);
1137
+ return str; }
1138
+ #line 905 "<stdout>"
1139
+ yy89: ++YYCURSOR;
1140
+ switch((yych = *YYCURSOR)) {
1141
+ case '\n': goto yy94;
1142
+ default: goto yy90;
1143
+ }
1144
+ yy90:
1145
+ #line 516 "bytecode.re"
1146
+ { CAT(str, cap, idx, tok[0]);
1147
+ goto Inline;
1148
+ }
1149
+ #line 916 "<stdout>"
1150
+ yy91: ++YYCURSOR;
1151
+ goto yy92;
1152
+ yy92:
1153
+ #line 512 "bytecode.re"
1154
+ { YYCURSOR = tok;
1155
+ return str;
1156
+ }
1157
+ #line 924 "<stdout>"
1158
+ yy93: yych = *++YYCURSOR;
1159
+ goto yy90;
1160
+ yy94: ++YYCURSOR;
1161
+ yych = *YYCURSOR;
1162
+ goto yy88;
1163
+ }
1164
+ #line 520 "bytecode.re"
1165
+
1166
+
1167
+ }
1168
+
1169
+ }
1170
+