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

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

created an experimental openehr_models gem package

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