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

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

ADL parser is roughly coupled with open_ehr model classes

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