source: ruby/trunk/lib/adl_parser/lib/parser.rb@ 318

Last change on this file since 318 was 318, checked in by Tatsukawa, Akimichi, 15 years ago

successfully parsing all the adl files under http://www.openehr.org/svn/knowledge/archetypes/dev/adl/openehr/ehr directory

File size: 88.0 KB
Line 
1#
2# DO NOT MODIFY!!!!
3# This file is automatically generated by Racc 1.4.6
4# from Racc grammer file "".
5#
6
7require 'racc/parser.rb'
8
9
10
11$:.unshift File.join(File.dirname(__FILE__))
12require 'logger'
13require 'yaml'
14require 'rubygems'
15require 'open_ehr'
16#require 'adl_parser.rb'
17#require 'am.rb'
18#require 'rm.rb'
19#require 'rm/support/assumed_types.rb'
20#require 'assumed_library_types.rb'
21$DEBUG = true
22
23
24
25module OpenEhr
26 module ADL
27 class Parser < Racc::Parser
28
29module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1283)
30
31def assert_at(file,line, message = "")
32 unless yield
33 raise "Assertion failed !: #{file}, #{line}: #{message}"
34 end
35end
36
37if $DEBUG
38 @@logger = Logger.new('log/parser.log','daily')
39 @@logger.level = Logger::DEBUG
40else
41 @@logger = Logger.new(STDOUT)
42 @@logger.level = Logger::WARN
43end
44
45
46###----------/* keywords */ ---------------------------------------------
47@@adl_reserved = {
48 'archetype' => :SYM_ARCHETYPE,
49 'adl_version' => :SYM_ADL_VERSION,
50 'controlled' => :SYM_IS_CONTROLLED,
51 'specialize' => :SYM_SPECIALIZE,
52 'concept' => :SYM_CONCEPT,
53 'language' => :SYM_LANGUAGE,
54 'description' => :SYM_DESCRIPTION,
55 'definition' => :SYM_DEFINITION,
56 'invariant' => :SYM_INVARIANT,
57 'ontology' => :SYM_ONTOLOGY,
58 'matches' => :SYM_MATCHES,
59 'is_in' => :SYM_MATCHES,
60 'occurrences' => :SYM_OCCURRENCES,
61 'true' => :SYM_TRUE, #[Tt][Rr][Uu][Ee] -- -> SYM_TRUE
62 'false' => :SYM_FALSE, # [Ff][Aa][Ll][Ss][Ee] -- -> SYM_FALSE
63 'infinity' => :SYM_INFINITY # [Ii][Nn][Ff][Ii][Nn][Ii][Tt][Yy] -- -> SYM_INFINITY
64}
65
66@@dadl_reserved = {
67 'true' => :SYM_TRUE, #[Tt][Rr][Uu][Ee] -- -> SYM_TRUE
68 'false' => :SYM_FALSE, # [Ff][Aa][Ll][Ss][Ee] -- -> SYM_FALSE
69 'infinity' => :SYM_INFINITY # [Ii][Nn][Ff][Ii][Nn][Ii][Tt][Yy] -- -> SYM_INFINITY
70}
71
72@@cadl_reserved = {
73 'then' => :SYM_THEN, # [Tt][Hh][Ee][Nn]
74 'else' => :SYM_ELSE, # [Ee][Ll][Ss][Ee]
75 'and' => :SYM_AND, # [Aa][Nn][Dd]
76 'or' => :SYM_OR, # [Oo][Rr]
77 'xor' => :SYM_XOR, # [Xx][Oo][Rr]
78 'not' => :SYM_NOT, # [Nn][Oo][Tt]
79 'implies' => :SYM_IMPLIES, # [Ii][Mm][Pp][Ll][Ii][Ee][Ss]
80 'true' => :SYM_TRUE, #[Tt][Rr][Uu][Ee] -- -> SYM_TRUE
81 'false' => :SYM_FALSE, # [Ff][Aa][Ll][Ss][Ee] -- -> SYM_FALSE
82 'forall' => :SYM_FORALL, # [Ff][Oo][Rr][_][Aa][Ll][Ll]
83 'exists' => :SYM_EXISTS, # [Ee][Xx][Ii][Ss][Tt][Ss]
84 'existence' => :SYM_EXISTENCE, # [Ee][Xx][Iu][Ss][Tt][Ee][Nn][Cc][Ee]
85 'occurrences' => :SYM_OCCURRENCES, # [Oo][Cc][Cc][Uu][Rr][Rr][Ee][Nn][Cc][Ee][Ss]
86 'cardinality' => :SYM_CARDINALITY, # [Cc][Aa][Rr][Dd][Ii][Nn][Aa][Ll][Ii][Tt][Yy]
87 'ordered' => :SYM_ORDERED, # [Oo][Rr][Dd][Ee][Rr][Ee][Dd]
88 'unordered' => :SYM_UNORDERED, # [Uu][Nn][Oo][Rr][Dd][Ee][Rr][Ee][Dd]
89 'unique' => :SYM_UNIQUE, # [Uu][Nn][Ii][Qq][Uu][Ee]
90 'matches' => :SYM_MATCHES, # [Mm][Aa][Tt][Cc][Hh][Ee][Ss]
91 'is_in' => :SYM_MATCHES, # [Ii][Ss][_][Ii][Nn]
92 'invariant' => :SYM_INVARIANT, # [Ii][Nn][Vv][Aa][Rr][Ii][Aa][Nn][Tt]
93 'infinity' => :SYM_INFINITY, # [Ii][Nn][Ff][Ii][Nn][Ii][Tt][Yy] -- -> SYM_INFINITY
94 'use_node' => :SYM_USE_NODE, # [Uu][Ss][Ee][_][Nn][Oo][Dd][Ee]
95 'use_archetype' => :SYM_ALLOW_ARCHETYPE, # [Uu][Ss][Ee][_][Aa][Rr][Cc][Hh][Ee][Tt][Yy][Pp][Ee]
96 'allow_archetype' => :SYM_ALLOW_ARCHETYPE, # [Aa][Ll][Ll][Oo][Ww][_][Aa][Rr][Cc][Hh][Ee][Tt][Yy][Pp][Ee]
97 'include' => :SYM_INCLUDE, # [Ii][Nn][Cc][Ll][Uu][Dd][Ee]
98 'exclude' => :SYM_EXCLUDE # [Ee][Xx][Cc][Ll][Uu][Dd][Ee]
99}
100
101
102###----------/* Scanner */ -----------------------------------------------
103
104
105def scan
106 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:")
107 scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename)
108
109 until @data.nil? do
110 @data = scanner.scan(@data) do |sym, val|
111 yield sym, val
112 end
113 @data = $' # variable $' receives the string after the match
114 end
115 yield :EOF, nil
116 yield false, '$'
117end # of scan
118
119
120def parse(data, filename, lineno = 1, debug = false)
121 @yydebug = true
122 @parsestring = data
123 @data = data
124 @lineno = lineno
125 @filename = filename
126 @adl_type = [:adl] # {:adl, :cadl, :dadl}
127 @in_regexp = false
128 @in_interval = false
129 @in_c_domain_type = false
130 yyparse self, :scan
131end
132
133def on_error( t, v, values)
134 raise Racc::ParseError, "#{@filename}:#{@lineno}: Inline syntax error on #{v.inspect}"
135end
136
137
138__END__
139
140
141
142
143### Local Variables:
144### mode:ruby
145### mode:font-lock
146### comment-column:0
147### comment-start: "### "
148### comment-end:""
149### End:
150...end parser.y/module_eval...
151##### State transition tables begin ###
152
153racc_action_table = [
154 575, 474, 143, 163, 468, 593, 466, 433, 29, 464,
155 129, 462, 497, 577, 229, 476, 58, 137, 67, 213,
156 381, 335, 330, 564, 152, 154, 25, 26, 529, 125,
157 127, 113, 72, 495, 189, -374, 30, 516, 518, 36,
158 521, 523, 214, 520, 443, 36, 60, 230, 144, 152,
159 154, 431, 48, 50, 274, 110, 435, 80, 83, 86,
160 193, 157, 96, 300, 306, 115, 113, 115, 117, 119,
161 538, 529, 119, 119, 117, 72, 115, 113, 125, 127,
162 516, 518, 78, 521, 523, 317, 157, 272, 275, 276,
163 540, 162, 117, 288, 630, 48, 50, 274, 149, 150,
164 80, 83, 86, 193, 119, 96, 300, 306, 113, 113,
165 115, 117, 119, 538, 101, 117, 571, 35, 231, 513,
166 167, 574, 510, 149, 150, 511, 512, 491, 152, 154,
167 272, 275, 276, 540, 461, 9, 288, 139, 101, 332,
168 493, 133, 74, 326, 327, 48, 50, 96, 109, 482,
169 36, 80, 83, 86, 573, 11, 96, 98, 100, 48,
170 50, 139, 101, 98, 100, 157, 90, 94, 48, 50,
171 152, 154, 483, 78, 72, 80, 83, 86, 458, 119,
172 96, 98, 100, 599, 113, 70, 383, 152, 154, 134,
173 90, 94, 326, 327, 48, 50, 96, 78, 115, 80,
174 83, 86, 149, 150, 96, 98, 100, 157, 189, 152,
175 154, 250, 155, 158, 90, 94, 148, 601, 602, 151,
176 153, 78, 152, 154, 157, 155, 158, 152, 154, 148,
177 152, 154, 151, 153, 218, 80, 385, 386, 237, 456,
178 80, 385, 386, 237, 149, 150, 157, 1, 341, 248,
179 261, 172, 22, 254, 338, 379, 258, 260, 145, 157,
180 117, 149, 150, 146, 157, 115, 4, 157, 119, -373,
181 23, 80, 83, 86, 218, 247, 96, 269, 156, 391,
182 218, 238, 570, 149, 150, 159, 218, 80, 385, 386,
183 160, 156, 218, 78, 417, 241, 149, 150, 80, 83,
184 86, 149, 150, 96, 149, 150, 102, 113, 115, 117,
185 119, 80, 83, 86, 239, 218, 96, 80, 83, 86,
186 392, 218, 96, 80, 83, 86, 393, 218, 96, 80,
187 83, 86, 394, 78, 96, 171, 168, 169, 170, 78,
188 218, 102, 395, 326, 327, 78, 396, 96, 48, 50,
189 101, 78, 80, 83, 86, 125, 127, 96, 80, 83,
190 86, 397, 108, 96, 80, 83, 86, 398, 218, 96,
191 67, 628, 629, 139, 78, 218, 498, 80, 83, 86,
192 78, 399, 96, 48, 50, 400, 78, 80, 83, 86,
193 401, 36, 96, 98, 100, 489, 326, 327, 101, 78,
194 96, 402, 90, 94, 267, 80, 83, 86, 403, 78,
195 96, 404, 80, 83, 86, 268, 101, 96, 16, 41,
196 17, 70, 428, 429, 80, 385, 386, 78, 269, 35,
197 48, 50, 426, 427, 78, 80, 83, 86, 405, 139,
198 96, 98, 100, 101, 326, 327, 407, 16, 96, 17,
199 90, 94, 408, 80, 83, 86, 409, 78, 96, 98,
200 100, 101, 36, 321, 211, 322, 139, 312, 90, 94,
201 246, 48, 50, 245, 35, 78, 414, 80, 385, 386,
202 80, 83, 86, 146, 139, 96, 98, 100, 101, 343,
203 344, 413, 385, 386, 160, 90, 94, 244, 80, 83,
204 86, 251, 78, 96, 98, 100, 101, 36, 383, 55,
205 472, 139, 252, 90, 94, 263, 48, 50, 264, 35,
206 78, 171, 168, 169, 170, 80, 83, 86, 265, 70,
207 96, 98, 100, 101, 171, 168, 169, 170, 48, 50,
208 90, 94, 119, 80, 83, 86, 243, 78, 96, 98,
209 100, 101, 36, 326, 327, 242, 139, 96, 90, 94,
210 241, 48, 50, 424, 425, 78, 171, 168, 169, 170,
211 80, 83, 86, 436, 70, 96, 98, 100, 437, 101,
212 80, 385, 386, 48, 50, 90, 94, 438, 80, 83,
213 86, 414, 78, 96, 98, 100, 439, 101, 414, 610,
214 611, 612, 70, 90, 94, 218, 413, 385, 386, 440,
215 78, 48, 50, 80, 385, 386, 80, 83, 86, 441,
216 70, 96, 98, 100, 171, 168, 169, 170, 240, 48,
217 50, 90, 94, 444, 80, 83, 86, 445, 78, 96,
218 98, 100, 80, 83, 86, 351, 352, 96, 446, 90,
219 94, 447, 325, 448, 326, 327, 78, 274, 96, 449,
220 80, 83, 86, 193, 78, 96, 300, 306, 450, 113,
221 115, 117, 119, 80, 83, 86, 353, 354, 96, 80,
222 385, 386, 113, 115, 117, 119, 389, 80, 385, 386,
223 272, 275, 276, -103, 355, 356, 288, 175, 422, 423,
224 80, 83, 86, 193, 451, 96, 125, 127, 109, 113,
225 115, 117, 119, 189, 122, 110, 363, 364, 80, 83,
226 86, 420, 421, 96, 125, 127, 109, 113, 115, 117,
227 119, 452, 122, 80, 83, 86, 418, 419, 96, 80,
228 385, 386, 113, 115, 117, 119, 80, 83, 86, 377,
229 378, 96, 317, 312, 453, 113, 115, 117, 119, 80,
230 83, 86, 454, 455, 96, 239, 145, 159, 113, 115,
231 117, 119, 171, 168, 169, 170, 171, 168, 169, 170,
232 171, 168, 169, 170, 171, 168, 169, 170, 216, 139,
233 144, 137, 212, 208, 471, 266, 473, 102, 165, 478,
234 480, 481, 162, 484, 485, 486, 147, 139, 138, 135,
235 36, 131, 68, 500, 113, 502, 115, 504, 117, 506,
236 119, 117, 509, 35, 514, 515, 60, 543, 57, 545,
237 546, 56, 548, 113, 550, 115, 552, 117, 554, 119,
238 267, 557, 558, 559, 560, 561, 562, 119, 119, 119,
239 119, 563, 249, 162, -103, 568, 115, 53, 34, 172,
240 268, 31, 579, 28, 581, 582, 583, 584, 585, 586,
241 587, 113, 590, 591, 592, 24, 595, 596, 269, 21,
242 109, 603, 604, 605, 606, 78, 570, 608, 270, 311,
243 618, 619, 620, 621, 15, 623, 14, 624, 12, 626,
244 627, 320, 8, 7, 580 ]
245
246racc_action_check = [
247 535, 402, 82, 90, 398, 569, 397, 354, 21, 396,
248 61, 395, 427, 535, 162, 403, 42, 70, 49, 143,
249 264, 247, 243, 515, 217, 217, 18, 18, 535, 243,
250 243, 247, 535, 425, 264, 70, 21, 535, 535, 49,
251 535, 535, 143, 482, 364, 42, 61, 162, 82, 228,
252 228, 352, 535, 535, 535, 402, 356, 535, 535, 535,
253 535, 217, 535, 535, 535, 354, 535, 535, 535, 535,
254 535, 482, 427, 398, 397, 482, 396, 395, 403, 403,
255 482, 482, 90, 482, 482, 482, 228, 535, 535, 535,
256 535, 569, 425, 535, 623, 482, 482, 482, 217, 217,
257 482, 482, 482, 482, 364, 482, 482, 482, 352, 482,
258 482, 482, 482, 482, 623, 356, 523, 518, 165, 471,
259 94, 531, 471, 228, 228, 471, 471, 421, 225, 225,
260 482, 482, 482, 482, 394, 4, 482, 623, 165, 245,
261 423, 68, 53, 417, 417, 521, 521, 417, 245, 408,
262 518, 623, 623, 623, 531, 4, 623, 623, 623, 518,
263 518, 165, 53, 94, 94, 225, 623, 623, 523, 523,
264 223, 223, 408, 623, 53, 165, 165, 165, 392, 471,
265 165, 165, 165, 574, 421, 53, 265, 221, 221, 68,
266 165, 165, 394, 394, 53, 53, 394, 165, 423, 53,
267 53, 53, 225, 225, 53, 53, 53, 223, 266, 85,
268 85, 188, 85, 85, 53, 53, 85, 578, 578, 85,
269 85, 53, 173, 173, 221, 173, 173, 319, 319, 173,
270 226, 226, 173, 173, 156, 392, 392, 392, 173, 378,
271 574, 574, 574, 319, 223, 223, 85, 0, 252, 186,
272 193, 97, 14, 193, 249, 263, 193, 193, 83, 173,
273 252, 221, 221, 83, 319, 249, 0, 226, 263, 97,
274 14, 156, 156, 156, 157, 185, 156, 522, 85, 270,
275 158, 174, 522, 85, 85, 86, 155, 378, 378, 378,
276 86, 173, 154, 156, 344, 273, 173, 173, 193, 193,
277 193, 319, 319, 193, 226, 226, 57, 193, 193, 193,
278 193, 157, 157, 157, 274, 153, 157, 158, 158, 158,
279 277, 152, 158, 155, 155, 155, 278, 218, 155, 154,
280 154, 154, 280, 157, 154, 174, 174, 174, 174, 158,
281 151, 131, 283, 344, 344, 155, 286, 344, 57, 57,
282 167, 154, 153, 153, 153, 240, 240, 153, 152, 152,
283 152, 290, 59, 152, 218, 218, 218, 293, 150, 218,
284 59, 621, 621, 167, 153, 149, 429, 151, 151, 151,
285 152, 296, 151, 131, 131, 298, 218, 167, 167, 167,
286 300, 59, 167, 167, 167, 419, 489, 489, 81, 151,
287 489, 301, 167, 167, 303, 150, 150, 150, 305, 167,
288 150, 306, 149, 149, 149, 308, 101, 149, 26, 28,
289 26, 81, 350, 350, 429, 429, 429, 150, 309, 28,
290 81, 81, 349, 349, 149, 81, 81, 81, 311, 101,
291 81, 81, 81, 168, 419, 419, 312, 11, 419, 11,
292 81, 81, 314, 101, 101, 101, 315, 81, 101, 101,
293 101, 169, 28, 239, 135, 239, 168, 318, 101, 101,
294 184, 28, 28, 183, 135, 101, 320, 267, 267, 267,
295 168, 168, 168, 326, 169, 168, 168, 168, 170, 253,
296 253, 320, 320, 320, 327, 168, 168, 182, 169, 169,
297 169, 190, 168, 169, 169, 169, 625, 135, 400, 34,
298 400, 170, 191, 169, 169, 195, 135, 135, 198, 34,
299 169, 95, 95, 95, 95, 170, 170, 170, 200, 625,
300 170, 170, 170, 171, 236, 236, 236, 236, 625, 625,
301 170, 170, 251, 625, 625, 625, 181, 170, 625, 625,
302 625, 608, 34, 268, 268, 180, 171, 268, 625, 625,
303 178, 34, 34, 348, 348, 625, 233, 233, 233, 233,
304 171, 171, 171, 357, 608, 171, 171, 171, 358, 613,
305 456, 456, 456, 608, 608, 171, 171, 359, 608, 608,
306 608, 563, 171, 608, 608, 608, 360, 618, 485, 604,
307 604, 604, 613, 608, 608, 148, 563, 563, 563, 361,
308 608, 613, 613, 485, 485, 485, 613, 613, 613, 362,
309 618, 613, 613, 613, 235, 235, 235, 235, 177, 618,
310 618, 613, 613, 365, 618, 618, 618, 366, 613, 618,
311 618, 618, 148, 148, 148, 255, 255, 148, 367, 618,
312 618, 368, 241, 369, 241, 241, 618, 213, 241, 370,
313 213, 213, 213, 213, 148, 213, 213, 213, 371, 213,
314 213, 213, 213, 261, 261, 261, 256, 256, 261, 498,
315 498, 498, 261, 261, 261, 261, 269, 269, 269, 269,
316 213, 213, 213, 102, 257, 257, 213, 102, 347, 347,
317 102, 102, 102, 102, 372, 102, 102, 102, 102, 102,
318 102, 102, 102, 102, 102, 60, 259, 259, 60, 60,
319 60, 346, 346, 60, 60, 60, 60, 60, 60, 60,
320 60, 373, 60, 254, 254, 254, 345, 345, 254, 573,
321 573, 573, 254, 254, 254, 254, 260, 260, 260, 262,
322 262, 260, 216, 216, 374, 260, 260, 260, 260, 258,
323 258, 258, 375, 376, 258, 175, 385, 386, 258, 258,
324 258, 258, 616, 616, 616, 616, 234, 234, 234, 234,
325 232, 232, 232, 232, 631, 631, 631, 631, 147, 144,
326 140, 139, 138, 112, 399, 201, 401, 106, 91, 404,
327 406, 407, 88, 411, 413, 416, 84, 78, 72, 69,
328 67, 63, 52, 430, 431, 432, 433, 434, 435, 442,
329 443, 248, 457, 47, 480, 481, 46, 483, 40, 487,
330 488, 36, 490, 491, 492, 493, 494, 495, 496, 497,
331 203, 499, 501, 503, 505, 507, 508, 510, 511, 512,
332 513, 514, 187, 517, 35, 520, 246, 33, 27, 524,
333 205, 24, 540, 20, 543, 547, 549, 551, 553, 555,
334 556, 244, 564, 565, 567, 16, 570, 572, 206, 13,
335 242, 580, 588, 589, 590, 594, 598, 603, 212, 214,
336 609, 610, 611, 612, 8, 615, 6, 617, 5, 619,
337 620, 230, 3, 2, 541 ]
338
339racc_action_pointer = [
340 246, nil, 884, 902, 134, 880, 869, nil, 894, nil,
341 nil, 423, nil, 851, 251, nil, 867, nil, 4, nil,
342 833, 7, nil, nil, 836, nil, 394, 827, 418, nil,
343 nil, nil, nil, 825, 508, 803, 830, nil, nil, nil,
344 820, nil, 1, nil, nil, nil, 775, 812, nil, -5,
345 nil, nil, 764, 141, nil, nil, nil, 295, nil, 347,
346 660, -5, nil, 803, nil, nil, nil, 766, 140, 759,
347 -12, nil, 774, nil, nil, nil, nil, nil, 763, nil,
348 nil, 377, -32, 200, 772, 203, 227, nil, 715, nil,
349 2, 751, nil, nil, 99, 445, nil, 222, nil, nil,
350 nil, 395, 642, nil, nil, nil, 786, nil, nil, nil,
351 nil, nil, 741, nil, nil, nil, nil, nil, nil, nil,
352 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
353 nil, 330, nil, nil, nil, 463, nil, nil, 757, 762,
354 710, nil, nil, 7, 745, nil, nil, 776, 584, 354,
355 347, 319, 300, 294, 271, 265, 213, 253, 259, nil,
356 nil, nil, 13, nil, nil, 117, nil, 329, 422, 440,
357 467, 512, nil, 216, 259, 709, nil, 572, 504, nil,
358 499, 490, 441, 417, 414, 219, 193, 796, 196, nil,
359 445, 456, nil, 240, nil, 459, nil, nil, 462, nil,
360 472, 739, nil, 784, nil, 804, 822, nil, nil, nil,
361 nil, nil, 852, 602, 853, nil, 709, 18, 306, nil,
362 nil, 181, nil, 164, nil, 122, 224, nil, 43, nil,
363 889, nil, 704, 490, 700, 548, 458, nil, nil, 408,
364 291, 595, 814, -35, 804, 82, 788, -36, 752, 197,
365 nil, 472, 191, 428, 675, 584, 615, 633, 701, 655,
366 688, 615, 688, 198, -37, 131, 137, 419, 494, 629,
367 242, nil, nil, 239, 258, nil, nil, 297, 312, nil,
368 309, nil, nil, 319, nil, nil, 323, nil, nil, nil,
369 338, nil, nil, 344, nil, nil, 301, nil, 329, nil,
370 334, 378, nil, 348, nil, 385, 355, nil, 359, 372,
371 nil, 401, 364, nil, 418, 442, nil, nil, 423, 221,
372 433, nil, nil, nil, nil, nil, 420, 431, nil, nil,
373 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
374 nil, nil, nil, nil, 284, 675, 660, 637, 502, 371,
375 361, nil, 41, nil, -3, nil, 46, 512, 517, 526,
376 535, 548, 558, nil, 34, 572, 576, 587, 590, 592,
377 598, 607, 643, 670, 693, 701, 702, nil, 229, nil,
378 nil, nil, nil, nil, nil, 708, 709, nil, nil, nil,
379 nil, nil, 177, nil, 133, 10, 8, 5, 3, 733,
380 453, 731, 0, 14, 735, nil, 717, 767, 137, nil,
381 nil, 789, nil, 742, nil, nil, 744, 84, nil, 385,
382 nil, 117, nil, 130, nil, 23, nil, 2, nil, 366,
383 752, 747, 754, 748, 756, 749, nil, nil, nil, nil,
384 nil, nil, 758, 750, nil, nil, nil, nil, nil, nil,
385 nil, nil, nil, nil, nil, nil, 522, 761, nil, nil,
386 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
387 nil, 109, nil, nil, nil, nil, nil, nil, nil, nil,
388 790, 813, 42, 791, nil, 555, nil, 768, 769, 337,
389 771, 766, 773, 767, 775, 768, 777, 769, 621, 780,
390 nil, 781, nil, 782, nil, 783, nil, 784, 785, nil,
391 777, 778, 779, 780, 839, -35, nil, 766, 106, nil,
392 841, 92, 221, 115, 830, nil, nil, nil, nil, nil,
393 nil, 98, nil, nil, nil, -1, nil, nil, nil, nil,
394 769, 870, nil, 827, nil, nil, nil, 804, nil, 805,
395 nil, 806, nil, 807, nil, 808, 809, nil, nil, nil,
396 nil, nil, nil, 548, 810, 859, nil, 834, nil, 4,
397 805, nil, 848, 681, 182, nil, nil, nil, 125, nil,
398 869, nil, nil, nil, nil, nil, nil, nil, 859, 869,
399 826, nil, nil, nil, 805, nil, nil, nil, 825, nil,
400 nil, nil, nil, 842, 515, nil, nil, nil, 530, 844,
401 868, 869, 870, 558, nil, 848, 696, 883, 576, 813,
402 814, 287, nil, 93, nil, 485, nil, nil, nil, nil,
403 nil, 708 ]
404
405racc_action_default = [
406 -376, -2, -376, -376, -6, -376, -13, -4, -376, -5,
407 -7, -376, -1, -376, -376, 632, -376, -12, -376, -9,
408 -18, -376, -15, -14, -376, -8, -376, -21, -87, -17,
409 -16, -11, -10, -376, -87, -112, -94, -90, -19, -108,
410 -376, -20, -376, -98, -99, -100, -376, -376, -146, -88,
411 -147, -89, -82, -376, -22, -23, -95, -376, -110, -376,
412 -376, -376, -104, -376, -109, -101, -91, -376, -376, -376,
413 -289, -282, -376, -248, -25, -24, -253, -26, -284, -254,
414 -152, -27, -376, -376, -376, -376, -376, -273, -305, -274,
415 -376, -376, -286, -283, -376, -251, -167, -31, -271, -281,
416 -272, -376, -112, -93, -113, -97, -376, -96, -111, -187,
417 -148, -123, -376, -191, -124, -204, -125, -217, -126, -230,
418 -127, -128, -247, -129, -130, -182, -121, -183, -122, -102,
419 -105, -376, -92, -84, -83, -87, -3, -288, -376, -289,
420 -285, -249, -373, -376, -376, -153, -168, -376, -376, -376,
421 -376, -376, -376, -376, -376, -376, -376, -376, -376, -154,
422 -169, -30, -376, -256, -255, -376, -259, -376, -376, -376,
423 -376, -376, -32, -376, -376, -148, -145, -134, -123, -116,
424 -135, -124, -136, -125, -137, -126, -138, -127, -376, -243,
425 -139, -128, -117, -376, -140, -129, -118, -141, -119, -142,
426 -131, -120, -143, -132, -144, -133, -122, -114, -107, -106,
427 -85, -86, -376, -376, -376, -287, -376, -263, -376, -278,
428 -279, -264, -275, -265, -276, -261, -260, -277, -262, -307,
429 -376, -252, -250, -267, -268, -269, -266, -280, -270, -376,
430 -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
431 -115, -376, -376, -376, -376, -376, -376, -376, -376, -376,
432 -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
433 -376, -343, -322, -316, -347, -328, -334, -313, -376, -323,
434 -319, -54, -329, -325, -55, -335, -331, -56, -375, -342,
435 -337, -312, -57, -344, -318, -58, -340, -324, -348, -59,
436 -353, -350, -330, -311, -60, -357, -354, -336, -317, -310,
437 -61, -376, -290, -63, -376, -376, -33, -62, -34, -376,
438 -376, -149, -151, -185, -170, -172, -376, -376, -189, -184,
439 -186, -193, -190, -188, -206, -194, -192, -219, -207, -205,
440 -232, -220, -218, -181, -376, -376, -376, -376, -376, -376,
441 -376, -203, -376, -216, -376, -229, -376, -376, -376, -376,
442 -376, -376, -376, -242, -376, -376, -376, -376, -376, -376,
443 -376, -376, -376, -376, -376, -376, -376, -166, -376, -233,
444 -231, -246, -244, -150, -245, -376, -376, -156, -171, -157,
445 -155, -28, -376, -257, -376, -376, -376, -376, -376, -376,
446 -376, -376, -376, -376, -376, -258, -68, -376, -376, -29,
447 -64, -376, -308, -152, -304, -303, -376, -376, -179, -376,
448 -201, -376, -214, -376, -227, -376, -240, -376, -164, -376,
449 -376, -376, -376, -376, -376, -376, -178, -200, -213, -226,
450 -239, -163, -376, -376, -180, -202, -215, -228, -241, -165,
451 -177, -199, -212, -225, -238, -162, -376, -376, -315, -314,
452 -320, -321, -327, -326, -333, -332, -339, -338, -346, -345,
453 -341, -376, -349, -355, -352, -351, -359, -358, -356, -69,
454 -376, -376, -376, -376, -306, -376, -173, -376, -376, -376,
455 -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
456 -195, -376, -208, -376, -221, -376, -234, -376, -376, -158,
457 -376, -376, -376, -376, -376, -376, -43, -305, -87, -53,
458 -44, -376, -310, -376, -31, -72, -70, -36, -37, -372,
459 -38, -360, -39, -363, -40, -376, -366, -41, -367, -42,
460 -369, -376, -35, -376, -309, -175, -174, -376, -196, -376,
461 -209, -376, -222, -376, -235, -376, -376, -159, -197, -210,
462 -223, -236, -160, -376, -292, -376, -49, -376, -67, -305,
463 -376, -52, -50, -376, -376, -44, -71, -65, -376, -370,
464 -376, -66, -176, -198, -211, -224, -237, -161, -295, -376,
465 -376, -291, -45, -47, -376, -365, -51, -364, -376, -362,
466 -361, -368, -371, -73, -376, -294, -293, -46, -376, -75,
467 -296, -297, -298, -74, -77, -376, -80, -376, -376, -376,
468 -376, -376, -78, -376, -48, -76, -299, -300, -301, -302,
469 -81, -79 ]
470
471racc_goto_table = [
472 95, 128, 47, 164, 38, 161, 176, 114, 47, 316,
473 54, 411, 116, 173, 198, 111, 107, 313, 64, 103,
474 526, 65, 112, 91, 73, 19, 66, 97, 95, 622,
475 121, 106, 62, 3, 406, 613, 66, 535, 59, 278,
476 32, 622, 118, 206, 132, 625, 617, 130, 174, 181,
477 123, 91, 141, 609, 183, 318, 61, 178, 315, 479,
478 217, 81, 207, 221, 179, 223, 188, 225, 226, 192,
479 228, 196, 191, 576, 77, 201, 475, 64, 75, 120,
480 65, 18, 10, 2, 185, 136, 219, 220, 69, 222,
481 107, 224, 195, 209, 227, 52, 33, 200, 203, 205,
482 177, 180, 182, 184, 186, 106, 190, 194, 197, 47,
483 199, 210, 232, 202, 174, 233, 234, 235, 236, 410,
484 204, 187, 27, 20, 166, 140, 13, 6, 215, 565,
485 319, 589, 5, 544, 262, 597, 578, nil, nil, nil,
486 nil, nil, nil, nil, nil, nil, nil, nil, 253, nil,
487 nil, nil, nil, nil, 309, nil, nil, nil, nil, nil,
488 nil, nil, nil, 257, nil, nil, nil, nil, 273, nil,
489 nil, nil, nil, nil, nil, 255, 382, nil, 384, nil,
490 nil, nil, nil, 259, nil, nil, nil, 323, nil, nil,
491 329, nil, nil, nil, 328, 350, 324, 333, nil, 362,
492 nil, 370, 376, nil, nil, nil, nil, nil, 387, 345,
493 390, nil, 256, 357, nil, 365, 371, nil, 337, nil,
494 nil, nil, 342, 388, 348, nil, 331, nil, 360, 336,
495 368, 374, nil, nil, nil, nil, 346, nil, nil, nil,
496 358, 340, 366, 372, 349, nil, nil, nil, 361, nil,
497 369, 375, nil, 380, 588, nil, nil, nil, nil, nil,
498 nil, 415, nil, nil, nil, 334, nil, nil, 339, nil,
499 nil, nil, nil, 347, nil, 525, nil, 359, nil, 367,
500 373, nil, nil, nil, nil, nil, nil, nil, nil, nil,
501 nil, nil, nil, nil, nil, nil, nil, nil, nil, 416,
502 nil, nil, nil, 470, nil, nil, nil, nil, nil, nil,
503 nil, nil, nil, nil, nil, nil, nil, nil, nil, 457,
504 nil, nil, nil, nil, nil, nil, 434, nil, nil, nil,
505 nil, nil, nil, 459, 430, nil, nil, nil, nil, nil,
506 nil, nil, nil, nil, nil, nil, nil, nil, nil, 460,
507 477, nil, nil, nil, 442, nil, nil, nil, nil, nil,
508 nil, nil, nil, nil, nil, nil, nil, 467, nil, nil,
509 499, nil, 487, 432, 488, nil, nil, 463, nil, nil,
510 nil, nil, nil, nil, nil, nil, nil, nil, 469, nil,
511 nil, nil, nil, nil, nil, 494, nil, 508, nil, nil,
512 nil, nil, nil, 490, nil, 505, nil, nil, nil, nil,
513 nil, nil, nil, 501, nil, 465, nil, 496, nil, nil,
514 nil, nil, nil, 522, nil, nil, 415, nil, nil, nil,
515 nil, nil, nil, 507, 566, nil, nil, 273, nil, 556,
516 nil, nil, 492, nil, 547, nil, nil, nil, nil, nil,
517 nil, nil, 503, nil, nil, nil, 524, nil, nil, nil,
518 nil, 259, nil, nil, nil, 553, nil, nil, nil, nil,
519 nil, nil, nil, 549, nil, nil, 522, nil, nil, nil,
520 nil, nil, nil, nil, nil, nil, 594, 555, nil, nil,
521 273, nil, 47, nil, 567, 569, nil, 572, nil, nil,
522 349, 361, 369, 375, 415, nil, nil, 607, nil, 524,
523 nil, nil, 551, nil, 598, 600, nil, nil, nil, nil,
524 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
525 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
526 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
527 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
528 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
529 631 ]
530
531racc_goto_check = [
532 56, 80, 23, 34, 15, 22, 103, 82, 23, 24,
533 15, 114, 83, 108, 77, 81, 58, 48, 71, 61,
534 26, 65, 70, 55, 104, 14, 59, 23, 56, 54,
535 86, 23, 68, 1, 51, 53, 59, 50, 57, 39,
536 14, 54, 84, 80, 59, 53, 37, 68, 56, 82,
537 87, 55, 104, 36, 83, 25, 67, 81, 20, 52,
538 108, 18, 73, 108, 70, 108, 74, 108, 108, 75,
539 108, 76, 86, 26, 17, 78, 79, 71, 16, 85,
540 65, 13, 12, 11, 84, 10, 109, 109, 9, 109,
541 58, 109, 87, 61, 109, 8, 7, 89, 90, 91,
542 92, 93, 94, 95, 96, 23, 97, 98, 99, 23,
543 100, 15, 56, 101, 56, 56, 56, 56, 56, 48,
544 102, 85, 6, 5, 105, 107, 4, 3, 111, 112,
545 108, 113, 2, 115, 80, 126, 128, nil, nil, nil,
546 nil, nil, nil, nil, nil, nil, nil, nil, 81, nil,
547 nil, nil, nil, nil, 80, nil, nil, nil, nil, nil,
548 nil, nil, nil, 86, nil, nil, nil, nil, 81, nil,
549 nil, nil, nil, nil, nil, 84, 77, nil, 77, nil,
550 nil, nil, nil, 87, nil, nil, nil, 82, nil, nil,
551 82, nil, nil, nil, 83, 80, 81, 83, nil, 80,
552 nil, 80, 80, nil, nil, nil, nil, nil, 80, 81,
553 80, nil, 85, 81, nil, 81, 81, nil, 86, nil,
554 nil, nil, 86, 81, 86, nil, 84, nil, 86, 84,
555 86, 86, nil, nil, nil, nil, 84, nil, nil, nil,
556 84, 87, 84, 84, 87, nil, nil, nil, 87, nil,
557 87, 87, nil, 87, 114, nil, nil, nil, nil, nil,
558 nil, 80, nil, nil, nil, 85, nil, nil, 85, nil,
559 nil, nil, nil, 85, nil, 24, nil, 85, nil, 85,
560 85, nil, nil, nil, nil, nil, nil, nil, nil, nil,
561 nil, nil, nil, nil, nil, nil, nil, nil, nil, 81,
562 nil, nil, nil, 103, nil, nil, nil, nil, nil, nil,
563 nil, nil, nil, nil, nil, nil, nil, nil, nil, 80,
564 nil, nil, nil, nil, nil, nil, 86, nil, nil, nil,
565 nil, nil, nil, 80, 84, nil, nil, nil, nil, nil,
566 nil, nil, nil, nil, nil, nil, nil, nil, nil, 81,
567 82, nil, nil, nil, 87, nil, nil, nil, nil, nil,
568 nil, nil, nil, nil, nil, nil, nil, 86, nil, nil,
569 80, nil, 81, 85, 81, nil, nil, 84, nil, nil,
570 nil, nil, nil, nil, nil, nil, nil, nil, 87, nil,
571 nil, nil, nil, nil, nil, 86, nil, 80, nil, nil,
572 nil, nil, nil, 84, nil, 86, nil, nil, nil, nil,
573 nil, nil, nil, 84, nil, 85, nil, 87, nil, nil,
574 nil, nil, nil, 80, nil, nil, 80, nil, nil, nil,
575 nil, nil, nil, 87, 22, nil, nil, 81, nil, 80,
576 nil, nil, 85, nil, 81, nil, nil, nil, nil, nil,
577 nil, nil, 85, nil, nil, nil, 23, nil, nil, nil,
578 nil, 87, nil, nil, nil, 86, nil, nil, nil, nil,
579 nil, nil, nil, 84, nil, nil, 80, nil, nil, nil,
580 nil, nil, nil, nil, nil, nil, 22, 87, nil, nil,
581 81, nil, 23, nil, 15, 23, nil, 23, nil, nil,
582 87, 87, 87, 87, 80, nil, nil, 34, nil, 23,
583 nil, nil, 85, nil, 80, 80, nil, nil, nil, nil,
584 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
585 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
586 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
587 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
588 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
589 56 ]
590
591racc_goto_pointer = [
592 nil, 33, 132, 127, 120, 110, 102, 69, 62, 36,
593 16, 83, 78, 70, 14, -24, 25, 21, 8, nil,
594 -158, nil, -83, -26, -207, -161, -462, nil, nil, nil,
595 nil, nil, nil, nil, -87, nil, -550, -563, nil, -174,
596 nil, nil, nil, nil, nil, nil, nil, nil, -199, nil,
597 -445, -278, -347, -573, -584, -30, -53, -4, -41, -23,
598 nil, -38, nil, nil, nil, -26, nil, 10, -14, nil,
599 -38, -29, nil, -44, -36, -33, -31, -88, -27, -326,
600 -59, -45, -53, -48, -18, 19, -30, -10, nil, -5,
601 -4, -3, -2, -1, 0, 1, 2, 4, 5, 6,
602 8, 11, 18, -96, -29, 30, nil, 47, -88, -63,
603 nil, -16, -386, -432, -309, -352, nil, nil, nil, nil,
604 nil, nil, nil, nil, nil, nil, -438, nil, -404 ]
605
606racc_goto_default = [
607 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
608 nil, nil, nil, nil, nil, nil, nil, 542, nil, 84,
609 nil, 88, nil, 142, nil, nil, nil, 527, 528, 530,
610 532, 534, 537, 539, 93, 541, nil, nil, 517, 519,
611 281, 284, 287, 292, 295, 299, 304, 310, nil, 314,
612 nil, nil, nil, nil, 614, 615, 616, 49, 51, 37,
613 40, nil, 105, 43, 44, 45, 46, nil, nil, 63,
614 nil, 39, 42, 104, nil, nil, nil, nil, nil, 126,
615 99, 71, nil, nil, 279, 282, 285, 289, 124, 298,
616 303, 308, nil, nil, nil, nil, nil, nil, 291, 294,
617 297, 302, 307, 271, nil, 76, 79, 82, 85, 87,
618 89, 92, nil, nil, nil, 412, 277, 280, 283, 286,
619 290, 293, 296, 301, 305, 531, 533, 536, nil ]
620
621racc_reduce_table = [
622 0, 0, :racc_error,
623 2, 96, :_reduce_1,
624 1, 96, :_reduce_none,
625 8, 97, :_reduce_3,
626 2, 98, :_reduce_4,
627 2, 98, :_reduce_5,
628 1, 106, :_reduce_6,
629 2, 106, :_reduce_7,
630 3, 107, :_reduce_8,
631 1, 108, :_reduce_9,
632 3, 108, :_reduce_10,
633 3, 109, :_reduce_11,
634 1, 109, :_reduce_12,
635 0, 99, :_reduce_none,
636 2, 99, :_reduce_14,
637 2, 99, :_reduce_none,
638 2, 100, :_reduce_16,
639 2, 100, :_reduce_none,
640 0, 101, :_reduce_18,
641 2, 101, :_reduce_19,
642 2, 101, :_reduce_none,
643 0, 102, :_reduce_none,
644 2, 102, :_reduce_22,
645 2, 102, :_reduce_none,
646 2, 103, :_reduce_24,
647 2, 103, :_reduce_none,
648 1, 111, :_reduce_26,
649 1, 111, :_reduce_27,
650 5, 112, :_reduce_28,
651 5, 112, :_reduce_29,
652 2, 114, :_reduce_30,
653 1, 116, :_reduce_31,
654 2, 116, :_reduce_32,
655 1, 115, :_reduce_none,
656 1, 115, :_reduce_34,
657 1, 121, :_reduce_35,
658 1, 121, :_reduce_36,
659 1, 121, :_reduce_37,
660 1, 121, :_reduce_38,
661 1, 121, :_reduce_39,
662 1, 121, :_reduce_40,
663 1, 121, :_reduce_41,
664 1, 121, :_reduce_42,
665 1, 121, :_reduce_none,
666 1, 121, :_reduce_none,
667 3, 128, :_reduce_45,
668 4, 122, :_reduce_46,
669 3, 122, :_reduce_none,
670 6, 123, :_reduce_48,
671 2, 130, :_reduce_49,
672 2, 133, :_reduce_50,
673 3, 133, :_reduce_none,
674 2, 133, :_reduce_none,
675 1, 127, :_reduce_53,
676 1, 134, :_reduce_54,
677 1, 134, :_reduce_55,
678 1, 134, :_reduce_56,
679 1, 134, :_reduce_57,
680 1, 134, :_reduce_58,
681 1, 134, :_reduce_59,
682 1, 134, :_reduce_60,
683 1, 134, :_reduce_61,
684 1, 119, :_reduce_none,
685 1, 120, :_reduce_63,
686 2, 120, :_reduce_64,
687 5, 143, :_reduce_65,
688 5, 143, :_reduce_66,
689 5, 143, :_reduce_67,
690 2, 144, :_reduce_68,
691 3, 144, :_reduce_69,
692 1, 145, :_reduce_70,
693 2, 145, :_reduce_71,
694 1, 145, :_reduce_72,
695 0, 131, :_reduce_none,
696 2, 131, :_reduce_74,
697 0, 132, :_reduce_none,
698 2, 132, :_reduce_76,
699 1, 148, :_reduce_none,
700 2, 148, :_reduce_none,
701 3, 149, :_reduce_none,
702 1, 149, :_reduce_none,
703 3, 149, :_reduce_none,
704 0, 104, :_reduce_none,
705 2, 104, :_reduce_none,
706 2, 104, :_reduce_none,
707 2, 105, :_reduce_85,
708 2, 105, :_reduce_none,
709 0, 110, :_reduce_none,
710 1, 110, :_reduce_88,
711 1, 110, :_reduce_89,
712 1, 152, :_reduce_90,
713 2, 152, :_reduce_91,
714 3, 152, :_reduce_92,
715 3, 154, :_reduce_93,
716 1, 155, :_reduce_94,
717 2, 155, :_reduce_none,
718 1, 156, :_reduce_96,
719 1, 156, :_reduce_97,
720 1, 153, :_reduce_98,
721 1, 153, :_reduce_99,
722 1, 159, :_reduce_100,
723 2, 159, :_reduce_101,
724 3, 160, :_reduce_102,
725 1, 161, :_reduce_103,
726 1, 162, :_reduce_104,
727 2, 162, :_reduce_105,
728 3, 163, :_reduce_106,
729 3, 164, :_reduce_107,
730 1, 158, :_reduce_108,
731 2, 158, :_reduce_109,
732 2, 166, :_reduce_110,
733 3, 166, :_reduce_111,
734 1, 167, :_reduce_none,
735 1, 157, :_reduce_113,
736 2, 157, :_reduce_114,
737 3, 168, :_reduce_115,
738 1, 169, :_reduce_116,
739 1, 169, :_reduce_117,
740 1, 169, :_reduce_118,
741 1, 169, :_reduce_119,
742 1, 169, :_reduce_120,
743 1, 165, :_reduce_121,
744 1, 165, :_reduce_122,
745 1, 165, :_reduce_123,
746 1, 165, :_reduce_124,
747 1, 165, :_reduce_125,
748 1, 165, :_reduce_126,
749 1, 165, :_reduce_127,
750 1, 165, :_reduce_128,
751 1, 165, :_reduce_129,
752 1, 165, :_reduce_130,
753 1, 170, :_reduce_131,
754 1, 170, :_reduce_132,
755 1, 170, :_reduce_133,
756 1, 170, :_reduce_134,
757 1, 170, :_reduce_135,
758 1, 170, :_reduce_136,
759 1, 170, :_reduce_137,
760 1, 170, :_reduce_138,
761 1, 170, :_reduce_139,
762 1, 171, :_reduce_none,
763 1, 171, :_reduce_none,
764 1, 171, :_reduce_none,
765 1, 171, :_reduce_none,
766 1, 171, :_reduce_none,
767 1, 171, :_reduce_none,
768 1, 118, :_reduce_146,
769 1, 118, :_reduce_147,
770 1, 174, :_reduce_148,
771 3, 184, :_reduce_149,
772 3, 184, :_reduce_150,
773 3, 184, :_reduce_151,
774 1, 175, :_reduce_152,
775 2, 175, :_reduce_153,
776 2, 175, :_reduce_154,
777 3, 185, :_reduce_none,
778 3, 185, :_reduce_none,
779 3, 185, :_reduce_none,
780 5, 193, :_reduce_none,
781 6, 193, :_reduce_none,
782 6, 193, :_reduce_none,
783 7, 193, :_reduce_none,
784 4, 193, :_reduce_none,
785 4, 193, :_reduce_none,
786 4, 193, :_reduce_none,
787 4, 193, :_reduce_none,
788 3, 193, :_reduce_none,
789 1, 176, :_reduce_167,
790 2, 176, :_reduce_168,
791 2, 176, :_reduce_169,
792 3, 186, :_reduce_none,
793 3, 186, :_reduce_none,
794 3, 186, :_reduce_none,
795 5, 194, :_reduce_none,
796 6, 194, :_reduce_none,
797 6, 194, :_reduce_none,
798 7, 194, :_reduce_none,
799 4, 194, :_reduce_none,
800 4, 194, :_reduce_none,
801 4, 194, :_reduce_none,
802 4, 194, :_reduce_none,
803 3, 194, :_reduce_none,
804 1, 177, :_reduce_182,
805 1, 177, :_reduce_183,
806 3, 187, :_reduce_none,
807 3, 187, :_reduce_none,
808 3, 187, :_reduce_none,
809 1, 178, :_reduce_none,
810 3, 188, :_reduce_none,
811 3, 188, :_reduce_none,
812 3, 188, :_reduce_none,
813 1, 179, :_reduce_191,
814 3, 189, :_reduce_none,
815 3, 189, :_reduce_none,
816 3, 189, :_reduce_none,
817 5, 195, :_reduce_none,
818 6, 195, :_reduce_none,
819 6, 195, :_reduce_none,
820 7, 195, :_reduce_none,
821 4, 195, :_reduce_none,
822 4, 195, :_reduce_none,
823 4, 195, :_reduce_none,
824 4, 195, :_reduce_none,
825 3, 195, :_reduce_none,
826 1, 180, :_reduce_none,
827 3, 190, :_reduce_none,
828 3, 190, :_reduce_none,
829 3, 190, :_reduce_none,
830 5, 196, :_reduce_none,
831 6, 196, :_reduce_none,
832 6, 196, :_reduce_none,
833 7, 196, :_reduce_none,
834 4, 196, :_reduce_none,
835 4, 196, :_reduce_none,
836 4, 196, :_reduce_none,
837 4, 196, :_reduce_none,
838 3, 196, :_reduce_none,
839 1, 181, :_reduce_none,
840 3, 191, :_reduce_none,
841 3, 191, :_reduce_none,
842 3, 191, :_reduce_none,
843 5, 197, :_reduce_none,
844 6, 197, :_reduce_none,
845 6, 197, :_reduce_none,
846 7, 197, :_reduce_none,
847 4, 197, :_reduce_none,
848 4, 197, :_reduce_none,
849 4, 197, :_reduce_none,
850 4, 197, :_reduce_none,
851 3, 197, :_reduce_none,
852 1, 182, :_reduce_230,
853 3, 192, :_reduce_none,
854 3, 192, :_reduce_none,
855 3, 192, :_reduce_none,
856 5, 198, :_reduce_none,
857 6, 198, :_reduce_none,
858 6, 198, :_reduce_none,
859 7, 198, :_reduce_none,
860 4, 198, :_reduce_none,
861 4, 198, :_reduce_none,
862 4, 198, :_reduce_none,
863 4, 198, :_reduce_none,
864 3, 198, :_reduce_none,
865 1, 172, :_reduce_243,
866 3, 173, :_reduce_none,
867 3, 173, :_reduce_none,
868 3, 173, :_reduce_none,
869 1, 183, :_reduce_247,
870 1, 113, :_reduce_none,
871 2, 113, :_reduce_none,
872 3, 199, :_reduce_none,
873 1, 199, :_reduce_none,
874 3, 199, :_reduce_none,
875 1, 151, :_reduce_none,
876 1, 151, :_reduce_none,
877 2, 201, :_reduce_none,
878 2, 201, :_reduce_none,
879 5, 201, :_reduce_none,
880 5, 201, :_reduce_none,
881 2, 201, :_reduce_none,
882 3, 201, :_reduce_none,
883 3, 201, :_reduce_none,
884 3, 201, :_reduce_none,
885 3, 201, :_reduce_none,
886 3, 201, :_reduce_none,
887 3, 201, :_reduce_none,
888 3, 201, :_reduce_none,
889 3, 201, :_reduce_none,
890 3, 201, :_reduce_none,
891 3, 201, :_reduce_none,
892 3, 200, :_reduce_none,
893 1, 200, :_reduce_none,
894 1, 200, :_reduce_none,
895 1, 203, :_reduce_none,
896 1, 203, :_reduce_none,
897 3, 205, :_reduce_none,
898 3, 205, :_reduce_none,
899 3, 205, :_reduce_none,
900 3, 205, :_reduce_none,
901 3, 205, :_reduce_none,
902 3, 204, :_reduce_none,
903 1, 204, :_reduce_none,
904 1, 204, :_reduce_none,
905 1, 204, :_reduce_none,
906 1, 129, :_reduce_none,
907 2, 129, :_reduce_none,
908 1, 202, :_reduce_none,
909 3, 202, :_reduce_none,
910 2, 206, :_reduce_288,
911 1, 206, :_reduce_289,
912 0, 146, :_reduce_290,
913 5, 146, :_reduce_291,
914 1, 207, :_reduce_292,
915 3, 207, :_reduce_293,
916 5, 147, :_reduce_294,
917 1, 208, :_reduce_none,
918 3, 208, :_reduce_none,
919 3, 208, :_reduce_none,
920 3, 208, :_reduce_none,
921 5, 208, :_reduce_none,
922 5, 208, :_reduce_none,
923 5, 208, :_reduce_none,
924 5, 208, :_reduce_none,
925 1, 210, :_reduce_303,
926 1, 210, :_reduce_304,
927 0, 117, :_reduce_none,
928 5, 117, :_reduce_306,
929 2, 117, :_reduce_none,
930 1, 209, :_reduce_308,
931 3, 209, :_reduce_309,
932 1, 211, :_reduce_none,
933 1, 211, :_reduce_none,
934 1, 211, :_reduce_none,
935 1, 135, :_reduce_none,
936 3, 135, :_reduce_none,
937 3, 135, :_reduce_none,
938 1, 212, :_reduce_none,
939 1, 212, :_reduce_none,
940 1, 212, :_reduce_none,
941 1, 136, :_reduce_none,
942 3, 136, :_reduce_none,
943 3, 136, :_reduce_none,
944 1, 213, :_reduce_none,
945 1, 213, :_reduce_none,
946 1, 213, :_reduce_none,
947 1, 137, :_reduce_none,
948 3, 137, :_reduce_none,
949 3, 137, :_reduce_none,
950 1, 214, :_reduce_none,
951 1, 214, :_reduce_none,
952 1, 214, :_reduce_none,
953 1, 138, :_reduce_none,
954 3, 138, :_reduce_none,
955 3, 138, :_reduce_none,
956 1, 215, :_reduce_none,
957 1, 215, :_reduce_none,
958 1, 215, :_reduce_none,
959 1, 139, :_reduce_none,
960 3, 139, :_reduce_none,
961 3, 139, :_reduce_none,
962 1, 216, :_reduce_none,
963 3, 216, :_reduce_none,
964 1, 216, :_reduce_none,
965 1, 216, :_reduce_none,
966 1, 140, :_reduce_none,
967 3, 140, :_reduce_none,
968 3, 140, :_reduce_none,
969 1, 218, :_reduce_none,
970 1, 218, :_reduce_none,
971 3, 218, :_reduce_none,
972 1, 141, :_reduce_none,
973 3, 141, :_reduce_none,
974 3, 141, :_reduce_none,
975 1, 219, :_reduce_353,
976 1, 219, :_reduce_354,
977 3, 219, :_reduce_355,
978 3, 219, :_reduce_356,
979 1, 142, :_reduce_357,
980 3, 142, :_reduce_358,
981 3, 142, :_reduce_359,
982 1, 126, :_reduce_none,
983 3, 126, :_reduce_none,
984 3, 126, :_reduce_none,
985 1, 220, :_reduce_none,
986 3, 220, :_reduce_none,
987 3, 221, :_reduce_365,
988 1, 125, :_reduce_366,
989 1, 125, :_reduce_367,
990 3, 222, :_reduce_368,
991 0, 223, :_reduce_none,
992 1, 223, :_reduce_none,
993 2, 223, :_reduce_none,
994 1, 124, :_reduce_372,
995 1, 150, :_reduce_373,
996 1, 150, :_reduce_374,
997 1, 217, :_reduce_375 ]
998
999racc_reduce_n = 376
1000
1001racc_shift_n = 632
1002
1003racc_token_table = {
1004 false => 0,
1005 :error => 1,
1006 :UMINUS => 2,
1007 :UPLUS => 3,
1008 "*" => 4,
1009 "/" => 5,
1010 "+" => 6,
1011 "-" => 7,
1012 :SYM_EQ => 8,
1013 :SYM_NE => 9,
1014 :SYM_LT => 10,
1015 :SYM_START_DBLOCK => 11,
1016 :SYM_START_CBLOCK => 12,
1017 :SYM_GT => 13,
1018 :SYM_END_CBLOCK => 14,
1019 :SYM_END_DBLOCK => 15,
1020 :SYM_LE => 16,
1021 :SYM_GE => 17,
1022 :EOF => 18,
1023 :V_ARCHETYPE_ID => 19,
1024 :SYM_ARCHETYPE => 20,
1025 :Left_parenthesis_code => 21,
1026 :Right_parenthesis_code => 22,
1027 :Semicolon_code => 23,
1028 :SYM_ADL_VERSION => 24,
1029 :V_VERSION_STRING => 25,
1030 :SYM_IS_CONTROLLED => 26,
1031 :SYM_SPECIALIZE => 27,
1032 :SYM_CONCEPT => 28,
1033 :V_LOCAL_TERM_CODE_REF => 29,
1034 :SYM_LANGUAGE => 30,
1035 :SYM_DESCRIPTION => 31,
1036 :SYM_DEFINITION => 32,
1037 :c_complx_object_head => 33,
1038 :SYM_MATCHES => 34,
1039 :START_REGEXP_BLOCK => 35,
1040 :REGEXP_BODY => 36,
1041 :END_REGEXP_BLOCK => 37,
1042 :ERR_C_DOMAIN_TYPE => 38,
1043 :START_V_C_DOMAIN_TYPE_BLOCK => 39,
1044 :END_V_C_DOMAIN_TYPE_BLOCK => 40,
1045 :SYM_USE_NODE => 41,
1046 :SYM_ALLOW_ARCHETYPE => 42,
1047 :Star_code => 43,
1048 :V_ATTRIBUTE_IDENTIFIER => 44,
1049 :SYM_INCLUDE => 45,
1050 :SYM_EXCLUDE => 46,
1051 ":" => 47,
1052 :SYM_INVARIANT => 48,
1053 :V_ASSERTION_TEXT => 49,
1054 :SYM_ONTOLOGY => 50,
1055 :Left_bracket_code => 51,
1056 :Right_bracket_code => 52,
1057 :V_TYPE_IDENTIFIER => 53,
1058 :V_GENERIC_TYPE_IDENTIFIER => 54,
1059 :V_STRING => 55,
1060 :Comma_code => 56,
1061 :SYM_LIST_CONTINUE => 57,
1062 :V_INTEGER => 58,
1063 :Plus_code => 59,
1064 :Minus_code => 60,
1065 :SYM_INTERVAL_DELIM => 61,
1066 :SYM_ELLIPSIS => 62,
1067 :V_REAL => 63,
1068 :SYM_TRUE => 64,
1069 :SYM_FALSE => 65,
1070 :V_CHARACTER => 66,
1071 :V_ISO8601_EXTENDED_DATE => 67,
1072 :V_ISO8601_EXTENDED_TIME => 68,
1073 :V_ISO8601_EXTENDED_DATE_TIME => 69,
1074 :V_ISO8601_DURATION => 70,
1075 :V_QUALIFIED_TERM_CODE_REF => 71,
1076 :V_URI => 72,
1077 :SYM_EXISTS => 73,
1078 :SYM_NOT => 74,
1079 "=" => 75,
1080 :SYM_AND => 76,
1081 :SYM_OR => 77,
1082 :SYM_XOR => 78,
1083 :SYM_IMPLIES => 79,
1084 :Slash_code => 80,
1085 "^" => 81,
1086 :SYM_EXISTENCE => 82,
1087 :SYM_CARDINALITY => 83,
1088 :SYM_ORDERED => 84,
1089 :SYM_UNORDERED => 85,
1090 :SYM_UNIQUE => 86,
1091 :SYM_OCCURRENCES => 87,
1092 :V_ISO8601_DATE_CONSTRAINT_PATTERN => 88,
1093 :V_ISO8601_TIME_CONSTRAINT_PATTERN => 89,
1094 :V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN => 90,
1095 :START_TERM_CODE_CONSTRAINT => 91,
1096 :END_TERM_CODE_CONSTRAINT => 92,
1097 :TERM_CODE => 93,
1098 :V_ISO8601_DURATION_CONSTRAINT_PATTERN => 94 }
1099
1100racc_nt_base = 95
1101
1102racc_use_result_var = true
1103
1104Racc_arg = [
1105 racc_action_table,
1106 racc_action_check,
1107 racc_action_default,
1108 racc_action_pointer,
1109 racc_goto_table,
1110 racc_goto_check,
1111 racc_goto_default,
1112 racc_goto_pointer,
1113 racc_nt_base,
1114 racc_reduce_table,
1115 racc_token_table,
1116 racc_shift_n,
1117 racc_reduce_n,
1118 racc_use_result_var ]
1119
1120Racc_token_to_s_table = [
1121 "$end",
1122 "error",
1123 "UMINUS",
1124 "UPLUS",
1125 "\"*\"",
1126 "\"/\"",
1127 "\"+\"",
1128 "\"-\"",
1129 "SYM_EQ",
1130 "SYM_NE",
1131 "SYM_LT",
1132 "SYM_START_DBLOCK",
1133 "SYM_START_CBLOCK",
1134 "SYM_GT",
1135 "SYM_END_CBLOCK",
1136 "SYM_END_DBLOCK",
1137 "SYM_LE",
1138 "SYM_GE",
1139 "EOF",
1140 "V_ARCHETYPE_ID",
1141 "SYM_ARCHETYPE",
1142 "Left_parenthesis_code",
1143 "Right_parenthesis_code",
1144 "Semicolon_code",
1145 "SYM_ADL_VERSION",
1146 "V_VERSION_STRING",
1147 "SYM_IS_CONTROLLED",
1148 "SYM_SPECIALIZE",
1149 "SYM_CONCEPT",
1150 "V_LOCAL_TERM_CODE_REF",
1151 "SYM_LANGUAGE",
1152 "SYM_DESCRIPTION",
1153 "SYM_DEFINITION",
1154 "c_complx_object_head",
1155 "SYM_MATCHES",
1156 "START_REGEXP_BLOCK",
1157 "REGEXP_BODY",
1158 "END_REGEXP_BLOCK",
1159 "ERR_C_DOMAIN_TYPE",
1160 "START_V_C_DOMAIN_TYPE_BLOCK",
1161 "END_V_C_DOMAIN_TYPE_BLOCK",
1162 "SYM_USE_NODE",
1163 "SYM_ALLOW_ARCHETYPE",
1164 "Star_code",
1165 "V_ATTRIBUTE_IDENTIFIER",
1166 "SYM_INCLUDE",
1167 "SYM_EXCLUDE",
1168 "\":\"",
1169 "SYM_INVARIANT",
1170 "V_ASSERTION_TEXT",
1171 "SYM_ONTOLOGY",
1172 "Left_bracket_code",
1173 "Right_bracket_code",
1174 "V_TYPE_IDENTIFIER",
1175 "V_GENERIC_TYPE_IDENTIFIER",
1176 "V_STRING",
1177 "Comma_code",
1178 "SYM_LIST_CONTINUE",
1179 "V_INTEGER",
1180 "Plus_code",
1181 "Minus_code",
1182 "SYM_INTERVAL_DELIM",
1183 "SYM_ELLIPSIS",
1184 "V_REAL",
1185 "SYM_TRUE",
1186 "SYM_FALSE",
1187 "V_CHARACTER",
1188 "V_ISO8601_EXTENDED_DATE",
1189 "V_ISO8601_EXTENDED_TIME",
1190 "V_ISO8601_EXTENDED_DATE_TIME",
1191 "V_ISO8601_DURATION",
1192 "V_QUALIFIED_TERM_CODE_REF",
1193 "V_URI",
1194 "SYM_EXISTS",
1195 "SYM_NOT",
1196 "\"=\"",
1197 "SYM_AND",
1198 "SYM_OR",
1199 "SYM_XOR",
1200 "SYM_IMPLIES",
1201 "Slash_code",
1202 "\"^\"",
1203 "SYM_EXISTENCE",
1204 "SYM_CARDINALITY",
1205 "SYM_ORDERED",
1206 "SYM_UNORDERED",
1207 "SYM_UNIQUE",
1208 "SYM_OCCURRENCES",
1209 "V_ISO8601_DATE_CONSTRAINT_PATTERN",
1210 "V_ISO8601_TIME_CONSTRAINT_PATTERN",
1211 "V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN",
1212 "START_TERM_CODE_CONSTRAINT",
1213 "END_TERM_CODE_CONSTRAINT",
1214 "TERM_CODE",
1215 "V_ISO8601_DURATION_CONSTRAINT_PATTERN",
1216 "$start",
1217 "input",
1218 "archetype",
1219 "arch_identification",
1220 "arch_specialisation",
1221 "arch_concept",
1222 "arch_language",
1223 "arch_description",
1224 "arch_definition",
1225 "arch_invariant",
1226 "arch_ontology",
1227 "arch_head",
1228 "arch_meta_data",
1229 "arch_meta_data_items",
1230 "arch_meta_data_item",
1231 "dadl_section",
1232 "cadl_section",
1233 "c_complex_object",
1234 "assertions",
1235 "c_complex_object_head",
1236 "c_complex_object_body",
1237 "c_complex_object_id",
1238 "c_occurrences",
1239 "type_identifier",
1240 "c_any",
1241 "c_attributes",
1242 "c_object",
1243 "archetype_internal_ref",
1244 "archetype_slot",
1245 "constraint_ref",
1246 "c_code_phrase",
1247 "c_ordinal",
1248 "c_primitive_object",
1249 "v_c_domain_type",
1250 "absolute_path",
1251 "c_archetype_slot_head",
1252 "c_includes",
1253 "c_excludes",
1254 "c_archetype_slot_id",
1255 "c_primitive",
1256 "c_integer",
1257 "c_real",
1258 "c_date",
1259 "c_time",
1260 "c_date_time",
1261 "c_duration",
1262 "c_string",
1263 "c_boolean",
1264 "c_attribute",
1265 "c_attr_head",
1266 "c_attr_values",
1267 "c_existence",
1268 "c_cardinality",
1269 "invariants",
1270 "invariant",
1271 "any_identifier",
1272 "boolean_expression",
1273 "attr_vals",
1274 "complex_object_block",
1275 "attr_val",
1276 "attr_id",
1277 "object_block",
1278 "primitive_object_block",
1279 "single_attr_object_block",
1280 "multiple_attr_object_block",
1281 "untyped_multiple_attr_object_block",
1282 "multiple_attr_object_block_head",
1283 "keyed_objects",
1284 "keyed_object",
1285 "object_key",
1286 "simple_value",
1287 "untyped_single_attr_object_block",
1288 "single_attr_object_complex_head",
1289 "untyped_primitive_object_block",
1290 "primitive_object_value",
1291 "simple_list_value",
1292 "simple_interval_value",
1293 "term_code",
1294 "term_code_list_value",
1295 "string_value",
1296 "integer_value",
1297 "real_value",
1298 "boolean_value",
1299 "character_value",
1300 "date_value",
1301 "time_value",
1302 "date_time_value",
1303 "duration_value",
1304 "uri_value",
1305 "string_list_value",
1306 "integer_list_value",
1307 "real_list_value",
1308 "boolean_list_value",
1309 "character_list_value",
1310 "date_list_value",
1311 "time_list_value",
1312 "date_time_list_value",
1313 "duration_list_value",
1314 "integer_interval_value",
1315 "real_interval_value",
1316 "date_interval_value",
1317 "time_interval_value",
1318 "date_time_interval_value",
1319 "duration_interval_value",
1320 "assertion",
1321 "boolean_leaf",
1322 "boolean_node",
1323 "relative_path",
1324 "arithmetic_expression",
1325 "arithmetic_leaf",
1326 "arithmetic_node",
1327 "path_segment",
1328 "existence_spec",
1329 "cardinality_spec",
1330 "occurrence_spec",
1331 "cardinality_limit_value",
1332 "c_integer_spec",
1333 "c_real_spec",
1334 "c_date_constraint",
1335 "c_time_constraint",
1336 "c_date_time_constraint",
1337 "c_duration_constraint",
1338 "duration_pattern",
1339 "c_string_spec",
1340 "c_boolean_spec",
1341 "c_ordinal_spec",
1342 "ordinal",
1343 "term_code_constraint_section",
1344 "term_code_body" ]
1345
1346Racc_debug_parser = false
1347
1348##### State transition tables end #####
1349
1350# reduce 0 omitted
1351
1352module_eval(<<'.,.,', 'parser.y', 30)
1353 def _reduce_1(val, _values, result)
1354 result = val[0]
1355
1356 result
1357 end
1358.,.,
1359
1360# reduce 2 omitted
1361
1362module_eval(<<'.,.,', 'parser.y', 36)
1363 def _reduce_3(val, _values, result)
1364 assert_at(__FILE__,__LINE__) do
1365 val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
1366 end
1367
1368 archetype_id = val[0][:archetype_id]
1369 parent_archtype_id = val[1][:parent_archtype_id] if val[1]
1370 adl_version = val[0][:arch_head][:arch_meta_data][:adl_version]
1371 concept = val[2][:arch_concept]
1372 language = val[3][:arch_language]
1373 archetype = OpenEhr::AM::Archetype::ARCHETYPE.create(
1374 :archetype_id => archetype_id,
1375 :parent_archtype_id => parent_archtype_id,
1376 :adl_version => adl_version,
1377 :concept => concept,
1378 :description => val[4],
1379 :definition => val[5],
1380 :ontology => val[7]
1381 ) do |archetype|
1382 archetype.original_language = language
1383 end
1384 @@logger.debug("#{__FILE__}:#{__LINE__}: archetype = #{archetype.to_yaml} at #{@filename}:#{@lineno}")
1385 result = archetype
1386
1387 result
1388 end
1389.,.,
1390
1391module_eval(<<'.,.,', 'parser.y', 63)
1392 def _reduce_4(val, _values, result)
1393 result = {:arch_head => val[0], :archetype_id => val[1] }
1394
1395 result
1396 end
1397.,.,
1398
1399module_eval(<<'.,.,', 'parser.y', 67)
1400 def _reduce_5(val, _values, result)
1401 raise
1402
1403 result
1404 end
1405.,.,
1406
1407module_eval(<<'.,.,', 'parser.y', 72)
1408 def _reduce_6(val, _values, result)
1409 result = {:arch_meta_data => nil }
1410
1411 result
1412 end
1413.,.,
1414
1415module_eval(<<'.,.,', 'parser.y', 76)
1416 def _reduce_7(val, _values, result)
1417 result = val[1]
1418
1419 result
1420 end
1421.,.,
1422
1423module_eval(<<'.,.,', 'parser.y', 81)
1424 def _reduce_8(val, _values, result)
1425 result = {:arch_meta_data => val[1] }
1426
1427 result
1428 end
1429.,.,
1430
1431module_eval(<<'.,.,', 'parser.y', 86)
1432 def _reduce_9(val, _values, result)
1433 result = val[0]
1434
1435 result
1436 end
1437.,.,
1438
1439module_eval(<<'.,.,', 'parser.y', 90)
1440 def _reduce_10(val, _values, result)
1441 result = val[0].merge(val[2])
1442
1443 result
1444 end
1445.,.,
1446
1447module_eval(<<'.,.,', 'parser.y', 96)
1448 def _reduce_11(val, _values, result)
1449 result = {:adl_version => val[2], :is_controlled => false }
1450
1451 result
1452 end
1453.,.,
1454
1455module_eval(<<'.,.,', 'parser.y', 100)
1456 def _reduce_12(val, _values, result)
1457 result = {:is_controlled => true }
1458
1459 result
1460 end
1461.,.,
1462
1463# reduce 13 omitted
1464
1465module_eval(<<'.,.,', 'parser.y', 108)
1466 def _reduce_14(val, _values, result)
1467 result = {:parent_archtype_id => val[1]}
1468
1469 result
1470 end
1471.,.,
1472
1473# reduce 15 omitted
1474
1475module_eval(<<'.,.,', 'parser.y', 114)
1476 def _reduce_16(val, _values, result)
1477 result = {:arch_concept => val[1] }
1478
1479 result
1480 end
1481.,.,
1482
1483# reduce 17 omitted
1484
1485module_eval(<<'.,.,', 'parser.y', 124)
1486 def _reduce_18(val, _values, result)
1487 result = {:arch_language => nil}
1488
1489 result
1490 end
1491.,.,
1492
1493module_eval(<<'.,.,', 'parser.y', 128)
1494 def _reduce_19(val, _values, result)
1495 result = {:arch_language => val[1]}
1496
1497 result
1498 end
1499.,.,
1500
1501# reduce 20 omitted
1502
1503# reduce 21 omitted
1504
1505module_eval(<<'.,.,', 'parser.y', 139)
1506 def _reduce_22(val, _values, result)
1507 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
1508
1509 result
1510 end
1511.,.,
1512
1513# reduce 23 omitted
1514
1515module_eval(<<'.,.,', 'parser.y', 147)
1516 def _reduce_24(val, _values, result)
1517 result = val[1]
1518
1519 result
1520 end
1521.,.,
1522
1523# reduce 25 omitted
1524
1525module_eval(<<'.,.,', 'parser.y', 155)
1526 def _reduce_26(val, _values, result)
1527 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)}
1528 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")
1529 result = val[0]
1530
1531 result
1532 end
1533.,.,
1534
1535module_eval(<<'.,.,', 'parser.y', 161)
1536 def _reduce_27(val, _values, result)
1537 result = val[0]
1538
1539 result
1540 end
1541.,.,
1542
1543module_eval(<<'.,.,', 'parser.y', 168)
1544 def _reduce_28(val, _values, result)
1545 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
1546 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
1547 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
1548 c_complex_object.occurrences = val[0][:c_occurrences]
1549 end
1550
1551 result
1552 end
1553.,.,
1554
1555module_eval(<<'.,.,', 'parser.y', 176)
1556 def _reduce_29(val, _values, result)
1557 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
1558 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
1559 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
1560 c_complex_object.occurrences = val[0][:c_occurrences]
1561 end
1562
1563 result
1564 end
1565.,.,
1566
1567module_eval(<<'.,.,', 'parser.y', 187)
1568 def _reduce_30(val, _values, result)
1569 result = {:c_complex_object_id => val[0], :c_occurrences => val[1]}
1570
1571 result
1572 end
1573.,.,
1574
1575module_eval(<<'.,.,', 'parser.y', 192)
1576 def _reduce_31(val, _values, result)
1577 result = {:type_identifier => val[0]}
1578
1579 result
1580 end
1581.,.,
1582
1583module_eval(<<'.,.,', 'parser.y', 196)
1584 def _reduce_32(val, _values, result)
1585 result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
1586
1587 result
1588 end
1589.,.,
1590
1591# reduce 33 omitted
1592
1593module_eval(<<'.,.,', 'parser.y', 202)
1594 def _reduce_34(val, _values, result)
1595 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0])
1596
1597 result
1598 end
1599.,.,
1600
1601module_eval(<<'.,.,', 'parser.y', 220)
1602 def _reduce_35(val, _values, result)
1603 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")
1604 result = val[0]
1605
1606 result
1607 end
1608.,.,
1609
1610module_eval(<<'.,.,', 'parser.y', 225)
1611 def _reduce_36(val, _values, result)
1612 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
1613 archetype_internal_ref.target_path = val[0][:absolute_path]
1614 archetype_internal_ref.rm_type_name = val[0][:type_identifier]
1615 archetype_internal_ref.occurrences = val[0][:c_occurrences]
1616 end
1617
1618 result
1619 end
1620.,.,
1621
1622module_eval(<<'.,.,', 'parser.y', 233)
1623 def _reduce_37(val, _values, result)
1624 result = val[0]
1625
1626 result
1627 end
1628.,.,
1629
1630module_eval(<<'.,.,', 'parser.y', 237)
1631 def _reduce_38(val, _values, result)
1632 result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref|
1633 constraint_ref.reference = val[0]
1634 end
1635
1636 result
1637 end
1638.,.,
1639
1640module_eval(<<'.,.,', 'parser.y', 243)
1641 def _reduce_39(val, _values, result)
1642 result = val[0]
1643
1644 result
1645 end
1646.,.,
1647
1648module_eval(<<'.,.,', 'parser.y', 247)
1649 def _reduce_40(val, _values, result)
1650 result = val[0]
1651
1652 result
1653 end
1654.,.,
1655
1656module_eval(<<'.,.,', 'parser.y', 251)
1657 def _reduce_41(val, _values, result)
1658 result = val[0]
1659
1660 result
1661 end
1662.,.,
1663
1664module_eval(<<'.,.,', 'parser.y', 255)
1665 def _reduce_42(val, _values, result)
1666 result = val[0]
1667
1668 result
1669 end
1670.,.,
1671
1672# reduce 43 omitted
1673
1674# reduce 44 omitted
1675
1676module_eval(<<'.,.,', 'parser.y', 288)
1677 def _reduce_45(val, _values, result)
1678 result = val[1]
1679
1680 result
1681 end
1682.,.,
1683
1684module_eval(<<'.,.,', 'parser.y', 294)
1685 def _reduce_46(val, _values, result)
1686 result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] }
1687
1688 result
1689 end
1690.,.,
1691
1692# reduce 47 omitted
1693
1694module_eval(<<'.,.,', 'parser.y', 301)
1695 def _reduce_48(val, _values, result)
1696 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot|
1697 archetype_slot.includes = val[3]
1698 archetype_slot.excludes = val[4]
1699 archetype_slot.rm_type_name = val[0][:c_archetype_slot_id]
1700 archetype_slot.occurrences = val[0][:c_occurrences]
1701 end
1702
1703 result
1704 end
1705.,.,
1706
1707module_eval(<<'.,.,', 'parser.y', 310)
1708 def _reduce_49(val, _values, result)
1709 result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]}
1710
1711 result
1712 end
1713.,.,
1714
1715module_eval(<<'.,.,', 'parser.y', 315)
1716 def _reduce_50(val, _values, result)
1717 result = val[1]
1718
1719 result
1720 end
1721.,.,
1722
1723# reduce 51 omitted
1724
1725# reduce 52 omitted
1726
1727module_eval(<<'.,.,', 'parser.y', 323)
1728 def _reduce_53(val, _values, result)
1729 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)}
1730 result = OpenEhr::AM::Archetype::ConstraintModel::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
1731 c_primitive_object.item = val[0]
1732 end
1733
1734 result
1735 end
1736.,.,
1737
1738module_eval(<<'.,.,', 'parser.y', 331)
1739 def _reduce_54(val, _values, result)
1740 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
1741 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_INTEGER.create do |c_integer|
1742 c_integer.list
1743 c_integer.range
1744 c_integer.assumed_value
1745 end
1746
1747 result
1748 end
1749.,.,
1750
1751module_eval(<<'.,.,', 'parser.y', 340)
1752 def _reduce_55(val, _values, result)
1753 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
1754 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_REAL.new
1755
1756 result
1757 end
1758.,.,
1759
1760module_eval(<<'.,.,', 'parser.y', 345)
1761 def _reduce_56(val, _values, result)
1762 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
1763 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE.new
1764
1765 result
1766 end
1767.,.,
1768
1769module_eval(<<'.,.,', 'parser.y', 350)
1770 def _reduce_57(val, _values, result)
1771 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
1772 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_TIME.new
1773
1774 result
1775 end
1776.,.,
1777
1778module_eval(<<'.,.,', 'parser.y', 355)
1779 def _reduce_58(val, _values, result)
1780 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
1781 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE_TIME.new
1782
1783 result
1784 end
1785.,.,
1786
1787module_eval(<<'.,.,', 'parser.y', 360)
1788 def _reduce_59(val, _values, result)
1789 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
1790 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new
1791
1792 result
1793 end
1794.,.,
1795
1796module_eval(<<'.,.,', 'parser.y', 365)
1797 def _reduce_60(val, _values, result)
1798 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
1799 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_STRING.new
1800
1801 result
1802 end
1803.,.,
1804
1805module_eval(<<'.,.,', 'parser.y', 370)
1806 def _reduce_61(val, _values, result)
1807 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)}
1808 @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
1809 result = val[0]
1810
1811 result
1812 end
1813.,.,
1814
1815# reduce 62 omitted
1816
1817module_eval(<<'.,.,', 'parser.y', 382)
1818 def _reduce_63(val, _values, result)
1819 result = [val[0]]
1820
1821 result
1822 end
1823.,.,
1824
1825module_eval(<<'.,.,', 'parser.y', 386)
1826 def _reduce_64(val, _values, result)
1827 result = (val[0] << val[1])
1828
1829 result
1830 end
1831.,.,
1832
1833module_eval(<<'.,.,', 'parser.y', 392)
1834 def _reduce_65(val, _values, result)
1835 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
1836 c_attribute = val[0]
1837 c_attribute.children = val[3]
1838 result = c_attribute
1839
1840 result
1841 end
1842.,.,
1843
1844module_eval(<<'.,.,', 'parser.y', 399)
1845 def _reduce_66(val, _values, result)
1846 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
1847 result = val[0]
1848
1849 result
1850 end
1851.,.,
1852
1853module_eval(<<'.,.,', 'parser.y', 404)
1854 def _reduce_67(val, _values, result)
1855 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
1856 result = val[0]
1857
1858 result
1859 end
1860.,.,
1861
1862module_eval(<<'.,.,', 'parser.y', 411)
1863 def _reduce_68(val, _values, result)
1864 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
1865 result = OpenEhr::AM::Archetype::ConstraintModel::C_SINGLE_ATTRIBUTE.new(
1866 :rm_attribute_name => val[0],
1867 :existence => val[1]
1868 )
1869
1870
1871 result
1872 end
1873.,.,
1874
1875module_eval(<<'.,.,', 'parser.y', 420)
1876 def _reduce_69(val, _values, result)
1877 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) }
1878 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
1879 result = OpenEhr::AM::Archetype::ConstraintModel::C_MULTIPLE_ATTRIBUTE.new(
1880 :rm_attribute_name => val[0],
1881 :existence => val[1],
1882 :cardinality => val[2]
1883 )
1884
1885 result
1886 end
1887.,.,
1888
1889module_eval(<<'.,.,', 'parser.y', 431)
1890 def _reduce_70(val, _values, result)
1891 result = Array[val[0]]
1892
1893 result
1894 end
1895.,.,
1896
1897module_eval(<<'.,.,', 'parser.y', 435)
1898 def _reduce_71(val, _values, result)
1899 result = (val[0] << val[1])
1900
1901 result
1902 end
1903.,.,
1904
1905module_eval(<<'.,.,', 'parser.y', 439)
1906 def _reduce_72(val, _values, result)
1907 result = Array[val[0]]
1908
1909 result
1910 end
1911.,.,
1912
1913# reduce 73 omitted
1914
1915module_eval(<<'.,.,', 'parser.y', 447)
1916 def _reduce_74(val, _values, result)
1917 result = val[1]
1918
1919 result
1920 end
1921.,.,
1922
1923# reduce 75 omitted
1924
1925module_eval(<<'.,.,', 'parser.y', 455)
1926 def _reduce_76(val, _values, result)
1927 result = val[1]
1928
1929 result
1930 end
1931.,.,
1932
1933# reduce 77 omitted
1934
1935# reduce 78 omitted
1936
1937# reduce 79 omitted
1938
1939# reduce 80 omitted
1940
1941# reduce 81 omitted
1942
1943# reduce 82 omitted
1944
1945# reduce 83 omitted
1946
1947# reduce 84 omitted
1948
1949module_eval(<<'.,.,', 'parser.y', 475)
1950 def _reduce_85(val, _values, result)
1951 dadl_section = val[1]
1952 result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
1953
1954 result
1955 end
1956.,.,
1957
1958# reduce 86 omitted
1959
1960# reduce 87 omitted
1961
1962module_eval(<<'.,.,', 'parser.y', 485)
1963 def _reduce_88(val, _values, result)
1964 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}")
1965 result = val[0]
1966
1967 result
1968 end
1969.,.,
1970
1971module_eval(<<'.,.,', 'parser.y', 490)
1972 def _reduce_89(val, _values, result)
1973 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}")
1974 result = val[0]
1975
1976 result
1977 end
1978.,.,
1979
1980module_eval(<<'.,.,', 'parser.y', 497)
1981 def _reduce_90(val, _values, result)
1982 result = Array[val[0]]
1983
1984 result
1985 end
1986.,.,
1987
1988module_eval(<<'.,.,', 'parser.y', 501)
1989 def _reduce_91(val, _values, result)
1990 result = (val[0] << val[1])
1991
1992 result
1993 end
1994.,.,
1995
1996module_eval(<<'.,.,', 'parser.y', 505)
1997 def _reduce_92(val, _values, result)
1998 result = (val[0] << val[2])
1999
2000 result
2001 end
2002.,.,
2003
2004module_eval(<<'.,.,', 'parser.y', 510)
2005 def _reduce_93(val, _values, result)
2006 @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0]}, object_block = #{val[1]}")
2007 result = {:attr_id => val[0], :object_block => val[2]}
2008
2009 result
2010 end
2011.,.,
2012
2013module_eval(<<'.,.,', 'parser.y', 516)
2014 def _reduce_94(val, _values, result)
2015 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}")
2016 result = val[0]
2017
2018 result
2019 end
2020.,.,
2021
2022# reduce 95 omitted
2023
2024module_eval(<<'.,.,', 'parser.y', 523)
2025 def _reduce_96(val, _values, result)
2026 result = val[0]
2027
2028 result
2029 end
2030.,.,
2031
2032module_eval(<<'.,.,', 'parser.y', 527)
2033 def _reduce_97(val, _values, result)
2034 result = val[0]
2035
2036 result
2037 end
2038.,.,
2039
2040module_eval(<<'.,.,', 'parser.y', 532)
2041 def _reduce_98(val, _values, result)
2042 result = val[0]
2043
2044 result
2045 end
2046.,.,
2047
2048module_eval(<<'.,.,', 'parser.y', 536)
2049 def _reduce_99(val, _values, result)
2050 result = val[0]
2051
2052 result
2053 end
2054.,.,
2055
2056module_eval(<<'.,.,', 'parser.y', 541)
2057 def _reduce_100(val, _values, result)
2058 result = {:untyped_multiple_attr_object_block => val[0]}
2059
2060 result
2061 end
2062.,.,
2063
2064module_eval(<<'.,.,', 'parser.y', 545)
2065 def _reduce_101(val, _values, result)
2066 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
2067
2068 result
2069 end
2070.,.,
2071
2072module_eval(<<'.,.,', 'parser.y', 550)
2073 def _reduce_102(val, _values, result)
2074 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
2075
2076 result
2077 end
2078.,.,
2079
2080module_eval(<<'.,.,', 'parser.y', 555)
2081 def _reduce_103(val, _values, result)
2082 result = val[0]
2083
2084 result
2085 end
2086.,.,
2087
2088module_eval(<<'.,.,', 'parser.y', 560)
2089 def _reduce_104(val, _values, result)
2090 result = Array[val[0]]
2091
2092 result
2093 end
2094.,.,
2095
2096module_eval(<<'.,.,', 'parser.y', 564)
2097 def _reduce_105(val, _values, result)
2098 result = (val[0] << val[1])
2099
2100 result
2101 end
2102.,.,
2103
2104module_eval(<<'.,.,', 'parser.y', 569)
2105 def _reduce_106(val, _values, result)
2106 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}")
2107 result = {:object_key => val[0], :object_block => val[2]}
2108
2109 result
2110 end
2111.,.,
2112
2113module_eval(<<'.,.,', 'parser.y', 575)
2114 def _reduce_107(val, _values, result)
2115 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
2116 result = val[1]
2117
2118 result
2119 end
2120.,.,
2121
2122module_eval(<<'.,.,', 'parser.y', 581)
2123 def _reduce_108(val, _values, result)
2124 result = {:untyped_single_attr_object_block => val[0]}
2125
2126 result
2127 end
2128.,.,
2129
2130module_eval(<<'.,.,', 'parser.y', 585)
2131 def _reduce_109(val, _values, result)
2132 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
2133
2134 result
2135 end
2136.,.,
2137
2138module_eval(<<'.,.,', 'parser.y', 590)
2139 def _reduce_110(val, _values, result)
2140 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
2141 result = {:single_attr_object_complex_head => val[0]}
2142
2143 result
2144 end
2145.,.,
2146
2147module_eval(<<'.,.,', 'parser.y', 595)
2148 def _reduce_111(val, _values, result)
2149 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
2150 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]}
2151
2152 result
2153 end
2154.,.,
2155
2156# reduce 112 omitted
2157
2158module_eval(<<'.,.,', 'parser.y', 601)
2159 def _reduce_113(val, _values, result)
2160 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
2161 result = {:untyped_primitive_object_block => val[0]}
2162
2163 result
2164 end
2165.,.,
2166
2167module_eval(<<'.,.,', 'parser.y', 606)
2168 def _reduce_114(val, _values, result)
2169 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
2170 result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]}
2171
2172 result
2173 end
2174.,.,
2175
2176module_eval(<<'.,.,', 'parser.y', 611)
2177 def _reduce_115(val, _values, result)
2178 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
2179 result = val[1]
2180
2181 result
2182 end
2183.,.,
2184
2185module_eval(<<'.,.,', 'parser.y', 616)
2186 def _reduce_116(val, _values, result)
2187 result = val[0]
2188
2189 result
2190 end
2191.,.,
2192
2193module_eval(<<'.,.,', 'parser.y', 620)
2194 def _reduce_117(val, _values, result)
2195 result = val[0]
2196
2197 result
2198 end
2199.,.,
2200
2201module_eval(<<'.,.,', 'parser.y', 624)
2202 def _reduce_118(val, _values, result)
2203 result = val[0]
2204
2205 result
2206 end
2207.,.,
2208
2209module_eval(<<'.,.,', 'parser.y', 628)
2210 def _reduce_119(val, _values, result)
2211 result = val[0]
2212
2213 result
2214 end
2215.,.,
2216
2217module_eval(<<'.,.,', 'parser.y', 632)
2218 def _reduce_120(val, _values, result)
2219 result = val[0]
2220
2221 result
2222 end
2223.,.,
2224
2225module_eval(<<'.,.,', 'parser.y', 636)
2226 def _reduce_121(val, _values, result)
2227 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}")
2228 result = val[0]
2229
2230 result
2231 end
2232.,.,
2233
2234module_eval(<<'.,.,', 'parser.y', 641)
2235 def _reduce_122(val, _values, result)
2236 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
2237 result = val[0]
2238
2239 result
2240 end
2241.,.,
2242
2243module_eval(<<'.,.,', 'parser.y', 646)
2244 def _reduce_123(val, _values, result)
2245 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}")
2246 result = val[0]
2247
2248 result
2249 end
2250.,.,
2251
2252module_eval(<<'.,.,', 'parser.y', 651)
2253 def _reduce_124(val, _values, result)
2254 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
2255 result = val[0]
2256
2257 result
2258 end
2259.,.,
2260
2261module_eval(<<'.,.,', 'parser.y', 656)
2262 def _reduce_125(val, _values, result)
2263 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}")
2264 result = val[0]
2265
2266 result
2267 end
2268.,.,
2269
2270module_eval(<<'.,.,', 'parser.y', 661)
2271 def _reduce_126(val, _values, result)
2272 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}")
2273 result = val[0]
2274
2275 result
2276 end
2277.,.,
2278
2279module_eval(<<'.,.,', 'parser.y', 666)
2280 def _reduce_127(val, _values, result)
2281 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}")
2282 result = val[0]
2283
2284 result
2285 end
2286.,.,
2287
2288module_eval(<<'.,.,', 'parser.y', 671)
2289 def _reduce_128(val, _values, result)
2290 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
2291 result = val[0]
2292
2293 result
2294 end
2295.,.,
2296
2297module_eval(<<'.,.,', 'parser.y', 676)
2298 def _reduce_129(val, _values, result)
2299 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
2300 result = val[0]
2301
2302 result
2303 end
2304.,.,
2305
2306module_eval(<<'.,.,', 'parser.y', 681)
2307 def _reduce_130(val, _values, result)
2308 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
2309 result = val[0]
2310
2311 result
2312 end
2313.,.,
2314
2315module_eval(<<'.,.,', 'parser.y', 687)
2316 def _reduce_131(val, _values, result)
2317 @@logger.debug("string_list_value: #{val[0]} at #{@filename}:#{@lineno}")
2318 result = val[0]
2319
2320 result
2321 end
2322.,.,
2323
2324module_eval(<<'.,.,', 'parser.y', 692)
2325 def _reduce_132(val, _values, result)
2326 result = val[0]
2327
2328 result
2329 end
2330.,.,
2331
2332module_eval(<<'.,.,', 'parser.y', 696)
2333 def _reduce_133(val, _values, result)
2334 result = val[0]
2335
2336 result
2337 end
2338.,.,
2339
2340module_eval(<<'.,.,', 'parser.y', 700)
2341 def _reduce_134(val, _values, result)
2342 result = val[0]
2343
2344 result
2345 end
2346.,.,
2347
2348module_eval(<<'.,.,', 'parser.y', 704)
2349 def _reduce_135(val, _values, result)
2350 result = val[0]
2351
2352 result
2353 end
2354.,.,
2355
2356module_eval(<<'.,.,', 'parser.y', 708)
2357 def _reduce_136(val, _values, result)
2358 result = val[0]
2359
2360 result
2361 end
2362.,.,
2363
2364module_eval(<<'.,.,', 'parser.y', 712)
2365 def _reduce_137(val, _values, result)
2366 result = val[0]
2367
2368 result
2369 end
2370.,.,
2371
2372module_eval(<<'.,.,', 'parser.y', 716)
2373 def _reduce_138(val, _values, result)
2374 result = val[0]
2375
2376 result
2377 end
2378.,.,
2379
2380module_eval(<<'.,.,', 'parser.y', 720)
2381 def _reduce_139(val, _values, result)
2382 result = val[0]
2383
2384 result
2385 end
2386.,.,
2387
2388# reduce 140 omitted
2389
2390# reduce 141 omitted
2391
2392# reduce 142 omitted
2393
2394# reduce 143 omitted
2395
2396# reduce 144 omitted
2397
2398# reduce 145 omitted
2399
2400module_eval(<<'.,.,', 'parser.y', 732)
2401 def _reduce_146(val, _values, result)
2402 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
2403 result = val[0]
2404
2405 result
2406 end
2407.,.,
2408
2409module_eval(<<'.,.,', 'parser.y', 737)
2410 def _reduce_147(val, _values, result)
2411 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
2412 result = val[0]
2413
2414 result
2415 end
2416.,.,
2417
2418module_eval(<<'.,.,', 'parser.y', 743)
2419 def _reduce_148(val, _values, result)
2420 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
2421 result = val[0]
2422
2423 result
2424 end
2425.,.,
2426
2427module_eval(<<'.,.,', 'parser.y', 749)
2428 def _reduce_149(val, _values, result)
2429 result = [val[0],val[2]]
2430
2431 result
2432 end
2433.,.,
2434
2435module_eval(<<'.,.,', 'parser.y', 753)
2436 def _reduce_150(val, _values, result)
2437 result = val[0] << val[2]
2438
2439 result
2440 end
2441.,.,
2442
2443module_eval(<<'.,.,', 'parser.y', 757)
2444 def _reduce_151(val, _values, result)
2445 result = val[0]
2446
2447 result
2448 end
2449.,.,
2450
2451module_eval(<<'.,.,', 'parser.y', 762)
2452 def _reduce_152(val, _values, result)
2453 begin
2454 integer = Integer(val[0])
2455 rescue
2456 raise
2457 end
2458 result = integer
2459
2460 result
2461 end
2462.,.,
2463
2464module_eval(<<'.,.,', 'parser.y', 771)
2465 def _reduce_153(val, _values, result)
2466 begin
2467 integer = Integer(val[0])
2468 rescue
2469 raise
2470 end
2471 result = integer
2472
2473 result
2474 end
2475.,.,
2476
2477module_eval(<<'.,.,', 'parser.y', 780)
2478 def _reduce_154(val, _values, result)
2479 begin
2480 integer = Integer(val[0])
2481 rescue
2482 raise
2483 end
2484 result = - integer
2485
2486 result
2487 end
2488.,.,
2489
2490# reduce 155 omitted
2491
2492# reduce 156 omitted
2493
2494# reduce 157 omitted
2495
2496# reduce 158 omitted
2497
2498# reduce 159 omitted
2499
2500# reduce 160 omitted
2501
2502# reduce 161 omitted
2503
2504# reduce 162 omitted
2505
2506# reduce 163 omitted
2507
2508# reduce 164 omitted
2509
2510# reduce 165 omitted
2511
2512# reduce 166 omitted
2513
2514module_eval(<<'.,.,', 'parser.y', 806)
2515 def _reduce_167(val, _values, result)
2516 begin
2517 real = Float(val[0])
2518 rescue
2519 raise
2520 end
2521 result = real
2522
2523 result
2524 end
2525.,.,
2526
2527module_eval(<<'.,.,', 'parser.y', 815)
2528 def _reduce_168(val, _values, result)
2529 begin
2530 real = Float(val[1])
2531 rescue
2532 raise
2533 end
2534 result = real
2535
2536 result
2537 end
2538.,.,
2539
2540module_eval(<<'.,.,', 'parser.y', 824)
2541 def _reduce_169(val, _values, result)
2542 begin
2543 real = Float(val[1])
2544 rescue
2545 raise
2546 end
2547 result = - real
2548
2549 result
2550 end
2551.,.,
2552
2553# reduce 170 omitted
2554
2555# reduce 171 omitted
2556
2557# reduce 172 omitted
2558
2559# reduce 173 omitted
2560
2561# reduce 174 omitted
2562
2563# reduce 175 omitted
2564
2565# reduce 176 omitted
2566
2567# reduce 177 omitted
2568
2569# reduce 178 omitted
2570
2571# reduce 179 omitted
2572
2573# reduce 180 omitted
2574
2575# reduce 181 omitted
2576
2577module_eval(<<'.,.,', 'parser.y', 849)
2578 def _reduce_182(val, _values, result)
2579 result = true
2580
2581 result
2582 end
2583.,.,
2584
2585module_eval(<<'.,.,', 'parser.y', 853)
2586 def _reduce_183(val, _values, result)
2587 result = false
2588
2589 result
2590 end
2591.,.,
2592
2593# reduce 184 omitted
2594
2595# reduce 185 omitted
2596
2597# reduce 186 omitted
2598
2599# reduce 187 omitted
2600
2601# reduce 188 omitted
2602
2603# reduce 189 omitted
2604
2605# reduce 190 omitted
2606
2607module_eval(<<'.,.,', 'parser.y', 868)
2608 def _reduce_191(val, _values, result)
2609 result = val[0]
2610
2611 result
2612 end
2613.,.,
2614
2615# reduce 192 omitted
2616
2617# reduce 193 omitted
2618
2619# reduce 194 omitted
2620
2621# reduce 195 omitted
2622
2623# reduce 196 omitted
2624
2625# reduce 197 omitted
2626
2627# reduce 198 omitted
2628
2629# reduce 199 omitted
2630
2631# reduce 200 omitted
2632
2633# reduce 201 omitted
2634
2635# reduce 202 omitted
2636
2637# reduce 203 omitted
2638
2639# reduce 204 omitted
2640
2641# reduce 205 omitted
2642
2643# reduce 206 omitted
2644
2645# reduce 207 omitted
2646
2647# reduce 208 omitted
2648
2649# reduce 209 omitted
2650
2651# reduce 210 omitted
2652
2653# reduce 211 omitted
2654
2655# reduce 212 omitted
2656
2657# reduce 213 omitted
2658
2659# reduce 214 omitted
2660
2661# reduce 215 omitted
2662
2663# reduce 216 omitted
2664
2665# reduce 217 omitted
2666
2667# reduce 218 omitted
2668
2669# reduce 219 omitted
2670
2671# reduce 220 omitted
2672
2673# reduce 221 omitted
2674
2675# reduce 222 omitted
2676
2677# reduce 223 omitted
2678
2679# reduce 224 omitted
2680
2681# reduce 225 omitted
2682
2683# reduce 226 omitted
2684
2685# reduce 227 omitted
2686
2687# reduce 228 omitted
2688
2689# reduce 229 omitted
2690
2691module_eval(<<'.,.,', 'parser.y', 919)
2692 def _reduce_230(val, _values, result)
2693 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
2694 result = val[0]
2695
2696 result
2697 end
2698.,.,
2699
2700# reduce 231 omitted
2701
2702# reduce 232 omitted
2703
2704# reduce 233 omitted
2705
2706# reduce 234 omitted
2707
2708# reduce 235 omitted
2709
2710# reduce 236 omitted
2711
2712# reduce 237 omitted
2713
2714# reduce 238 omitted
2715
2716# reduce 239 omitted
2717
2718# reduce 240 omitted
2719
2720# reduce 241 omitted
2721
2722# reduce 242 omitted
2723
2724module_eval(<<'.,.,', 'parser.y', 939)
2725 def _reduce_243(val, _values, result)
2726 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
2727 result = val[0]
2728
2729 result
2730 end
2731.,.,
2732
2733# reduce 244 omitted
2734
2735# reduce 245 omitted
2736
2737# reduce 246 omitted
2738
2739module_eval(<<'.,.,', 'parser.y', 949)
2740 def _reduce_247(val, _values, result)
2741 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
2742 result = val[0]
2743
2744 result
2745 end
2746.,.,
2747
2748# reduce 248 omitted
2749
2750# reduce 249 omitted
2751
2752# reduce 250 omitted
2753
2754# reduce 251 omitted
2755
2756# reduce 252 omitted
2757
2758# reduce 253 omitted
2759
2760# reduce 254 omitted
2761
2762# reduce 255 omitted
2763
2764# reduce 256 omitted
2765
2766# reduce 257 omitted
2767
2768# reduce 258 omitted
2769
2770# reduce 259 omitted
2771
2772# reduce 260 omitted
2773
2774# reduce 261 omitted
2775
2776# reduce 262 omitted
2777
2778# reduce 263 omitted
2779
2780# reduce 264 omitted
2781
2782# reduce 265 omitted
2783
2784# reduce 266 omitted
2785
2786# reduce 267 omitted
2787
2788# reduce 268 omitted
2789
2790# reduce 269 omitted
2791
2792# reduce 270 omitted
2793
2794# reduce 271 omitted
2795
2796# reduce 272 omitted
2797
2798# reduce 273 omitted
2799
2800# reduce 274 omitted
2801
2802# reduce 275 omitted
2803
2804# reduce 276 omitted
2805
2806# reduce 277 omitted
2807
2808# reduce 278 omitted
2809
2810# reduce 279 omitted
2811
2812# reduce 280 omitted
2813
2814# reduce 281 omitted
2815
2816# reduce 282 omitted
2817
2818# reduce 283 omitted
2819
2820# reduce 284 omitted
2821
2822# reduce 285 omitted
2823
2824# reduce 286 omitted
2825
2826# reduce 287 omitted
2827
2828module_eval(<<'.,.,', 'parser.y', 1019)
2829 def _reduce_288(val, _values, result)
2830 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
2831
2832 result
2833 end
2834.,.,
2835
2836module_eval(<<'.,.,', 'parser.y', 1023)
2837 def _reduce_289(val, _values, result)
2838 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
2839
2840 result
2841 end
2842.,.,
2843
2844module_eval(<<'.,.,', 'parser.y', 1034)
2845 def _reduce_290(val, _values, result)
2846 result = Range.new(1,1)
2847
2848 result
2849 end
2850.,.,
2851
2852module_eval(<<'.,.,', 'parser.y', 1038)
2853 def _reduce_291(val, _values, result)
2854 result = val[3]
2855
2856 result
2857 end
2858.,.,
2859
2860module_eval(<<'.,.,', 'parser.y', 1043)
2861 def _reduce_292(val, _values, result)
2862 begin
2863 integer = Integer(val[0])
2864 rescue
2865 raise
2866 end
2867 result = integer
2868
2869 result
2870 end
2871.,.,
2872
2873module_eval(<<'.,.,', 'parser.y', 1052)
2874 def _reduce_293(val, _values, result)
2875 begin
2876 from_integer = Integer(val[0])
2877 to_integer = Integer(val[2])
2878 rescue
2879 raise
2880 end
2881 result = Range.new(from_integer,to_integer)
2882
2883 result
2884 end
2885.,.,
2886
2887module_eval(<<'.,.,', 'parser.y', 1063)
2888 def _reduce_294(val, _values, result)
2889 result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new
2890
2891 result
2892 end
2893.,.,
2894
2895# reduce 295 omitted
2896
2897# reduce 296 omitted
2898
2899# reduce 297 omitted
2900
2901# reduce 298 omitted
2902
2903# reduce 299 omitted
2904
2905# reduce 300 omitted
2906
2907# reduce 301 omitted
2908
2909# reduce 302 omitted
2910
2911module_eval(<<'.,.,', 'parser.y', 1077)
2912 def _reduce_303(val, _values, result)
2913 result = val[0]
2914
2915 result
2916 end
2917.,.,
2918
2919module_eval(<<'.,.,', 'parser.y', 1081)
2920 def _reduce_304(val, _values, result)
2921 result = val[0]
2922
2923 result
2924 end
2925.,.,
2926
2927# reduce 305 omitted
2928
2929module_eval(<<'.,.,', 'parser.y', 1088)
2930 def _reduce_306(val, _values, result)
2931 case val[3]
2932 when OpenEhr::RM::Support::AssumedTypes::Interval
2933 result = val[3]
2934 else
2935 result = val[3]
2936 end
2937
2938 result
2939 end
2940.,.,
2941
2942# reduce 307 omitted
2943
2944module_eval(<<'.,.,', 'parser.y', 1099)
2945 def _reduce_308(val, _values, result)
2946 result = val[0]
2947
2948 result
2949 end
2950.,.,
2951
2952module_eval(<<'.,.,', 'parser.y', 1103)
2953 def _reduce_309(val, _values, result)
2954 result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2])
2955
2956 result
2957 end
2958.,.,
2959
2960# reduce 310 omitted
2961
2962# reduce 311 omitted
2963
2964# reduce 312 omitted
2965
2966# reduce 313 omitted
2967
2968# reduce 314 omitted
2969
2970# reduce 315 omitted
2971
2972# reduce 316 omitted
2973
2974# reduce 317 omitted
2975
2976# reduce 318 omitted
2977
2978# reduce 319 omitted
2979
2980# reduce 320 omitted
2981
2982# reduce 321 omitted
2983
2984# reduce 322 omitted
2985
2986# reduce 323 omitted
2987
2988# reduce 324 omitted
2989
2990# reduce 325 omitted
2991
2992# reduce 326 omitted
2993
2994# reduce 327 omitted
2995
2996# reduce 328 omitted
2997
2998# reduce 329 omitted
2999
3000# reduce 330 omitted
3001
3002# reduce 331 omitted
3003
3004# reduce 332 omitted
3005
3006# reduce 333 omitted
3007
3008# reduce 334 omitted
3009
3010# reduce 335 omitted
3011
3012# reduce 336 omitted
3013
3014# reduce 337 omitted
3015
3016# reduce 338 omitted
3017
3018# reduce 339 omitted
3019
3020# reduce 340 omitted
3021
3022# reduce 341 omitted
3023
3024# reduce 342 omitted
3025
3026# reduce 343 omitted
3027
3028# reduce 344 omitted
3029
3030# reduce 345 omitted
3031
3032# reduce 346 omitted
3033
3034# reduce 347 omitted
3035
3036# reduce 348 omitted
3037
3038# reduce 349 omitted
3039
3040# reduce 350 omitted
3041
3042# reduce 351 omitted
3043
3044# reduce 352 omitted
3045
3046module_eval(<<'.,.,', 'parser.y', 1169)
3047 def _reduce_353(val, _values, result)
3048 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true)
3049
3050 result
3051 end
3052.,.,
3053
3054module_eval(<<'.,.,', 'parser.y', 1173)
3055 def _reduce_354(val, _values, result)
3056 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false)
3057
3058 result
3059 end
3060.,.,
3061
3062module_eval(<<'.,.,', 'parser.y', 1177)
3063 def _reduce_355(val, _values, result)
3064 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
3065
3066 result
3067 end
3068.,.,
3069
3070module_eval(<<'.,.,', 'parser.y', 1181)
3071 def _reduce_356(val, _values, result)
3072 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
3073
3074 result
3075 end
3076.,.,
3077
3078module_eval(<<'.,.,', 'parser.y', 1186)
3079 def _reduce_357(val, _values, result)
3080 result = val[0]
3081
3082 result
3083 end
3084.,.,
3085
3086module_eval(<<'.,.,', 'parser.y', 1190)
3087 def _reduce_358(val, _values, result)
3088 raise 'Not implemented yet'
3089
3090 result
3091 end
3092.,.,
3093
3094module_eval(<<'.,.,', 'parser.y', 1194)
3095 def _reduce_359(val, _values, result)
3096 raise 'Not implemented yet'
3097
3098 result
3099 end
3100.,.,
3101
3102# reduce 360 omitted
3103
3104# reduce 361 omitted
3105
3106# reduce 362 omitted
3107
3108# reduce 363 omitted
3109
3110# reduce 364 omitted
3111
3112module_eval(<<'.,.,', 'parser.y', 1206)
3113 def _reduce_365(val, _values, result)
3114 @in_interval = false
3115 @@logger.debug("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}")
3116
3117 result
3118 end
3119.,.,
3120
3121module_eval(<<'.,.,', 'parser.y', 1213)
3122 def _reduce_366(val, _values, result)
3123 result = val[0]
3124
3125 result
3126 end
3127.,.,
3128
3129module_eval(<<'.,.,', 'parser.y', 1217)
3130 def _reduce_367(val, _values, result)
3131 result = val[0]
3132
3133 result
3134 end
3135.,.,
3136
3137module_eval(<<'.,.,', 'parser.y', 1223)
3138 def _reduce_368(val, _values, result)
3139 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}")
3140 @@logger.debug("#{__FILE__}:#{__LINE__}, term_code_body = #{val[1]}")
3141 @@logger.debug("#{__FILE__}:#{__LINE__}, END_TERM_CODE_CONSTRAINT = #{val[2]}")
3142 result = val[1]
3143
3144 result
3145 end
3146.,.,
3147
3148# reduce 369 omitted
3149
3150# reduce 370 omitted
3151
3152# reduce 371 omitted
3153
3154module_eval(<<'.,.,', 'parser.y', 1239)
3155 def _reduce_372(val, _values, result)
3156 result = val[0]
3157
3158 result
3159 end
3160.,.,
3161
3162module_eval(<<'.,.,', 'parser.y', 1244)
3163 def _reduce_373(val, _values, result)
3164 result = val[0]
3165
3166 result
3167 end
3168.,.,
3169
3170module_eval(<<'.,.,', 'parser.y', 1248)
3171 def _reduce_374(val, _values, result)
3172 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
3173 result = val[0]
3174
3175 result
3176 end
3177.,.,
3178
3179module_eval(<<'.,.,', 'parser.y', 1259)
3180 def _reduce_375(val, _values, result)
3181 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0]
3182
3183 result
3184 end
3185.,.,
3186
3187def _reduce_none(val, _values, result)
3188 val[0]
3189end
3190
3191 end # class Parser
3192 end # module ADL
3193 end # module OpenEhr
Note: See TracBrowser for help on using the repository browser.