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

Last change on this file since 19 was 19, checked in by Tatsukawa, Akimichi, 16 years ago

successful parsing 25 archtypes

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