source: ruby/branches/0.0/adl_parser/lib/parser.rb@ 168

Last change on this file since 168 was 168, checked in by KOBAYASHI, Shinji, 15 years ago

roll back branch 0.0

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