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

Last change on this file since 326 was 326, checked in by Tatsukawa, Akimichi, 14 years ago

start implementing semantic function in ADL parser

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