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

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

successful parsing 27 archtypes

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