- Timestamp:
- Sep 27, 2009, 9:24:19 PM (15 years ago)
- Location:
- ruby/trunk/lib/adl_parser
- Files:
-
- 2 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/Rakefile
r283 r307 89 89 s.extra_rdoc_files = ["README"] 90 90 # s.add_dependency("yaparc", ">= 0.2.3") 91 s.add_dependency("openehr_models", ">= 0.0.3") 91 # s.add_dependency("openehr_models", ">= 0.0.3") 92 s.add_dependency("open_ehr", ">= 0.0.1") 92 93 end 93 94 -
ruby/trunk/lib/adl_parser/lib/adl_exception.rb
r283 r307 1 module OpenE HR1 module OpenEhr 2 2 module ADL 3 3 module Exception -
ruby/trunk/lib/adl_parser/lib/adl_parser.rb
r291 r307 10 10 require 'adl_scanner.rb' 11 11 require 'adl_exception.rb' 12 require 'parser.rb' 12 13 13 14 module OpenEhr -
ruby/trunk/lib/adl_parser/lib/adl_scanner.rb
r291 r307 1 1 require 'rubygems' 2 require 'yaparc'3 2 require 'logger' 4 3 require 'adl_parser.rb' 5 require 'am.rb' 6 require 'rm.rb' 4 require 'open_ehr' 5 #require 'am.rb' 6 #require 'rm.rb' 7 7 require 'util.rb' 8 8 9 9 10 module OpenE HR10 module OpenEhr 11 11 module ADL 12 12 module Scanner 13 13 LOGGER = Logger.new('log/scanner.log') 14 LOGGER.level = Logger:: WARN14 LOGGER.level = Logger::DEBUG 15 15 16 16 class Base … … 33 33 attr_accessor :adl_type, :lineno, :cadl_scanner, :dadl_scanner, :regex_scanner, :term_constraint_scanner 34 34 35 @@logger = OpenE HR::ADL::Scanner::LOGGER #Logger.new('log/scanner.log')35 @@logger = OpenEhr::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') 36 36 RESERVED = { 37 37 'archetype' => :SYM_ARCHETYPE, … … 85 85 when /\A(\w+)-(\w+)-(\w+)\.(\w+)((?:-\w+)*)\.(v\w+)/ #V_ARCHETYPE_ID 86 86 object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6 87 archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id) 87 #archetype_id = OpenEhr::RM::Support::Identification::ArchetypeID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id) 88 archetype_id = OpenEhr::RM::Support::Identification::ArchetypeID.new(:concept_name => concept_name, :rm_name => rm_name, :rm_entity => rm_entity, :rm_originator => :rm_originator, :specialisation => specialisation, :version_id => version_id) 88 89 yield :V_ARCHETYPE_ID, archetype_id 89 90 when /\A[a-z][a-zA-Z0-9_]*/ … … 173 174 when /\A\[([a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+)\]/ #V_QUALIFIED_TERM_CODE_REF form such as [ICD10AM(1998)::F23] 174 175 yield :V_QUALIFIED_TERM_CODE_REF, $1 175 when /\A\[ [a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF176 yield :V_LOCAL_TERM_CODE_REF, $ &176 when /\A\[([a-zA-Z0-9][a-zA-Z0-9._\-]*)\]/ #V_LOCAL_TERM_CODE_REF 177 yield :V_LOCAL_TERM_CODE_REF, $1 177 178 when /\A\[/ # [ 178 179 yield :Left_bracket_code, :Left_bracket_code … … 208 209 data = $' # variable $' receives the string after the match 209 210 when :dadl 210 dadl_scanner = OpenE HR::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno)211 dadl_scanner = OpenEhr::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno) 211 212 data = dadl_scanner.scan(data) do |sym, val| 212 213 yield sym, val 213 214 end 214 215 when :cadl 215 cadl_scanner = OpenE HR::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno)216 cadl_scanner = OpenEhr::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno) 216 217 data = cadl_scanner.scan(data) do |sym, val| 217 218 yield sym, val 218 219 end 219 220 when :regexp 220 regex_scanner = OpenE HR::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno)221 regex_scanner = OpenEhr::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno) 221 222 data = regex_scanner.scan(data) do |sym, val| 222 223 yield sym, val 223 224 end 224 225 when :term_constraint 225 term_constraint_scanner = OpenE HR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno)226 term_constraint_scanner = OpenEhr::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno) 226 227 data = term_constraint_scanner.scan(data) do |sym, val| 227 228 yield sym, val … … 238 239 # 239 240 class DADLScanner < Base 240 @@logger = OpenEHR::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') 241 attr_accessor :in_interval, :in_c_domain_type, :in_dblock 242 @@logger = OpenEhr::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') 241 243 RESERVED = { 242 244 'true' => :SYM_TRUE, #[Tt][Rr][Uu][Ee] -- -> SYM_TRUE … … 249 251 @in_interval = false 250 252 @in_c_domain_type = false 253 @in_dblock = true 251 254 end 252 255 … … 258 261 until data.nil? do 259 262 @@logger.debug("#{@filename}:#{@lineno}: DADLScanner#scan:loop data = #{data.inspect}") 263 @@logger.debug("#{@filename}:#{@lineno}: DADLScanner#scan:loop self = \n#{self.to_yaml}") 260 264 case @adl_type.last 261 265 when :dadl … … 297 301 if @in_interval 298 302 yield :SYM_GT, :SYM_GT 303 # elsif @in_dblock == true 304 # @in_dblock = false 305 # yield :SYM_END_DBLOCK, :SYM_END_DBLOCK 299 306 elsif @in_c_domain_type == true 300 307 assert_at(__FILE__,__LINE__){@adl_type.last == :dadl} 301 308 adl_type = @adl_type.pop 302 if @adl_type.last == :cadl309 if adl_type == :dadl 303 310 @in_c_domain_type = false 304 yield :END_V_C_DOMAIN_TYPE_BLOCK, $& 311 yield :END_V_C_DOMAIN_TYPE_BLOCK, :END_V_C_DOMAIN_TYPE_BLOCK 312 # yield :SYM_END_DBLOCK, :SYM_END_DBLOCK 305 313 else 306 yield :SYM_END_DBLOCK, $&314 yield :SYM_END_DBLOCK, :SYM_END_DBLOCK 307 315 end 308 316 elsif @in_c_domain_type == false … … 392 400 data = $' # variable $' receives the string after the match 393 401 when :adl 394 adl_scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno)402 adl_scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno) 395 403 data = adl_scanner.scan(data) do |sym, val| 396 404 yield sym, val 397 405 end 398 406 when :cadl 399 cadl_scanner = OpenE HR::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno)407 cadl_scanner = OpenEhr::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno) 400 408 data = cadl_scanner.scan(data) do |sym, val| 401 409 yield sym, val 402 410 end 403 411 when :regexp 404 regex_scanner = OpenE HR::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno)412 regex_scanner = OpenEhr::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno) 405 413 data = regex_scanner.scan(data) do |sym, val| 406 414 yield sym, val … … 408 416 when :term_constraint 409 417 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 410 term_constraint_scanner = OpenE HR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno)418 term_constraint_scanner = OpenEhr::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno) 411 419 data = term_constraint_scanner.scan(data) do |sym, val| 412 420 yield sym, val … … 423 431 class CADLScanner < Base 424 432 425 @@logger = OpenE HR::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log')433 @@logger = OpenEhr::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log') 426 434 RESERVED = { 427 435 'then' => :SYM_THEN, # [Tt][Hh][Ee][Nn] … … 568 576 @adl_type.push(:term_constraint) 569 577 yield :START_TERM_CODE_CONSTRAINT, $1 570 when /\A\[ [a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF571 yield :V_LOCAL_TERM_CODE_REF, $ &578 when /\A\[([a-zA-Z0-9][a-zA-Z0-9._\-]*)\]/ #V_LOCAL_TERM_CODE_REF 579 yield :V_LOCAL_TERM_CODE_REF, $1 572 580 when /\A\[/ # [ 573 581 yield :Left_bracket_code, :Left_bracket_code … … 595 603 yield :V_ATTRIBUTE_IDENTIFIER, word #V_ATTRIBUTE_IDENTIFIER /\A[a-z][a-zA-Z0-9_]*/ 596 604 end 605 when /\A([A-Z][a-zA-Z0-9_]*)[ \n]*\</ # V_C_DOMAIN_TYPE 606 @in_c_domain_type = true 607 @adl_type.push(:dadl) 608 yield :START_V_C_DOMAIN_TYPE_BLOCK, $1 597 609 when /\A[A-Z][a-zA-Z0-9_]*/ 598 610 word = $&.dup … … 624 636 yield :UTF8CHAR, $& 625 637 when /\A.+/ # 626 raise OpenE HR::ADL::Exception::CADLScanner::Base.new, "can't handle #{data.inspect}"638 raise OpenEhr::ADL::Exception::CADLScanner::Base.new, "can't handle #{data.inspect}" 627 639 end 628 640 data = $' # variable $' receives the string after the match 629 641 when :adl 630 adl_scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno)642 adl_scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno) 631 643 data = adl_scanner.scan(data) do |sym, val| 632 644 yield sym, val 633 645 end 634 646 when :dadl 635 dadl_scanner = OpenEHR::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno) 647 dadl_scanner = OpenEhr::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno) 648 dadl_scanner.in_c_domain_type = @in_c_domain_type 636 649 data = dadl_scanner.scan(data) do |sym, val| 637 650 yield sym, val 638 651 end 639 652 when :regexp 640 regex_scanner = OpenE HR::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno)653 regex_scanner = OpenEhr::ADL::Scanner::RegexScanner.new(@adl_type, @filename, @lineno) 641 654 data = regex_scanner.scan(data) do |sym, val| 642 655 yield sym, val … … 644 657 when :term_constraint 645 658 @@logger.debug("Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 646 term_constraint_scanner = OpenE HR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno)659 term_constraint_scanner = OpenEhr::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno) 647 660 data = term_constraint_scanner.scan(data) do |sym, val| 648 661 yield sym, val 649 662 end 650 663 else 651 raise OpenE HR::ADL::Exception::CADLScanner.new, "unexpected adl_type: #{@adl_type.last}"664 raise OpenEhr::ADL::Exception::CADLScanner.new, "unexpected adl_type: #{@adl_type.last}" 652 665 end 653 666 end # of until … … 661 674 class RegexScanner < Base 662 675 663 @@logger = OpenE HR::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log')676 @@logger = OpenEhr::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log') 664 677 665 678 def initialize(adl_type, filename, lineno = 1) … … 695 708 data = $' # variable $' receives the string after the match 696 709 when :adl 697 adl_scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno)710 adl_scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno) 698 711 data = adl_scanner.scan(data) do |sym, val| 699 712 yield sym, val 700 713 end 701 714 when :dadl 702 dadl_scanner = OpenE HR::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno)715 dadl_scanner = OpenEhr::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno) 703 716 data = dadl_scanner.scan(data) do |sym, val| 704 717 yield sym, val 705 718 end 706 719 when :cadl 707 cadl_scanner = OpenE HR::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno)720 cadl_scanner = OpenEhr::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno) 708 721 data = cadl_scanner.scan(data) do |sym, val| 709 722 yield sym, val … … 711 724 when :term_constraint 712 725 #@@logger.debug("#{__FILE__}:#{__LINE__}: scan_regexp: Entering scan_term_constraint at #{@filename}:#{@lineno}") 713 term_constraint_scanner = OpenE HR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno)726 term_constraint_scanner = OpenEhr::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno) 714 727 data = term_constraint_scanner.scan(data) do |sym, val| 715 728 yield sym, val … … 726 739 # 727 740 class TermConstraintScanner < Base 728 @@logger = OpenE HR::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log')741 @@logger = OpenEhr::ADL::Scanner::LOGGER #Logger.new('log/scanner.log') #Logger.new('log/scanner.log') 729 742 def initialize(adl_type, filename, lineno = 1) 730 743 super(adl_type, filename, lineno) … … 759 772 data = $' # variable $' receives the string after the match 760 773 when :adl 761 adl_scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno)774 adl_scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename, @lineno) 762 775 data = adl_scanner.scan(data) do |sym, val| 763 776 yield sym, val 764 777 end 765 778 when :dadl 766 dadl_scanner = OpenE HR::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno)779 dadl_scanner = OpenEhr::ADL::Scanner::DADLScanner.new(@adl_type, @filename, @lineno) 767 780 data = dadl_scanner.scan(data) do |sym, val| 768 781 yield sym, val 769 782 end 770 783 when :cadl 771 cadl_scanner = OpenE HR::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno)784 cadl_scanner = OpenEhr::ADL::Scanner::CADLScanner.new(@adl_type, @filename, @lineno) 772 785 data = cadl_scanner.scan(data) do |sym, val| 773 786 yield sym, val … … 794 807 # @parser = lambda do |input| 795 808 # Yaparc::Apply.new(Yaparc::Regex.new(/[ \t\n]*\[([a-zA-Z0-9\(\)\._\-]+)::[ \t\n]*/)) do |match| 796 # OpenE HR::LOG.info("START_TERM_CODE_CONSTRAINT: #{match}")809 # OpenEhr::LOG.info("START_TERM_CODE_CONSTRAINT: #{match}") 797 810 # [:START_TERM_CODE_CONSTRAINT, match] 798 811 # end … … 807 820 # @parser = lambda do |input| 808 821 # Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/)) do |match| 809 # OpenE HR::LOG.info("V_QUALIFIED_TERM_CODE_REF: #{match}")822 # OpenEhr::LOG.info("V_QUALIFIED_TERM_CODE_REF: #{match}") 810 823 # [:V_QUALIFIED_TERM_CODE_REF, match] 811 824 # end … … 819 832 # @parser = lambda do |input| 820 833 # Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/)) do |match| 821 # OpenE HR::LOG.info("V_TERM_CODE_REF: #{match}")834 # OpenEhr::LOG.info("V_TERM_CODE_REF: #{match}") 822 835 # [:V_LOCAL_TERM_CODE_REF, match] 823 836 # end … … 831 844 # @parser = lambda do |input| 832 845 # Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/)) do |match| 833 # OpenE HR::LOG.info("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}")846 # OpenEhr::LOG.info("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}") 834 847 # [:ERR_V_QUALIFIED_TERM_CODE_REF, match] 835 848 # end … … 843 856 # @parser = lambda do |input| 844 857 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*/)) do |match| 845 # OpenE HR::LOG.info("V_TYPE_IDENTIFIER: #{match}")858 # OpenEhr::LOG.info("V_TYPE_IDENTIFIER: #{match}") 846 859 # [:V_TYPE_IDENTIFIER, match] 847 860 # end … … 855 868 # @parser = lambda do |input| 856 869 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/)) do |match| 857 # OpenE HR::LOG.info("V_GENERIC_TYPE_IDENTIFIER: #{match}")870 # OpenEhr::LOG.info("V_GENERIC_TYPE_IDENTIFIER: #{match}") 858 871 # [:V_GENERIC_TYPE_IDENTIFIER, match] 859 872 # end … … 868 881 # @parser = lambda do |input| 869 882 # Yaparc::Apply.new(Yaparc::Regex.new(/\Aa[ct][0-9.]+/)) do |match| 870 # OpenE HR::LOG.info("V_LOCAL_CODE: #{match}")883 # OpenEhr::LOG.info("V_LOCAL_CODE: #{match}") 871 884 # [:V_LOCAL_CODE, match] 872 885 # end … … 880 893 # @parser = lambda do |input| 881 894 # Yaparc::Apply.new(Yaparc::Regex.new(/\A"([^"]*)"/m)) do |match| 882 # OpenE HR::LOG.info("V_STRING: #{match}")895 # OpenEhr::LOG.info("V_STRING: #{match}") 883 896 # [:V_STRING, match] 884 897 # end … … 892 905 # @parser = lambda do |input| 893 906 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+/)) do |match| 894 # OpenE HR::LOG.info("V_REAL: #{match}")907 # OpenEhr::LOG.info("V_REAL: #{match}") 895 908 # [:V_REAL, match] 896 909 # end … … 907 920 # Yaparc::Alt.new(Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?T([0-9]+|[hH])?([0-9]+|[mM])?([0-9]+|[sS])?/), 908 921 # Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match| 909 # OpenE HR::LOG.info("V_ISO8601_DURATION: #{match}")922 # OpenEhr::LOG.info("V_ISO8601_DURATION: #{match}") 910 923 # [:V_ISO8601_DURATION, match] 911 924 # end … … 931 944 # @parser = lambda do |input| 932 945 # Yaparc::Alt.new(Reserved.new, 933 # OpenE HR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,934 # OpenE HR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new,935 # OpenE HR::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new,936 # OpenE HR::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new,937 # OpenE HR::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new,938 # OpenE HR::ADL::Scanner::Common::V_STRING.new,939 # OpenE HR::ADL::Scanner::Common::V_LOCAL_CODE.new,940 # OpenE HR::ADL::Scanner::Common::V_REAL.new,941 # OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new#,942 # #OpenE HR::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new946 # OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new, 947 # OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new, 948 # OpenEhr::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new, 949 # OpenEhr::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new, 950 # OpenEhr::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new, 951 # OpenEhr::ADL::Scanner::Common::V_STRING.new, 952 # OpenEhr::ADL::Scanner::Common::V_LOCAL_CODE.new, 953 # OpenEhr::ADL::Scanner::Common::V_REAL.new, 954 # OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new#, 955 # #OpenEhr::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new 943 956 # ) 944 957 # end … … 952 965 # def initialize 953 966 # @parser = lambda do |input| 954 # reserved_parsers = OpenE HR::ADL::Scanner::DADL::RESERVED.map do |keyword|967 # reserved_parsers = OpenEhr::ADL::Scanner::DADL::RESERVED.map do |keyword| 955 968 # Yaparc::Tokenize.new( 956 969 # Yaparc::Literal.new(keyword[0],false) … … 958 971 # end 959 972 # Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 960 # OpenE HR::LOG.info("Reserved: #{match}")961 # [OpenE HR::ADL::Scanner::DADL::RESERVED[match], OpenEHR::ADL::Scanner::DADL::RESERVED[match]]973 # OpenEhr::LOG.info("Reserved: #{match}") 974 # [OpenEhr::ADL::Scanner::DADL::RESERVED[match], OpenEhr::ADL::Scanner::DADL::RESERVED[match]] 962 975 # end, 963 976 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 964 # OpenE HR::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")977 # OpenEhr::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 965 978 # [:V_ATTRIBUTE_IDENTIFIER, match] 966 979 # end) … … 1007 1020 # @parser = lambda do |input| 1008 1021 # Yaparc::Apply.new(Yaparc::Regex.new(/\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]/)) do |match| 1009 # OpenE HR::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")1022 # OpenEhr::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}") 1010 1023 # [:V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN, match] 1011 1024 # end … … 1020 1033 # @parser = lambda do |input| 1021 1034 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]/)) do |match| 1022 # OpenE HR::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")1035 # OpenEhr::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}") 1023 1036 # [:V_ISO8601_DATE_CONSTRAINT_PATTERN, match] 1024 1037 # end … … 1033 1046 # @parser = lambda do |input| 1034 1047 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match| 1035 # OpenE HR::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")1048 # OpenEhr::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}") 1036 1049 # [:V_ISO8601_TIME_CONSTRAINT_PATTERN, match] 1037 1050 # end … … 1047 1060 # Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/), 1048 1061 # Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match| 1049 # OpenE HR::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")1062 # OpenEhr::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}") 1050 1063 # [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match] 1051 1064 # end … … 1060 1073 # @parser = lambda do |input| 1061 1074 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*[ \n]*\</)) do |match| 1062 # OpenE HR::LOG.info("V_C_DOMAIN_TYPE: #{match}")1075 # OpenEhr::LOG.info("V_C_DOMAIN_TYPE: #{match}") 1063 1076 # [:START_V_C_DOMAIN_TYPE_BLOCK, match] 1064 1077 # end … … 1077 1090 # V_ISO8601_DATE_CONSTRAINT_PATTERN.new, 1078 1091 # V_ISO8601_TIME_CONSTRAINT_PATTERN.new, 1079 # OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new,1092 # OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new, 1080 1093 # V_C_DOMAIN_TYPE.new, 1081 1094 # V_ISO8601_DURATION_CONSTRAINT_PATTERN.new, 1082 1095 # Reserved.new, 1083 # OpenE HR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,1084 # OpenE HR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new,1085 # OpenE HR::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new,1086 # OpenE HR::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new,1087 # OpenE HR::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new,1088 # OpenE HR::ADL::Scanner::Common::V_STRING.new,1089 # OpenE HR::ADL::Scanner::Common::V_LOCAL_CODE.new,1090 # OpenE HR::ADL::Scanner::Common::V_REAL.new,1091 # OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new#,1092 # #OpenE HR::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new1096 # OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new, 1097 # OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new, 1098 # OpenEhr::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new, 1099 # OpenEhr::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new, 1100 # OpenEhr::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new, 1101 # OpenEhr::ADL::Scanner::Common::V_STRING.new, 1102 # OpenEhr::ADL::Scanner::Common::V_LOCAL_CODE.new, 1103 # OpenEhr::ADL::Scanner::Common::V_REAL.new, 1104 # OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new#, 1105 # #OpenEhr::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new 1093 1106 # ) 1094 1107 # end … … 1107 1120 # end 1108 1121 # Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 1109 # OpenE HR::LOG.info("Reserved: #{match}")1110 # [OpenE HR::ADL::Scanner::CADL::RESERVED[match], OpenEHR::ADL::Scanner::CADL::RESERVED[match]]1122 # OpenEhr::LOG.info("Reserved: #{match}") 1123 # [OpenEhr::ADL::Scanner::CADL::RESERVED[match], OpenEhr::ADL::Scanner::CADL::RESERVED[match]] 1111 1124 # end, 1112 1125 # Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 1113 # OpenE HR::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")1126 # OpenEhr::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 1114 1127 # [:V_ATTRIBUTE_IDENTIFIER, match] 1115 1128 # end) -
ruby/trunk/lib/adl_parser/lib/parser.rb
r291 r307 13 13 require 'yaml' 14 14 require 'rubygems' 15 require 'adl_parser.rb' 16 require 'am.rb' 17 require 'rm.rb' 18 $DEBUG = false 15 require 'open_ehr' 16 #require 'adl_parser.rb' 17 #require 'am.rb' 18 #require 'rm.rb' 19 #require 'rm/support/assumed_types.rb' 20 #require 'assumed_library_types.rb' 21 $DEBUG = true 19 22 20 23 … … 24 27 class Parser < Racc::Parser 25 28 26 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 12 08)29 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1245) 27 30 28 31 def assert_at(file,line, message = "") … … 102 105 def scan 103 106 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 104 scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename)107 scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename) 105 108 106 109 until @data.nil? do … … 149 152 150 153 racc_action_table = [ 151 57 6, 483, 147, 164, 476, 594, 474, 59, 215, 472,152 1 31, 470, 452, 578, 575, 464, 462, 29, 383, 341,153 38 7, 67, 385, 321, 155, 157, 25, 26, 526, 114,154 1 19, 216, 73, 500, 190, 121, 36, 513, 515, 463,155 5 18, 519, 36, 517, 502, 30, 62, 574, 148, 155,156 15 7, 434, 49, 51, 284, 112, 444, 81, 84, 87,157 19 4, 160, 97, 309, 314, 238, 114, 117, 119, 121,158 53 4, 526, 121, 121, 119, 73, 117, 114, 128, 129,159 51 3, 515, 79, 518, 519, 277, 160, 281, 286, 288,160 5 37, 163, 119, 298, 75, 49, 51, 284, 152, 153,161 8 1, 84, 87, 194, 121, 97, 309, 314, 114, 114,162 11 7, 119, 121, 534, 102, 119, 436, 230, 232, 494,163 16 8, 498, 134, 152, 153, 9, 73, 496, 155, 157,164 2 81, 286, 288, 537, 155, 157, 298, 71, 102, 338,165 249, 322, 631, 323, 344, 11, 49, 51, 111, 248,166 231, 81, 84, 87, 467, 117, 97, 100, 101, 155,167 157, 140, 102, 100, 101, 160, 91, 95, 325, 326,168 1 35, 160, 97, 79, 117, 81, 84, 87, 468, 117,169 9 7, 100, 101, 389, 114, 140, 190, 155, 157, 138,170 9 1, 95, 173, 155, 157, 121, 160, 79, 392, 81,171 8 4, 87, 152, 153, 97, 100, 101, -374, 152, 153,172 -373, 81, 329, 330, 91, 95, 155, 157, 219, 158,173 1 61, 79, 571, 151, 160, 22, 154, 156, 155, 157,174 1 60, 158, 161, 152, 153, 151, 325, 326, 154, 156,175 97, 219, 242, 23, 238, 544, 103, 573, 541, 394,176 601, 542, 543, 160, 1, 81, 84, 87, 602, 603,177 97, 152, 153, 263, 109, 160, 256, 152, 153, 259,178 261, 395, 67, 4, 49, 51, 103, 79, 81, 84,179 87, 144, 16, 97, 17, 159, 145, 102, 49, 51,180 1 52, 153, 333, 36, 325, 326, 219, 159, 97, 149,181 79, 396, 152, 153, 150, 121, 219, 81, 329, 330,182 1 40, 81, 84, 87, 102, 16, 97, 17, 49, 51,183 114, 117, 119, 121, 81, 84, 87, 128, 129, 97,184 100, 101, 219, 81, 84, 87, 420, 140, 97, 91,185 95, 272, 219, 81, 84, 87, 79, 416, 97, 277,186 272, 81, 84, 87, 398, 79, 97, 100, 101, 389,187 102, 481, 415, 329, 330, 79, 91, 95, 335, 81,188 84, 87, 102, 79, 97, 128, 129, 212, 241, 81,189 84, 87, 242, 71, 97, 325, 326, 35, 240, 97,190 244, 79, 49, 51, 399, 140, 400, 81, 84, 87,191 102, 79, 97, 100, 101, 401, 418, 402, 219, 81,192 84, 87, 91, 95, 97, 100, 101, 403, 40, 79,193 36, 629, 630, 71, 91, 95, 404, 219, 35, 49,194 51, 79, 49, 51, 81, 329, 330, 81, 84, 87,195 102, 405, 97, 100, 101, 81, 84, 87, 431, 432,196 9 7, 406, 91, 95, 81, 329, 330, 492, 102, 79,197 407, 36, 408, 71, 81, 84, 87, 79, 409, 97,198 49, 51, 49, 51, 429, 430, 219, 81, 84, 87,199 410, 71, 97, 100, 101, 102, 79, 81, 329, 330,200 49, 51, 91, 95, 270, 81, 84, 87, 411, 79,201 97, 100, 101, 102, 239, 81, 329, 330, 140, 247,202 91, 95, 246, 81, 84, 87, 145, 79, 97, 81,203 329, 330, 81, 84, 87, 150, 140, 97, 100, 101,204 144, 102, 611, 612, 613, 79, 416, 91, 95, 219,205 81, 84, 87, 149, 79, 97, 100, 101, 245, 219,206 244, 415, 329, 330, 71, 91, 95, 219, 172, 169,207 170, 171, 79, 49, 51, 346, 347, 35, 81, 84,208 8 7, 348, 349, 97, 100, 101, 81, 84, 87, 251,209 102, 97, 56, 91, 95, 252, 81, 84, 87, 416,210 79, 97, 35, 253, 81, 84, 87, 264, 79, 97,211 36, 427, 428, 140, 81, 329, 330, 265, 79, 49,212 51, 325, 326, 356, 357, 97, 79, 81, 84, 87,213 358, 359, 97, 100, 101, 36, 325, 326, 425, 426,214 97, 119, 91, 95, 49, 51, 243, 284, 242, 79,215 81, 84, 87, 194, 437, 97, 309, 314, 438, 114,216 117, 119, 121, 81, 84, 87, 325, 326, 97, 439,217 97, 440, 114, 117, 119, 121, 172, 169, 170, 171,218 281, 286, 288, -103, 366, 367, 298, 176, 423, 424,219 81, 84, 87, 194, 441, 97, 128, 129, 111, 114,220 117, 119, 121, 190, 124, 112, 374, 375, 81, 84,221 8 7, 421, 422, 97, 128, 129, 111, 114, 117, 119,222 1 21, 442, 124, 81, 84, 87, 49, 51, 97, 81,223 329, 330, 114, 117, 119, 121, 81, 84, 87, 241,224 445, 97, 446, 447, 448, 114, 117, 119, 121, 81,225 84, 87, 449, 450, 97, 240, 453, 454, 114, 117,226 119, 121, 172, 169, 170, 171, 172, 169, 170, 171,227 328, 81, 329, 330, 172, 169, 170, 171, 172, 169,228 1 70, 171, 172, 169, 170, 171, 172, 169, 170, 171,229 17 2, 169, 170, 171, 455, 456, 457, 458, 460, 461,230 14 0, 214, 148, 138, 213, 210, 103, 166, 478, 480,231 266, 482, 163, 485, 486, 487, 117, 489, 146, 140,232 139, 136, 36, 110, 69, 503, 114, 505, 117, 507,233 119, 509, 121, 511, 512, 35, 540, 62, 58, 546,234 54 7, 548, 267, 550, 57, 552, 114, 554, 117, 556,235 119, 558, 121, 560, 561, 562, 563, 564, 565, 163,236 -103, 569, 250, 54, 173, 34, 114, 31, 580, 581,237 582, 121, 121, 28, 121, 583, 584, 585, 586, 587,238 58 8, 268, 591, 592, 593, 24, 596, 597, 111, 21,239 269, 604, 605, 606, 607, 79, 573, 609, 270, 271,240 61 9, 620, 621, 622, 15, 624, 14, 625, 12, 627,241 62 8, 319, 8, 7, 121]154 575, 474, 143, 163, 468, 593, 466, 433, 29, 464, 155 129, 462, 497, 577, 229, 476, 58, 137, 67, 213, 156 381, 335, 330, 564, 152, 154, 25, 26, 529, 125, 157 127, 113, 72, 495, 189, -373, 30, 516, 518, 36, 158 521, 523, 214, 520, 443, 36, 60, 230, 144, 152, 159 154, 431, 48, 50, 274, 110, 435, 80, 83, 86, 160 193, 157, 96, 300, 306, 115, 113, 115, 117, 119, 161 538, 529, 119, 119, 117, 72, 115, 113, 125, 127, 162 516, 518, 78, 521, 523, 317, 157, 272, 275, 276, 163 540, 162, 117, 288, 630, 48, 50, 274, 149, 150, 164 80, 83, 86, 193, 119, 96, 300, 306, 113, 113, 165 115, 117, 119, 538, 101, 117, 571, 35, 231, 513, 166 167, 574, 510, 149, 150, 511, 512, 491, 152, 154, 167 272, 275, 276, 540, 461, 9, 288, 139, 101, 332, 168 493, 133, 74, 326, 327, 48, 50, 96, 109, 482, 169 36, 80, 83, 86, 573, 11, 96, 98, 100, 48, 170 50, 139, 101, 98, 100, 157, 90, 94, 48, 50, 171 152, 154, 483, 78, 72, 80, 83, 86, 458, 119, 172 96, 98, 100, 599, 113, 70, 383, 152, 154, 134, 173 90, 94, 326, 327, 48, 50, 96, 78, 115, 80, 174 83, 86, 149, 150, 96, 98, 100, 157, 189, 152, 175 154, 250, 155, 158, 90, 94, 148, 601, 602, 151, 176 153, 78, 152, 154, 157, 155, 158, 152, 154, 148, 177 152, 154, 151, 153, 218, 80, 385, 386, 237, 456, 178 80, 385, 386, 237, 149, 150, 157, 1, 341, 248, 179 261, 172, 22, 254, 338, 379, 258, 260, 145, 157, 180 117, 149, 150, 146, 157, 115, 4, 157, 119, -372, 181 23, 80, 83, 86, 218, 247, 96, 269, 156, 391, 182 218, 238, 570, 149, 150, 159, 218, 80, 385, 386, 183 160, 156, 218, 78, 417, 241, 149, 150, 80, 83, 184 86, 149, 150, 96, 149, 150, 102, 113, 115, 117, 185 119, 80, 83, 86, 239, 218, 96, 80, 83, 86, 186 392, 218, 96, 80, 83, 86, 393, 218, 96, 80, 187 83, 86, 394, 78, 96, 171, 168, 169, 170, 78, 188 218, 102, 395, 326, 327, 78, 396, 96, 48, 50, 189 101, 78, 80, 83, 86, 125, 127, 96, 80, 83, 190 86, 397, 108, 96, 80, 83, 86, 398, 218, 96, 191 67, 628, 629, 139, 78, 218, 498, 80, 83, 86, 192 78, 399, 96, 48, 50, 400, 78, 80, 83, 86, 193 401, 36, 96, 98, 100, 489, 326, 327, 101, 78, 194 96, 402, 90, 94, 267, 80, 83, 86, 403, 78, 195 96, 404, 80, 83, 86, 268, 101, 96, 16, 41, 196 17, 70, 428, 429, 80, 385, 386, 78, 269, 35, 197 48, 50, 426, 427, 78, 80, 83, 86, 405, 139, 198 96, 98, 100, 101, 326, 327, 407, 16, 96, 17, 199 90, 94, 408, 80, 83, 86, 409, 78, 96, 98, 200 100, 101, 36, 321, 211, 322, 139, 312, 90, 94, 201 246, 48, 50, 245, 35, 78, 414, 80, 385, 386, 202 80, 83, 86, 146, 139, 96, 98, 100, 101, 343, 203 344, 413, 385, 386, 160, 90, 94, 244, 80, 83, 204 86, 251, 78, 96, 98, 100, 101, 36, 383, 55, 205 472, 139, 252, 90, 94, 263, 48, 50, 264, 35, 206 78, 171, 168, 169, 170, 80, 83, 86, 265, 70, 207 96, 98, 100, 101, 171, 168, 169, 170, 48, 50, 208 90, 94, 119, 80, 83, 86, 243, 78, 96, 98, 209 100, 101, 36, 326, 327, 242, 139, 96, 90, 94, 210 241, 48, 50, 424, 425, 78, 171, 168, 169, 170, 211 80, 83, 86, 436, 70, 96, 98, 100, 437, 101, 212 80, 385, 386, 48, 50, 90, 94, 438, 80, 83, 213 86, 414, 78, 96, 98, 100, 439, 101, 414, 610, 214 611, 612, 70, 90, 94, 218, 413, 385, 386, 440, 215 78, 48, 50, 80, 385, 386, 80, 83, 86, 441, 216 70, 96, 98, 100, 171, 168, 169, 170, 240, 48, 217 50, 90, 94, 444, 80, 83, 86, 445, 78, 96, 218 98, 100, 80, 83, 86, 351, 352, 96, 446, 90, 219 94, 447, 325, 448, 326, 327, 78, 274, 96, 449, 220 80, 83, 86, 193, 78, 96, 300, 306, 450, 113, 221 115, 117, 119, 80, 83, 86, 353, 354, 96, 80, 222 385, 386, 113, 115, 117, 119, 389, 80, 385, 386, 223 272, 275, 276, -102, 355, 356, 288, 175, 422, 423, 224 80, 83, 86, 193, 451, 96, 125, 127, 109, 113, 225 115, 117, 119, 189, 122, 110, 363, 364, 80, 83, 226 86, 420, 421, 96, 125, 127, 109, 113, 115, 117, 227 119, 452, 122, 80, 83, 86, 418, 419, 96, 80, 228 385, 386, 113, 115, 117, 119, 80, 83, 86, 377, 229 378, 96, 317, 312, 453, 113, 115, 117, 119, 80, 230 83, 86, 454, 455, 96, 239, 145, 159, 113, 115, 231 117, 119, 171, 168, 169, 170, 171, 168, 169, 170, 232 171, 168, 169, 170, 171, 168, 169, 170, 216, 139, 233 144, 137, 212, 208, 471, 266, 473, 102, 165, 478, 234 480, 481, 162, 484, 485, 486, 147, 139, 138, 135, 235 36, 131, 68, 500, 113, 502, 115, 504, 117, 506, 236 119, 117, 509, 35, 514, 515, 60, 543, 57, 545, 237 546, 56, 548, 113, 550, 115, 552, 117, 554, 119, 238 267, 557, 558, 559, 560, 561, 562, 119, 119, 119, 239 119, 563, 249, 162, -102, 568, 115, 53, 34, 172, 240 268, 31, 579, 28, 581, 582, 583, 584, 585, 586, 241 587, 113, 590, 591, 592, 24, 595, 596, 269, 21, 242 109, 603, 604, 605, 606, 78, 570, 608, 270, 311, 243 618, 619, 620, 621, 15, 623, 14, 624, 12, 626, 244 627, 320, 8, 7, 580 ] 242 245 243 246 racc_action_check = [ 244 53 1, 410, 86, 91, 405, 570, 404, 43, 147, 403,245 6 3, 402, 375, 531, 529, 398, 395, 21, 265, 250,246 26 7, 52, 266, 231, 222, 222, 18, 18, 531, 250,247 2 65, 147, 531, 430, 267, 266, 43, 531, 531, 395,248 53 1, 531, 52, 462, 432, 21, 63, 529, 86, 320,249 320, 357, 531, 531, 531, 410, 367, 531, 531, 531,250 53 1, 222, 531, 531, 531, 320, 531, 531, 531, 531,251 53 1, 462, 375, 405, 404, 462, 403, 402, 398, 398,252 4 62, 462, 91, 462, 462, 462, 320, 531, 531, 531,253 53 1, 570, 430, 531, 54, 462, 462, 462, 222, 222,254 4 62, 462, 462, 462, 432, 462, 462, 462, 357, 462,255 4 62, 462, 462, 462, 54, 367, 359, 163, 166, 424,256 9 5, 428, 69, 320, 320, 4, 54, 426, 227, 227,257 4 62, 462, 462, 462, 229, 229, 462, 54, 166, 248,258 188, 240, 624, 240, 252, 4, 54, 54, 248, 187,259 163, 54, 54, 54, 400, 252, 54, 54, 54, 224,260 224, 166, 624, 95, 95, 227, 54, 54, 424, 424,261 69, 229, 424, 54, 359, 166, 166, 166, 401, 428,262 16 6, 166, 166, 268, 426, 624, 269, 218, 218, 71,263 16 6, 166, 98, 226, 226, 264, 224, 166, 271, 624,264 624, 624, 227, 227, 624, 624, 624, 71, 229, 229,265 98, 400, 400, 400, 624, 624, 88, 88, 157, 88,266 8 8, 624, 519, 88, 218, 14, 88, 88, 174, 174,267 226, 174, 174, 224, 224, 174, 401, 401, 174, 174,268 401, 152, 522, 14, 174, 480, 110, 522, 480, 272,269 575, 480, 480, 88, 0, 157, 157, 157, 579, 579,270 157, 218, 218, 194, 60, 174, 194, 226, 226, 194,271 194, 274, 60, 0, 519, 519, 58, 157, 152, 152,272 15 2, 84, 11, 152, 11, 88, 84, 171, 110, 110,273 8 8, 88, 244, 60, 244, 244, 153, 174, 244, 87,274 1 52, 275, 174, 174, 87, 480, 161, 575, 575, 575,275 1 71, 194, 194, 194, 168, 26, 194, 26, 58,58,276 194, 194, 194, 194, 171, 171, 171, 243, 243, 171,277 1 71, 171, 160, 153, 153, 153, 349, 168, 153, 171,278 1 71, 278, 159, 161, 161, 161, 171, 321, 161, 214,279 214, 168, 168, 168, 279, 153, 168, 168, 168, 408,280 626, 408, 321, 321, 321, 161, 168, 168, 246, 160,281 160, 160, 170, 168, 160, 246, 246, 136, 282, 159,282 15 9, 159, 283, 626, 159, 349, 349, 136, 284, 349,283 287, 160, 626, 626, 289, 170, 290, 626, 626, 626,284 619, 159, 626, 626, 626, 293, 347, 296, 158, 170,285 1 70, 170, 626, 626, 170, 170, 170, 300, 28, 626,286 136, 622, 622, 619, 170, 170, 303, 151, 28, 136,287 136, 170, 619, 619, 270, 270, 270, 619, 619, 619,288 8 2, 306, 619, 619, 619, 158, 158, 158, 355, 355,289 158, 309, 619, 619, 347, 347, 347, 422, 614, 619,290 310, 28, 312, 82, 151, 151, 151, 158, 314, 151,291 28, 28, 82, 82, 354, 354, 154, 82, 82, 82,292 315, 614, 82, 82, 82, 169, 151, 574, 574, 574,293 614, 614, 82, 82, 317, 614, 614, 614, 319, 82,294 614, 614, 614, 102, 175, 422, 422, 422, 169, 186,295 614, 614, 185, 154, 154, 154, 325, 614, 154, 418,296 418, 418, 169, 169, 169, 326, 102, 169, 169, 169,297 329, 609, 606, 606, 606, 154, 564, 169, 169, 219,298 1 02, 102, 102, 330, 169, 102, 102, 102, 184, 156,299 182, 564, 564, 564, 609, 102, 102, 155, 175, 175,300 17 5, 175, 102, 609, 609, 254, 254, 515, 609, 609,301 609, 255, 255, 609, 609, 609, 219, 219, 219, 191,302 172, 219, 34, 609, 609, 192, 156, 156, 156, 486,303 60 9, 156, 34, 193, 155, 155, 155, 195, 219, 155,304 515, 353, 353, 172, 486, 486, 486, 196, 156, 515,305 515, 420, 420, 257, 257, 420, 155, 172, 172, 172,306 258, 258, 172, 172, 172, 34, 494, 494, 352, 352,307 494, 251, 172, 172, 34, 34, 181, 215, 179, 172,308 215, 215, 215, 215, 360, 215, 215, 215, 361, 215,309 215, 215, 215, 263, 263, 263, 241, 241, 263, 362,310 2 41, 363, 263, 263, 263, 263, 96, 96, 96, 96,311 21 5, 215, 215, 103, 260, 260, 215, 103, 351, 351,312 103, 103, 103, 103, 364, 103, 103, 103, 103, 103,313 103, 103, 103, 103, 103, 62, 262, 262, 62, 62,314 62, 350, 350, 62, 62, 62, 62, 62, 62, 62,315 62, 365, 62, 256, 256, 256, 518, 518, 256, 492,316 492, 492, 256, 256, 256, 256, 261, 261, 261, 178,317 368, 261, 369, 370, 371, 261, 261, 261, 261, 259,318 259, 259, 372, 373, 259, 176, 376, 377, 259, 259,319 2 59, 259, 237, 237, 237, 237, 234, 234, 234, 234,320 2 42, 242, 242, 242, 236, 236, 236, 236, 617, 617,321 617, 617, 235, 235, 235, 235, 233, 233, 233, 233,322 632, 632, 632, 632, 378, 379, 380, 381, 393, 394,323 14 8, 146, 141, 140, 139, 116, 108, 92, 406, 407,324 199, 409, 89, 413, 415, 417, 249, 419, 85, 79,325 73, 70, 67, 61, 53, 433, 434, 435, 436, 443,326 44 4, 451, 452, 460, 461, 48, 463, 47, 42, 488,327 4 90, 491, 202, 493, 36, 495, 496, 497, 498, 499,328 500, 501, 502, 504, 506, 508, 510, 511, 512, 514,329 35, 517, 189, 33, 520, 27, 247, 24, 537, 538,330 540, 541, 542, 20, 544, 549, 551, 553, 555, 557,331 55 9, 204, 565, 566, 568, 16, 572, 573, 245, 13,332 2 05, 581, 589, 590, 591, 595, 598, 604, 207, 213,333 6 10, 611, 612, 613, 8, 616, 6, 618, 5, 620,334 62 1, 216, 3, 2, 543]247 535, 402, 82, 90, 398, 569, 397, 354, 21, 396, 248 61, 395, 427, 535, 162, 403, 42, 70, 49, 143, 249 264, 247, 243, 515, 217, 217, 18, 18, 535, 243, 250 243, 247, 535, 425, 264, 70, 21, 535, 535, 49, 251 535, 535, 143, 482, 364, 42, 61, 162, 82, 228, 252 228, 352, 535, 535, 535, 402, 356, 535, 535, 535, 253 535, 217, 535, 535, 535, 354, 535, 535, 535, 535, 254 535, 482, 427, 398, 397, 482, 396, 395, 403, 403, 255 482, 482, 90, 482, 482, 482, 228, 535, 535, 535, 256 535, 569, 425, 535, 623, 482, 482, 482, 217, 217, 257 482, 482, 482, 482, 364, 482, 482, 482, 352, 482, 258 482, 482, 482, 482, 623, 356, 523, 518, 165, 471, 259 94, 531, 471, 228, 228, 471, 471, 421, 225, 225, 260 482, 482, 482, 482, 394, 4, 482, 623, 165, 245, 261 423, 68, 53, 417, 417, 521, 521, 417, 245, 408, 262 518, 623, 623, 623, 531, 4, 623, 623, 623, 518, 263 518, 165, 53, 94, 94, 225, 623, 623, 523, 523, 264 223, 223, 408, 623, 53, 165, 165, 165, 392, 471, 265 165, 165, 165, 574, 421, 53, 265, 221, 221, 68, 266 165, 165, 394, 394, 53, 53, 394, 165, 423, 53, 267 53, 53, 225, 225, 53, 53, 53, 223, 266, 85, 268 85, 188, 85, 85, 53, 53, 85, 578, 578, 85, 269 85, 53, 173, 173, 221, 173, 173, 319, 319, 173, 270 226, 226, 173, 173, 156, 392, 392, 392, 173, 378, 271 574, 574, 574, 319, 223, 223, 85, 0, 252, 186, 272 193, 97, 14, 193, 249, 263, 193, 193, 83, 173, 273 252, 221, 221, 83, 319, 249, 0, 226, 263, 97, 274 14, 156, 156, 156, 157, 185, 156, 522, 85, 270, 275 158, 174, 522, 85, 85, 86, 155, 378, 378, 378, 276 86, 173, 154, 156, 344, 273, 173, 173, 193, 193, 277 193, 319, 319, 193, 226, 226, 57, 193, 193, 193, 278 193, 157, 157, 157, 274, 153, 157, 158, 158, 158, 279 277, 152, 158, 155, 155, 155, 278, 218, 155, 154, 280 154, 154, 280, 157, 154, 174, 174, 174, 174, 158, 281 151, 131, 283, 344, 344, 155, 286, 344, 57, 57, 282 167, 154, 153, 153, 153, 240, 240, 153, 152, 152, 283 152, 290, 59, 152, 218, 218, 218, 293, 150, 218, 284 59, 621, 621, 167, 153, 149, 429, 151, 151, 151, 285 152, 296, 151, 131, 131, 298, 218, 167, 167, 167, 286 300, 59, 167, 167, 167, 419, 489, 489, 81, 151, 287 489, 301, 167, 167, 303, 150, 150, 150, 305, 167, 288 150, 306, 149, 149, 149, 308, 101, 149, 26, 28, 289 26, 81, 350, 350, 429, 429, 429, 150, 309, 28, 290 81, 81, 349, 349, 149, 81, 81, 81, 311, 101, 291 81, 81, 81, 168, 419, 419, 312, 11, 419, 11, 292 81, 81, 314, 101, 101, 101, 315, 81, 101, 101, 293 101, 169, 28, 239, 135, 239, 168, 318, 101, 101, 294 184, 28, 28, 183, 135, 101, 320, 267, 267, 267, 295 168, 168, 168, 326, 169, 168, 168, 168, 170, 253, 296 253, 320, 320, 320, 327, 168, 168, 182, 169, 169, 297 169, 190, 168, 169, 169, 169, 625, 135, 400, 34, 298 400, 170, 191, 169, 169, 195, 135, 135, 198, 34, 299 169, 95, 95, 95, 95, 170, 170, 170, 200, 625, 300 170, 170, 170, 171, 236, 236, 236, 236, 625, 625, 301 170, 170, 251, 625, 625, 625, 181, 170, 625, 625, 302 625, 608, 34, 268, 268, 180, 171, 268, 625, 625, 303 178, 34, 34, 348, 348, 625, 233, 233, 233, 233, 304 171, 171, 171, 357, 608, 171, 171, 171, 358, 613, 305 456, 456, 456, 608, 608, 171, 171, 359, 608, 608, 306 608, 563, 171, 608, 608, 608, 360, 618, 485, 604, 307 604, 604, 613, 608, 608, 148, 563, 563, 563, 361, 308 608, 613, 613, 485, 485, 485, 613, 613, 613, 362, 309 618, 613, 613, 613, 235, 235, 235, 235, 177, 618, 310 618, 613, 613, 365, 618, 618, 618, 366, 613, 618, 311 618, 618, 148, 148, 148, 255, 255, 148, 367, 618, 312 618, 368, 241, 369, 241, 241, 618, 213, 241, 370, 313 213, 213, 213, 213, 148, 213, 213, 213, 371, 213, 314 213, 213, 213, 261, 261, 261, 256, 256, 261, 498, 315 498, 498, 261, 261, 261, 261, 269, 269, 269, 269, 316 213, 213, 213, 102, 257, 257, 213, 102, 347, 347, 317 102, 102, 102, 102, 372, 102, 102, 102, 102, 102, 318 102, 102, 102, 102, 102, 60, 259, 259, 60, 60, 319 60, 346, 346, 60, 60, 60, 60, 60, 60, 60, 320 60, 373, 60, 254, 254, 254, 345, 345, 254, 573, 321 573, 573, 254, 254, 254, 254, 260, 260, 260, 262, 322 262, 260, 216, 216, 374, 260, 260, 260, 260, 258, 323 258, 258, 375, 376, 258, 175, 385, 386, 258, 258, 324 258, 258, 616, 616, 616, 616, 234, 234, 234, 234, 325 232, 232, 232, 232, 631, 631, 631, 631, 147, 144, 326 140, 139, 138, 112, 399, 201, 401, 106, 91, 404, 327 406, 407, 88, 411, 413, 416, 84, 78, 72, 69, 328 67, 63, 52, 430, 431, 432, 433, 434, 435, 442, 329 443, 248, 457, 47, 480, 481, 46, 483, 40, 487, 330 488, 36, 490, 491, 492, 493, 494, 495, 496, 497, 331 203, 499, 501, 503, 505, 507, 508, 510, 511, 512, 332 513, 514, 187, 517, 35, 520, 246, 33, 27, 524, 333 205, 24, 540, 20, 543, 547, 549, 551, 553, 555, 334 556, 244, 564, 565, 567, 16, 570, 572, 206, 13, 335 242, 580, 588, 589, 590, 594, 598, 603, 212, 214, 336 609, 610, 611, 612, 8, 615, 6, 617, 5, 619, 337 620, 230, 3, 2, 541 ] 335 338 336 339 racc_action_pointer = [ 337 2 53, nil, 884, 902, 124, 880, 869, nil, 894, nil,338 nil, 258, nil, 851, 224, nil, 867, nil, 4, nil,339 833, 16, nil, nil, 832, nil, 291, 824, 417, nil,340 nil, nil, nil, 82 1, 581, 799, 833, nil, nil, nil,341 nil, nil, 820, -8, nil, nil, nil, 776, 814, nil,342 nil, nil, -2, 766, 93, nil, nil, nil, 265, nil,343 249, 805, 640, -5, nil, nil, nil, 768, nil, 121,344 761, 160, nil, 776, nil, nil, nil, nil, nil, 765,345 nil, nil, 419, nil, 223, 774, -32, 241, 210, 715,346 nil, 2, 750, nil, nil, 99, 590, nil, 163, nil,347 nil, nil, 482, 622, nil, nil, nil, nil, 785, nil,348 235, nil, nil, nil, nil, nil, 743, nil, nil, nil,340 246, nil, 884, 902, 134, 880, 869, nil, 894, nil, 341 nil, 423, nil, 851, 251, nil, 867, nil, 4, nil, 342 833, 7, nil, nil, 836, nil, 394, 827, 418, nil, 343 nil, nil, nil, 825, 508, 803, 830, nil, nil, nil, 344 820, nil, 1, nil, nil, nil, 775, 812, nil, -5, 345 nil, nil, 764, 141, nil, nil, nil, 295, nil, 347, 346 660, -5, nil, 803, nil, nil, nil, 766, 140, 759, 347 -12, nil, 774, nil, nil, nil, nil, nil, 763, nil, 348 nil, 377, -32, 200, 772, 203, 227, nil, 715, nil, 349 2, 751, nil, nil, 99, 445, nil, 222, nil, nil, 350 nil, 395, 642, nil, nil, nil, 786, nil, nil, nil, 351 nil, nil, 741, nil, nil, nil, nil, nil, nil, nil, 349 352 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 350 nil, nil, nil, nil, nil, nil, 376, nil, nil, 759, 351 764, 712, nil, nil, nil, nil, 779, -4, 746, nil, 352 nil, 406, 220, 275, 455, 536, 528, 197, 387, 321, 353 311, 285, nil, 116, nil, nil, 117, nil, 293, 464, 354 351, 266, 559, nil, 222, 482, 689, nil, 673, 582, 355 nil, 580, 494, nil, 492, 456, 453, 93, 84, 796, 356 nil, 523, 529, 578, 253, 541, 551, nil, nil, 744, 357 nil, nil, 776, nil, 815, 824, nil, 832, nil, nil, 358 nil, nil, nil, 853, 306, 582, 865, nil, 181, 518, 359 nil, nil, 18, nil, 153, nil, 187, 122, nil, 128, 360 nil, 11, nil, 700, 680, 696, 688, 676, nil, nil, 361 86, 597, 703, 263, 235, 812, 311, 789, 82, 738, 362 -38, 562, 87, nil, 504, 510, 655, 552, 559, 681, 363 613, 668, 635, 595, 125, -39, -35, -37, 128, 115, 364 376, 161, 167, nil, 237, 287, nil, nil, 297, 331, 365 nil, nil, 322, 326, 332, nil, nil, 334, nil, 380, 366 373, nil, nil, 382, nil, nil, 384, nil, nil, nil, 367 394, nil, nil, 403, nil, nil, 418, nil, nil, 395, 368 380, nil, 406, nil, 412, 457, nil, 438, nil, 461, 369 43, 304, nil, nil, nil, 453, 462, nil, nil, 472, 370 485, nil, nil, nil, nil, nil, nil, nil, nil, nil, 371 nil, nil, nil, nil, nil, nil, nil, 396, nil, 326, 372 640, 617, 567, 540, 413, 387, nil, 41, nil, 106, 373 583, 587, 598, 600, 623, 650, nil, 46, 669, 671, 374 672, 673, 681, 682, nil, 2, 685, 686, 723, 724, 375 725, 726, nil, nil, nil, nil, nil, nil, nil, nil, 376 nil, nil, nil, 705, 755, 4, nil, nil, 14, nil, 377 153, 177, 10, 8, 5, 3, 733, 738, 304, 737, 378 0, nil, nil, 789, nil, 742, nil, 744, 461, 746, 379 552, nil, 447, nil, 109, nil, 117, nil, 111, nil, 380 23, nil, 34, 754, 749, 756, 750, nil, nil, nil, 381 nil, nil, nil, 758, 751, nil, nil, nil, nil, nil, 382 nil, 760, 752, nil, nil, nil, nil, nil, nil, nil, 383 789, 812, 42, 790, nil, nil, nil, nil, nil, nil, 353 nil, 330, nil, nil, nil, 463, nil, nil, 757, 762, 354 710, nil, nil, 7, 745, nil, nil, 776, 584, 354, 355 347, 319, 300, 294, 271, 265, 213, 253, 259, nil, 356 nil, nil, 13, nil, nil, 117, nil, 329, 422, 440, 357 467, 512, nil, 216, 259, 709, nil, 572, 504, nil, 358 499, 490, 441, 417, 414, 219, 193, 796, 196, nil, 359 445, 456, nil, 240, nil, 459, nil, nil, 462, nil, 360 472, 739, nil, 784, nil, 804, 822, nil, nil, nil, 361 nil, nil, 852, 602, 853, nil, 709, 18, 306, nil, 362 nil, 181, nil, 164, nil, 122, 224, nil, 43, nil, 363 889, nil, 704, 490, 700, 548, 458, nil, nil, 408, 364 291, 595, 814, -35, 804, 82, 788, -36, 752, 197, 365 nil, 472, 191, 428, 675, 584, 615, 633, 701, 655, 366 688, 615, 688, 198, -37, 131, 137, 419, 494, 629, 367 242, nil, nil, 239, 258, nil, nil, 297, 312, nil, 368 309, nil, nil, 319, nil, nil, 323, nil, nil, nil, 369 338, nil, nil, 344, nil, nil, 301, nil, 329, nil, 370 334, 378, nil, 348, nil, 385, 355, nil, 359, 372, 371 nil, 401, 364, nil, 418, 442, nil, nil, 423, 221, 372 433, nil, nil, nil, nil, nil, 420, 431, nil, nil, 384 373 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 385 235, nil, nil, nil, nil, nil, 546, nil, 768, nil, 386 769, 770, 661, 772, 567, 774, 769, 776, 770, 778, 387 771, 780, 772, nil, 782, nil, 783, nil, 784, nil, 388 785, 835, 790, nil, 762, 556, nil, 837, 663, 221, 389 825, nil, 186, nil, nil, nil, nil, nil, nil, -9, 390 nil, -1, nil, nil, nil, nil, nil, 765, 825, nil, 391 823, 791, 792, 834, 794, nil, nil, nil, nil, 804, 392 nil, 805, nil, 806, nil, 807, nil, 808, nil, 809, 393 nil, nil, nil, nil, 493, 810, 859, nil, 834, nil, 394 4, nil, 847, 806, 429, 249, nil, nil, nil, 166, 395 nil, 869, nil, nil, nil, nil, nil, nil, nil, 868, 396 860, 826, nil, nil, nil, 805, nil, nil, 825, nil, 397 nil, nil, nil, nil, 842, nil, 448, nil, nil, 510, 398 844, 868, 869, 870, 437, nil, 848, 692, 883, 379, 399 813, 814, 337, nil, 141, nil, 339, nil, nil, nil, 400 nil, nil, 704 ] 374 nil, nil, nil, nil, 284, 675, 660, 637, 502, 371, 375 361, nil, 41, nil, -3, nil, 46, 512, 517, 526, 376 535, 548, 558, nil, 34, 572, 576, 587, 590, 592, 377 598, 607, 643, 670, 693, 701, 702, nil, 229, nil, 378 nil, nil, nil, nil, nil, 708, 709, nil, nil, nil, 379 nil, nil, 177, nil, 133, 10, 8, 5, 3, 733, 380 453, 731, 0, 14, 735, nil, 717, 767, 137, nil, 381 nil, 789, nil, 742, nil, nil, 744, 84, nil, 385, 382 nil, 117, nil, 130, nil, 23, nil, 2, nil, 366, 383 752, 747, 754, 748, 756, 749, nil, nil, nil, nil, 384 nil, nil, 758, 750, nil, nil, nil, nil, nil, nil, 385 nil, nil, nil, nil, nil, nil, 522, 761, nil, nil, 386 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 387 nil, 109, nil, nil, nil, nil, nil, nil, nil, nil, 388 790, 813, 42, 791, nil, 555, nil, 768, 769, 337, 389 771, 766, 773, 767, 775, 768, 777, 769, 621, 780, 390 nil, 781, nil, 782, nil, 783, nil, 784, 785, nil, 391 777, 778, 779, 780, 839, -35, nil, 766, 106, nil, 392 841, 92, 221, 115, 830, nil, nil, nil, nil, nil, 393 nil, 98, nil, nil, nil, -1, nil, nil, nil, nil, 394 769, 870, nil, 827, nil, nil, nil, 804, nil, 805, 395 nil, 806, nil, 807, nil, 808, 809, nil, nil, nil, 396 nil, nil, nil, 548, 810, 859, nil, 834, nil, 4, 397 805, nil, 848, 681, 182, nil, nil, nil, 125, nil, 398 869, nil, nil, nil, nil, nil, nil, nil, 859, 869, 399 826, nil, nil, nil, 805, nil, nil, nil, 825, nil, 400 nil, nil, nil, 842, 515, nil, nil, nil, 530, 844, 401 868, 869, 870, 558, nil, 848, 696, 883, 576, 813, 402 814, 287, nil, 93, nil, 485, nil, nil, nil, nil, 403 nil, 708 ] 401 404 402 405 racc_action_default = [ 403 -37 6, -2, -376, -376, -6, -376, -13, -4, -376, -5,404 -7, -37 6, -1, -376, -376, 633, -376, -12, -376, -9,405 -18, -37 6, -15, -14, -376, -8, -376, -21, -376, -17,406 -16, -11, -10, -37 6, -376, -112, -94, -89, -19, -90,407 -20, -108, -376, -376, -98, -99, -100, -376, -376, -146,408 -87, -147, -88, -82, -376, -22, -23, -95, -376, -110,409 -37 6, -376, -376, -376, -104, -109, -101, -376, -91, -376,410 - 376, -289, -281, -376, -282, -25, -24, -248, -26, -284,411 - 253, -152, -27, -254, -376, -376, -376, -376, -376, -305,412 - 273, -376, -376, -283, -274, -376, -251, -167, -31, -286,413 -271, - 272, -376, -112, -96, -93, -113, -97, -376, -111,414 - 376, -187, -148, -122, -191, -123, -376, -204, -124, -217,415 -12 5, -230, -126, -127, -247, -128, -129, -130, -182, -183,416 -1 21, -102, -105, -92, -84, -83, -376, -3, -288, -376,417 -28 9, -285, -249, -373, -153, -168, -376, -376, -376, -154,418 - 169, -376, -376, -376, -376, -376, -376, -376, -376, -376,419 - 376, -376, -30, -376, -256, -255, -376, -259, -376, -376,420 -37 6, -376, -376, -32, -376, -376, -148, -144, -133, -122,421 -1 45, -134, -123, -116, -135, -124, -136, -125, -137, -126,422 - 243, -138, -127, -376, -376, -139, -128, -117, -140, -129,423 -1 18, -141, -119, -142, -131, -120, -143, -132, -114, -106,424 -107, -85, -86, -376, -376, -376, -376, -287, -263, -376,425 -278, -2 79, -264, -275, -265, -276, -261, -260, -277, -262,426 -3 07, -376, -252, -250, -267, -268, -269, -266, -280, -270,427 -37 6, -376, -376, -376, -376, -376, -376, -376, -376, -376,428 - 376, -376, -376, -115, -376, -376, -376, -376, -376, -376,429 -37 6, -376, -376, -376, -376, -376, -376, -376, -376, -376,430 -37 6, -376, -290, -63, -376, -376, -33, -62, -34, -357,431 -3 36, -322, -317, -310, -347, -343, -328, -316, -334, -376,432 -3 13, -54, -323, -319, -55, -329, -325, -56, -375, -335,433 -3 31, -57, -342, -337, -312, -58, -344, -318, -59, -353,434 -340, -324, -348, -60, -354, -350, -330, -311, -61, -376,435 -37 6, -376, -149, -151, -171, -376, -376, -155, -157, -376,436 - 376, -185, -170, -172, -189, -186, -184, -193, -190, -188,437 -2 06, -194, -192, -219, -207, -205, -166, -376, -181, -376,438 -37 6, -376, -376, -376, -376, -376, -203, -376, -216, -376,439 -37 6, -376, -376, -376, -376, -376, -229, -376, -376, -376,440 -37 6, -376, -376, -376, -242, -376, -376, -376, -376, -376,441 - 376, -376, -232, -220, -218, -233, -231, -246, -244, -150,442 - 245, -156, -28, -68, -376, -376, -29, -64, -376, -257,443 -37 6, -376, -376, -376, -376, -376, -376, -376, -376, -376,444 -376, -258, -303, -376, -308, -152, -304, -376, -376, -376,445 - 376, -164, -376, -179, -376, -201, -376, -214, -376, -227,446 -37 6, -240, -376, -376, -376, -376, -376, -163, -178, -200,447 -2 13, -226, -239, -376, -376, -165, -180, -202, -215, -228,448 - 241, -376, -376, -162, -177, -199, -212, -225, -238, -69,449 -3 76, -376, -376, -376, -359, -358, -314, -315, -321, -320,450 -3 27, -326, -333, -332, -339, -338, -346, -345, -355, -341,451 -37 6, -349, -356, -352, -351, -306, -376, -158, -376, -173,452 -37 6, -376, -376, -376, -376, -376, -376, -376, -376, -376,453 - 376, -376, -376, -195, -376, -208, -376, -221, -376, -234,454 -37 6, -376, -376, -43, -305, -376, -53, -44, -376, -376,455 - 31, -72, -310, -70, -36, -37, -372, -38, -39, -360,456 - 40, -376, -363, -41, -367, -366, -42, -369, -376, -35,457 -3 76, -376, -376, -376, -376, -309, -160, -175, -159, -376,458 - 174, -376, -196, -376, -209, -376, -222, -376, -235, -376,459 - 197, -210, -223, -236, -376, -292, -376, -49, -376, -67,460 -3 05, -52, -50, -376, -376, -376, -44, -71, -65, -376,461 -37 0, -376, -66, -161, -176, -198, -211, -224, -237, -376,462 - 295, -376, -291, -45, -47, -376, -51, -365, -376, -364,463 -36 1, -362, -368, -371, -73, -294, -376, -293, -46, -376,464 -75, -296, -297, -298, -74, -77, -376, -80, -376, -376,465 -37 6, -376, -376, -78, -376, -48, -76, -299, -300, -301,466 -302,-81, -79 ]406 -375, -2, -375, -375, -6, -375, -13, -4, -375, -5, 407 -7, -375, -1, -375, -375, 632, -375, -12, -375, -9, 408 -18, -375, -15, -14, -375, -8, -375, -21, -375, -17, 409 -16, -11, -10, -375, -375, -111, -93, -89, -19, -107, 410 -375, -20, -375, -97, -98, -99, -375, -375, -145, -87, 411 -146, -88, -82, -375, -22, -23, -94, -375, -109, -375, 412 -375, -375, -103, -375, -108, -100, -90, -375, -375, -375, 413 -288, -281, -375, -247, -25, -24, -252, -26, -283, -253, 414 -151, -27, -375, -375, -375, -375, -375, -272, -304, -273, 415 -375, -375, -285, -282, -375, -250, -166, -31, -270, -280, 416 -271, -375, -111, -92, -112, -96, -375, -95, -110, -186, 417 -147, -122, -375, -190, -123, -203, -124, -216, -125, -229, 418 -126, -127, -246, -128, -129, -181, -120, -182, -121, -101, 419 -104, -375, -91, -84, -83, -375, -3, -287, -375, -288, 420 -284, -248, -372, -375, -375, -152, -167, -375, -375, -375, 421 -375, -375, -375, -375, -375, -375, -375, -375, -375, -153, 422 -168, -30, -375, -255, -254, -375, -258, -375, -375, -375, 423 -375, -375, -32, -375, -375, -147, -144, -133, -122, -115, 424 -134, -123, -135, -124, -136, -125, -137, -126, -375, -242, 425 -138, -127, -116, -375, -139, -128, -117, -140, -118, -141, 426 -130, -119, -142, -131, -143, -132, -121, -113, -106, -105, 427 -85, -86, -375, -375, -375, -286, -375, -262, -375, -277, 428 -278, -263, -274, -264, -275, -260, -259, -276, -261, -306, 429 -375, -251, -249, -266, -267, -268, -265, -279, -269, -375, 430 -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 431 -114, -375, -375, -375, -375, -375, -375, -375, -375, -375, 432 -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 433 -375, -342, -321, -315, -346, -327, -333, -312, -375, -322, 434 -318, -54, -328, -324, -55, -334, -330, -56, -374, -341, 435 -336, -311, -57, -343, -317, -58, -339, -323, -347, -59, 436 -352, -349, -329, -310, -60, -356, -353, -335, -316, -309, 437 -61, -375, -289, -63, -375, -375, -33, -62, -34, -375, 438 -375, -148, -150, -184, -169, -171, -375, -375, -188, -183, 439 -185, -192, -189, -187, -205, -193, -191, -218, -206, -204, 440 -231, -219, -217, -180, -375, -375, -375, -375, -375, -375, 441 -375, -202, -375, -215, -375, -228, -375, -375, -375, -375, 442 -375, -375, -375, -241, -375, -375, -375, -375, -375, -375, 443 -375, -375, -375, -375, -375, -375, -375, -165, -375, -232, 444 -230, -245, -243, -149, -244, -375, -375, -155, -170, -156, 445 -154, -28, -375, -256, -375, -375, -375, -375, -375, -375, 446 -375, -375, -375, -375, -375, -257, -68, -375, -375, -29, 447 -64, -375, -307, -151, -303, -302, -375, -375, -178, -375, 448 -200, -375, -213, -375, -226, -375, -239, -375, -163, -375, 449 -375, -375, -375, -375, -375, -375, -177, -199, -212, -225, 450 -238, -162, -375, -375, -179, -201, -214, -227, -240, -164, 451 -176, -198, -211, -224, -237, -161, -375, -375, -314, -313, 452 -319, -320, -326, -325, -332, -331, -338, -337, -345, -344, 453 -340, -375, -348, -354, -351, -350, -358, -357, -355, -69, 454 -375, -375, -375, -375, -305, -375, -172, -375, -375, -375, 455 -375, -375, -375, -375, -375, -375, -375, -375, -375, -375, 456 -194, -375, -207, -375, -220, -375, -233, -375, -375, -157, 457 -375, -375, -375, -375, -375, -375, -43, -304, -375, -53, 458 -44, -375, -309, -375, -31, -72, -70, -36, -37, -371, 459 -38, -359, -39, -362, -40, -375, -365, -41, -366, -42, 460 -368, -375, -35, -375, -308, -174, -173, -375, -195, -375, 461 -208, -375, -221, -375, -234, -375, -375, -158, -196, -209, 462 -222, -235, -159, -375, -291, -375, -49, -375, -67, -304, 463 -375, -52, -50, -375, -375, -44, -71, -65, -375, -369, 464 -375, -66, -175, -197, -210, -223, -236, -160, -294, -375, 465 -375, -290, -45, -47, -375, -364, -51, -363, -375, -361, 466 -360, -367, -370, -73, -375, -293, -292, -46, -375, -75, 467 -295, -296, -297, -74, -77, -375, -80, -375, -375, -375, 468 -375, -375, -78, -375, -48, -76, -298, -299, -300, -301, 469 -81, -79 ] 467 470 468 471 racc_goto_table = [ 469 9 6, 113, 165, 38, 162, 48, 118, 180, 276, 55,470 413, 48, 202, 120, 523, 104, 65, 273, 105, 126,471 116, 92, 77, 174, 66, 125, 68, 64, 96, 19,472 614, 98, 3, 115, 68, 108, 393, 531, 60, 623,473 626, 133, 179, 132, 32, 289, 618, 185, 175, 92,474 1 42, 623, 610, 123, 187, 278, 63, 275, 459, 82,475 199, 183, 208, 193, 197, 200, 196, 104, 78, 205,476 2 09, 484, 218, 76, 182, 222, 65, 224, 122, 226,477 227, 397, 229, 577, 66, 220, 221, 108, 223, 18,478 225, 10, 2, 228, 192, 137, 70, 53, 33, 204,479 207, 178, 181, 184, 186, 188, 191, 195, 198, 201,480 203, 211, 233, 48, 175, 234, 235, 236, 237, 189,481 20 6, 177, 27, 20, 167, 141, 13, 6, 217, 566,482 589, 5, 545, 254, 599, 579, nil, nil, nil, nil,483 320, nil, nil, nil, nil, nil, nil, nil, nil, nil,484 nil, 262, nil, nil, 283, nil, nil, 260, nil, nil,485 nil, nil, nil, nil, nil, 255, nil, nil, nil, nil,486 nil, nil, nil, nil, nil, nil, 388, nil, 390, nil,487 nil, 327, nil, nil, nil, 258, 287, 331, nil, nil,488 3 36, nil, nil, nil, nil, 350, 334, nil, 360, 339,489 368, nil, 376, nil, nil, nil, nil, nil, nil, 391,490 257, nil, 324, 355, 343, 332, 365, nil, 373, 354,491 381, 382, 364, 386, 372, nil, 380, 351, 384, nil,492 36 1, nil, 369, nil, 377, nil, nil, nil, nil, nil,493 3 40, nil, nil, 345, nil, nil, nil, 353, nil, nil,494 36 3, nil, 371, 590, 379, nil, 521, nil, nil, nil,495 412, nil, nil, 337, nil, nil, 342, nil, nil, nil,496 nil, nil, 352, nil, nil, 362, nil, 370, nil, 378,497 nil, nil, nil, nil, nil, nil, 417, nil, nil, nil,498 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,499 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,500 nil, 479, nil, nil, nil, nil, nil, nil, nil, nil,501 419, nil, nil, nil, nil, nil, nil, nil, nil, nil,502 443, nil, 451, nil, nil, nil, nil, nil, nil, 466,503 nil, nil, 465, nil, nil, nil, nil, nil, nil, nil,504 4 35, nil, nil, nil, nil, nil, nil, 488, nil, nil,505 nil, 491, 477, nil, nil, nil, nil, 475, nil, nil,506 nil, nil, 469, 433, nil, nil, nil, nil, nil, nil,507 nil, nil, nil, nil, nil, nil, nil, nil, nil, 501,508 nil, 490, nil, 499, 473, 493, nil, nil, nil, nil,509 nil, 522, nil, nil, nil, nil, nil, 508, nil, 510,510 nil, nil, nil, nil, nil, nil, nil, nil, 471, 497,511 nil, nil, nil, nil, nil, 412, nil, 506, nil, 567,512 nil, 549, nil, 287, nil, nil, nil, 262, nil, 520,513 nil, nil, 49 5, nil, nil, nil, nil, nil, nil, nil,514 504, nil, nil, nil, nil, nil, nil, nil, nil, 559,515 nil, nil, nil, 557, nil, 551, nil, nil, nil, nil,516 522, nil, nil, nil, nil, nil, nil, nil, nil, nil,517 nil, nil, nil, nil, nil, 595, nil, nil, nil, 555,518 568, nil, 48, nil, nil, 570, 572, nil, 355, 365,519 3 73, 381, 287, 412, nil, nil, 608, nil, 520, nil,520 nil, nil, 55 3, 598, 600, nil, nil, nil, nil, nil,472 95, 128, 47, 164, 38, 161, 176, 114, 47, 316, 473 54, 411, 116, 173, 198, 111, 107, 313, 64, 103, 474 526, 65, 112, 91, 73, 19, 66, 97, 95, 622, 475 121, 106, 62, 3, 406, 613, 66, 535, 59, 278, 476 32, 622, 118, 206, 132, 625, 617, 130, 174, 181, 477 123, 91, 141, 609, 183, 318, 61, 178, 315, 479, 478 217, 81, 207, 221, 179, 223, 188, 225, 226, 192, 479 228, 196, 191, 576, 77, 201, 475, 64, 75, 120, 480 65, 18, 10, 2, 185, 136, 219, 220, 69, 222, 481 107, 224, 195, 209, 227, 52, 33, 200, 203, 205, 482 177, 180, 182, 184, 186, 106, 190, 194, 197, 47, 483 199, 210, 232, 202, 174, 233, 234, 235, 236, 410, 484 204, 187, 27, 20, 166, 140, 13, 6, 215, 565, 485 319, 589, 5, 544, 262, 597, 578, nil, nil, nil, 486 nil, nil, nil, nil, nil, nil, nil, nil, 253, nil, 487 nil, nil, nil, nil, 309, nil, nil, nil, nil, nil, 488 nil, nil, nil, 257, nil, nil, nil, nil, 273, nil, 489 nil, nil, nil, nil, nil, 255, 382, nil, 384, nil, 490 nil, nil, nil, 259, nil, nil, nil, 323, nil, nil, 491 329, nil, nil, nil, 328, 350, 324, 333, nil, 362, 492 nil, 370, 376, nil, nil, nil, nil, nil, 387, 345, 493 390, nil, 256, 357, nil, 365, 371, nil, 337, nil, 494 nil, nil, 342, 388, 348, nil, 331, nil, 360, 336, 495 368, 374, nil, nil, nil, nil, 346, nil, nil, nil, 496 358, 340, 366, 372, 349, nil, nil, nil, 361, nil, 497 369, 375, nil, 380, 588, nil, nil, nil, nil, nil, 498 nil, 415, nil, nil, nil, 334, nil, nil, 339, nil, 499 nil, nil, nil, 347, nil, 525, nil, 359, nil, 367, 500 373, nil, nil, nil, nil, nil, nil, nil, nil, nil, 501 nil, nil, nil, nil, nil, nil, nil, nil, nil, 416, 502 nil, nil, nil, 470, nil, nil, nil, nil, nil, nil, 503 nil, nil, nil, nil, nil, nil, nil, nil, nil, 457, 504 nil, nil, nil, nil, nil, nil, 434, nil, nil, nil, 505 nil, nil, nil, 459, 430, nil, nil, nil, nil, nil, 506 nil, nil, nil, nil, nil, nil, nil, nil, nil, 460, 507 477, nil, nil, nil, 442, nil, nil, nil, nil, nil, 508 nil, nil, nil, nil, nil, nil, nil, 467, nil, nil, 509 499, nil, 487, 432, 488, nil, nil, 463, nil, nil, 510 nil, nil, nil, nil, nil, nil, nil, nil, 469, nil, 511 nil, nil, nil, nil, nil, 494, nil, 508, nil, nil, 512 nil, nil, nil, 490, nil, 505, nil, nil, nil, nil, 513 nil, nil, nil, 501, nil, 465, nil, 496, nil, nil, 514 nil, nil, nil, 522, nil, nil, 415, nil, nil, nil, 515 nil, nil, nil, 507, 566, nil, nil, 273, nil, 556, 516 nil, nil, 492, nil, 547, nil, nil, nil, nil, nil, 517 nil, nil, 503, nil, nil, nil, 524, nil, nil, nil, 518 nil, 259, nil, nil, nil, 553, nil, nil, nil, nil, 519 nil, nil, nil, 549, nil, nil, 522, nil, nil, nil, 520 nil, nil, nil, nil, nil, nil, 594, 555, nil, nil, 521 273, nil, 47, nil, 567, 569, nil, 572, nil, nil, 522 349, 361, 369, 375, 415, nil, nil, 607, nil, 524, 523 nil, nil, 551, nil, 598, 600, nil, nil, nil, nil, 521 524 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 522 525 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, … … 524 527 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 525 528 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 526 63 2]529 631 ] 527 530 528 531 racc_goto_check = [ 529 56, 8 1, 34, 15, 22, 23, 83, 104, 24, 15,530 115, 23, 78, 84, 26, 59, 72, 48, 62, 88,531 71, 55, 105, 109, 66, 87, 60, 69, 56, 14,532 53, 23, 1, 82, 60, 23, 51, 50, 58, 54,533 53, 60, 81, 69, 14, 39, 37, 83, 56, 55,534 105, 54, 36, 86, 84, 25, 68, 20, 52, 18,535 88, 71, 74, 75, 76, 77, 87, 59, 17, 79,536 62, 80, 109, 16, 82, 109, 72, 109, 85, 109,537 109, 48, 109, 26, 66, 110, 110, 23, 110, 13,538 110, 12, 11, 110, 86, 10, 9, 8, 7, 90,539 9 1, 92, 93, 94, 95, 96, 97, 98, 99, 100,540 10 1, 15, 56, 23, 56, 56, 56, 56, 56, 85,541 102, 103, 6, 5, 106, 108, 4, 3, 112, 113,542 1 14, 2, 116, 81, 127, 129, nil, nil, nil, nil,543 109, nil, nil, nil, nil, nil, nil, nil, nil, nil,544 nil, 88, nil, nil, 81, nil, nil, 87, nil, nil,545 nil, nil, nil, nil, nil, 82, nil, nil, nil, nil,546 nil, nil, nil, nil, nil, nil, 78, nil, 78, nil,547 nil, 81, nil, nil, nil, 86, 82, 83, nil, nil,548 8 3, nil, nil, nil, nil, 81, 84, nil, 81, 84,549 81, nil, 81, nil, nil, nil, nil, nil, nil, 81,550 8 5, nil, 82, 88, 87, 82, 88, nil, 88, 87,551 88, 88, 87, 88, 87, nil, 87, 82, 87, nil,552 8 2, nil, 82, nil, 82, nil, nil, nil, nil, nil,553 8 6, nil, nil, 86, nil, nil, nil, 86, nil, nil,554 8 6, nil, 86, 115, 86, nil, 24, nil, nil, nil,555 81, nil, nil, 85, nil, nil, 85, nil, nil, nil,556 nil, nil, 85, nil, nil, 85, nil, 85, nil, 85,557 nil, nil, nil, nil, nil, nil, 81, nil, nil, nil,558 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,559 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,560 nil, 104, nil, nil, nil, nil, nil, nil, nil, nil,561 82, nil, nil, nil, nil, nil, nil, nil, nil, nil,562 87, nil, 88, nil, nil, nil, nil, nil, nil, 81,563 nil, nil, 83, nil, nil, nil, nil, nil, nil, nil,564 8 6, nil, nil, nil, nil, nil, nil, 81, nil, nil,565 nil, 81, 88, nil, nil, nil, nil, 87, nil, nil,566 nil, nil, 82, 85, nil, nil, nil, nil, nil, nil,567 nil, nil, nil, nil, nil, nil, nil, nil, nil, 88,568 nil, 82, nil, 87, 86, 82, nil, nil, nil, nil,569 nil, 81, nil, nil, nil, nil, nil, 87, nil, 88,570 nil, nil, nil, nil, nil, nil, nil, nil, 85, 86,571 nil, nil, nil, nil, nil, 81, nil, 86, nil, 22,572 nil, 81, nil, 82, nil, nil, nil, 88, nil, 23,573 nil, nil, 85, nil, nil, nil, nil, nil, nil, nil,574 85, nil, nil, nil, nil, nil, nil, nil, nil, 88,575 nil, nil, nil, 87, nil, 82, nil, nil, nil, nil,576 81, nil, nil, nil, nil, nil, nil, nil, nil, nil,577 nil, nil, nil, nil, nil, 22, nil, nil, nil, 86,578 15, nil, 23, nil, nil, 23, 23, nil, 88, 88,579 8 8, 88, 82, 81, nil, nil, 34, nil, 23, nil,580 nil, nil, 85, 81, 81, nil, nil, nil, nil, nil,532 56, 80, 23, 34, 15, 22, 103, 82, 23, 24, 533 15, 114, 83, 108, 77, 81, 58, 48, 71, 61, 534 26, 65, 70, 55, 104, 14, 59, 23, 56, 54, 535 86, 23, 68, 1, 51, 53, 59, 50, 57, 39, 536 14, 54, 84, 80, 59, 53, 37, 68, 56, 82, 537 87, 55, 104, 36, 83, 25, 67, 81, 20, 52, 538 108, 18, 73, 108, 70, 108, 74, 108, 108, 75, 539 108, 76, 86, 26, 17, 78, 79, 71, 16, 85, 540 65, 13, 12, 11, 84, 10, 109, 109, 9, 109, 541 58, 109, 87, 61, 109, 8, 7, 89, 90, 91, 542 92, 93, 94, 95, 96, 23, 97, 98, 99, 23, 543 100, 15, 56, 101, 56, 56, 56, 56, 56, 48, 544 102, 85, 6, 5, 105, 107, 4, 3, 111, 112, 545 108, 113, 2, 115, 80, 126, 128, nil, nil, nil, 546 nil, nil, nil, nil, nil, nil, nil, nil, 81, nil, 547 nil, nil, nil, nil, 80, nil, nil, nil, nil, nil, 548 nil, nil, nil, 86, nil, nil, nil, nil, 81, nil, 549 nil, nil, nil, nil, nil, 84, 77, nil, 77, nil, 550 nil, nil, nil, 87, nil, nil, nil, 82, nil, nil, 551 82, nil, nil, nil, 83, 80, 81, 83, nil, 80, 552 nil, 80, 80, nil, nil, nil, nil, nil, 80, 81, 553 80, nil, 85, 81, nil, 81, 81, nil, 86, nil, 554 nil, nil, 86, 81, 86, nil, 84, nil, 86, 84, 555 86, 86, nil, nil, nil, nil, 84, nil, nil, nil, 556 84, 87, 84, 84, 87, nil, nil, nil, 87, nil, 557 87, 87, nil, 87, 114, nil, nil, nil, nil, nil, 558 nil, 80, nil, nil, nil, 85, nil, nil, 85, nil, 559 nil, nil, nil, 85, nil, 24, nil, 85, nil, 85, 560 85, nil, nil, nil, nil, nil, nil, nil, nil, nil, 561 nil, nil, nil, nil, nil, nil, nil, nil, nil, 81, 562 nil, nil, nil, 103, nil, nil, nil, nil, nil, nil, 563 nil, nil, nil, nil, nil, nil, nil, nil, nil, 80, 564 nil, nil, nil, nil, nil, nil, 86, nil, nil, nil, 565 nil, nil, nil, 80, 84, nil, nil, nil, nil, nil, 566 nil, nil, nil, nil, nil, nil, nil, nil, nil, 81, 567 82, nil, nil, nil, 87, nil, nil, nil, nil, nil, 568 nil, nil, nil, nil, nil, nil, nil, 86, nil, nil, 569 80, nil, 81, 85, 81, nil, nil, 84, nil, nil, 570 nil, nil, nil, nil, nil, nil, nil, nil, 87, nil, 571 nil, nil, nil, nil, nil, 86, nil, 80, nil, nil, 572 nil, nil, nil, 84, nil, 86, nil, nil, nil, nil, 573 nil, nil, nil, 84, nil, 85, nil, 87, nil, nil, 574 nil, nil, nil, 80, nil, nil, 80, nil, nil, nil, 575 nil, nil, nil, 87, 22, nil, nil, 81, nil, 80, 576 nil, nil, 85, nil, 81, nil, nil, nil, nil, nil, 577 nil, nil, 85, nil, nil, nil, 23, nil, nil, nil, 578 nil, 87, nil, nil, nil, 86, nil, nil, nil, nil, 579 nil, nil, nil, 84, nil, nil, 80, nil, nil, nil, 580 nil, nil, nil, nil, nil, nil, 22, 87, nil, nil, 581 81, nil, 23, nil, 15, 23, nil, 23, nil, nil, 582 87, 87, 87, 87, 80, nil, nil, 34, nil, 23, 583 nil, nil, 85, nil, 80, 80, nil, nil, nil, nil, 581 584 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 582 585 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, … … 587 590 588 591 racc_goto_pointer = [ 589 nil, 3 2, 131, 127, 120, 110, 102, 71, 64, 43,590 25, 92, 87, 78, 18, -25, 19, 14, 5, nil,591 -15 7, nil, -85, -23, -206, -159, -448, nil, nil, nil,592 nil, nil, nil, nil, -8 9, nil, -552, -564, nil, -170,593 nil, nil, nil, nil, nil, nil, nil, nil, -19 7, nil,594 -4 25, -236, -335, -579, -575, -33, -54, nil, -5, -43,595 -26, nil, -40, nil, nil, nil, -24, nil, 9, -20,596 nil, -42, -32, nil, -46, -40, -39, -38, -91, -34,597 -339, -61, -29, -56, -49, 16, -9, -37, -43, nil,598 -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,599 6, 7, 17, 18, -96, -32, 29, nil, 46, -79,600 -67, nil, -20, -383, -434, -311, -354, nil, nil, nil,601 nil, nil, nil, nil, nil, nil, nil, -440, nil, -402]592 nil, 33, 132, 127, 120, 110, 102, 69, 62, 36, 593 16, 83, 78, 70, 14, -24, 25, 21, 8, nil, 594 -158, nil, -83, -26, -207, -161, -462, nil, nil, nil, 595 nil, nil, nil, nil, -87, nil, -550, -563, nil, -174, 596 nil, nil, nil, nil, nil, nil, nil, nil, -199, nil, 597 -445, -278, -347, -573, -584, -30, -53, -4, -41, -23, 598 nil, -38, nil, nil, nil, -26, nil, 10, -14, nil, 599 -38, -29, nil, -44, -36, -33, -31, -88, -27, -326, 600 -59, -45, -53, -48, -18, 19, -30, -10, nil, -5, 601 -4, -3, -2, -1, 0, 1, 2, 4, 5, 6, 602 8, 11, 18, -96, -29, 30, nil, 47, -88, -63, 603 nil, -16, -386, -432, -309, -352, nil, nil, nil, nil, 604 nil, nil, nil, nil, nil, nil, -438, nil, -404 ] 602 605 603 606 racc_goto_default = [ 604 607 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 605 nil, nil, nil, nil, nil, nil, nil, 5 39, nil, 85,606 nil, 8 9, nil, 143, nil, nil, nil, 524, 525, 527,607 5 28, 530, 533, 536, 93, 538, nil, nil, 514, 516,608 2 91, 294, 297, 301, 305, 308, 313, 318, nil, 274,609 nil, nil, nil, nil, 61 5, 616, 617, 50, 52, 37,610 39, 42, nil, 107, 44, 45, 46, 47, nil, nil,611 61, nil, 41, 43, 106, nil, nil, nil, nil, nil,612 130, 72, 74, nil, nil, 292, 295, 299, 302, 127,613 3 12, 317, 282, nil, nil, nil, nil, nil, nil, 304,614 307, 311, 316, 280, 285, nil, 80, 83, 86, 88,615 90, 94, 99, nil, nil, nil, 414, 290, 293, 296,616 300, 303, 306, 310, 315, 279, 529, 532, 535, nil ]608 nil, nil, nil, nil, nil, nil, nil, 542, nil, 84, 609 nil, 88, nil, 142, nil, nil, nil, 527, 528, 530, 610 532, 534, 537, 539, 93, 541, nil, nil, 517, 519, 611 281, 284, 287, 292, 295, 299, 304, 310, nil, 314, 612 nil, nil, nil, nil, 614, 615, 616, 49, 51, 37, 613 40, nil, 105, 43, 44, 45, 46, nil, nil, 63, 614 nil, 39, 42, 104, nil, nil, nil, nil, nil, 126, 615 99, 71, nil, nil, 279, 282, 285, 289, 124, 298, 616 303, 308, nil, nil, nil, nil, nil, nil, 291, 294, 617 297, 302, 307, 271, nil, 76, 79, 82, 85, 87, 618 89, 92, nil, nil, nil, 412, 277, 280, 283, 286, 619 290, 293, 296, 301, 305, 531, 533, 536, nil ] 617 620 618 621 racc_reduce_table = [ … … 704 707 2, 105, :_reduce_85, 705 708 2, 105, :_reduce_none, 706 1, 110, :_reduce_ none,707 1, 1 52, :_reduce_none,708 1, 152, :_reduce_ none,709 1, 153, :_reduce_90,710 2, 153, :_reduce_91,711 3, 15 3, :_reduce_92,712 3, 155, :_reduce_93,713 1, 156, :_reduce_94,714 2, 156, :_reduce_none,715 1, 15 7, :_reduce_96,716 1, 15 7, :_reduce_97,717 1, 15 4, :_reduce_98,718 1, 15 4, :_reduce_99,719 1, 160, :_reduce_100,720 2, 160, :_reduce_101,721 3, 161, :_reduce_102,709 1, 110, :_reduce_87, 710 1, 110, :_reduce_88, 711 1, 152, :_reduce_89, 712 2, 152, :_reduce_90, 713 3, 152, :_reduce_91, 714 3, 154, :_reduce_92, 715 1, 155, :_reduce_93, 716 2, 155, :_reduce_none, 717 1, 156, :_reduce_95, 718 1, 156, :_reduce_96, 719 1, 153, :_reduce_97, 720 1, 153, :_reduce_98, 721 1, 159, :_reduce_99, 722 2, 159, :_reduce_100, 723 3, 160, :_reduce_101, 724 1, 161, :_reduce_102, 722 725 1, 162, :_reduce_103, 723 1, 163, :_reduce_104,724 2, 163, :_reduce_105,726 2, 162, :_reduce_104, 727 3, 163, :_reduce_105, 725 728 3, 164, :_reduce_106, 726 3, 165, :_reduce_107, 727 1, 159, :_reduce_108, 728 2, 159, :_reduce_109, 729 2, 167, :_reduce_110, 730 3, 167, :_reduce_111, 731 1, 168, :_reduce_none, 732 1, 158, :_reduce_113, 733 2, 158, :_reduce_114, 734 3, 169, :_reduce_115, 735 1, 170, :_reduce_116, 736 1, 170, :_reduce_117, 737 1, 170, :_reduce_118, 738 1, 170, :_reduce_119, 739 1, 170, :_reduce_120, 740 1, 166, :_reduce_121, 741 1, 166, :_reduce_122, 742 1, 166, :_reduce_123, 743 1, 166, :_reduce_124, 744 1, 166, :_reduce_125, 745 1, 166, :_reduce_126, 746 1, 166, :_reduce_127, 747 1, 166, :_reduce_128, 748 1, 166, :_reduce_129, 749 1, 166, :_reduce_130, 729 1, 158, :_reduce_107, 730 2, 158, :_reduce_108, 731 2, 166, :_reduce_109, 732 3, 166, :_reduce_110, 733 1, 167, :_reduce_none, 734 1, 157, :_reduce_112, 735 2, 157, :_reduce_113, 736 3, 168, :_reduce_114, 737 1, 169, :_reduce_115, 738 1, 169, :_reduce_116, 739 1, 169, :_reduce_117, 740 1, 169, :_reduce_118, 741 1, 169, :_reduce_119, 742 1, 165, :_reduce_120, 743 1, 165, :_reduce_121, 744 1, 165, :_reduce_122, 745 1, 165, :_reduce_123, 746 1, 165, :_reduce_124, 747 1, 165, :_reduce_125, 748 1, 165, :_reduce_126, 749 1, 165, :_reduce_127, 750 1, 165, :_reduce_128, 751 1, 165, :_reduce_129, 752 1, 170, :_reduce_none, 753 1, 170, :_reduce_none, 754 1, 170, :_reduce_none, 755 1, 170, :_reduce_none, 756 1, 170, :_reduce_none, 757 1, 170, :_reduce_none, 758 1, 170, :_reduce_none, 759 1, 170, :_reduce_none, 760 1, 170, :_reduce_none, 750 761 1, 171, :_reduce_none, 751 762 1, 171, :_reduce_none, … … 754 765 1, 171, :_reduce_none, 755 766 1, 171, :_reduce_none, 756 1, 171, :_reduce_none, 757 1, 171, :_reduce_none, 758 1, 171, :_reduce_none, 759 1, 172, :_reduce_none, 760 1, 172, :_reduce_none, 761 1, 172, :_reduce_none, 762 1, 172, :_reduce_none, 763 1, 172, :_reduce_none, 764 1, 172, :_reduce_none, 767 1, 118, :_reduce_145, 765 768 1, 118, :_reduce_146, 766 1, 118, :_reduce_147, 767 1, 175, :_reduce_148, 769 1, 174, :_reduce_147, 770 3, 184, :_reduce_none, 771 3, 184, :_reduce_none, 772 3, 184, :_reduce_none, 773 1, 175, :_reduce_151, 774 2, 175, :_reduce_152, 775 2, 175, :_reduce_153, 768 776 3, 185, :_reduce_none, 769 777 3, 185, :_reduce_none, 770 778 3, 185, :_reduce_none, 771 1, 176, :_reduce_152, 772 2, 176, :_reduce_153, 773 2, 176, :_reduce_154, 779 5, 193, :_reduce_none, 780 6, 193, :_reduce_none, 781 6, 193, :_reduce_none, 782 7, 193, :_reduce_none, 783 4, 193, :_reduce_none, 784 4, 193, :_reduce_none, 785 4, 193, :_reduce_none, 786 4, 193, :_reduce_none, 787 3, 193, :_reduce_none, 788 1, 176, :_reduce_166, 789 2, 176, :_reduce_167, 790 2, 176, :_reduce_168, 774 791 3, 186, :_reduce_none, 775 792 3, 186, :_reduce_none, … … 784 801 4, 194, :_reduce_none, 785 802 3, 194, :_reduce_none, 786 1, 177, :_reduce_167, 787 2, 177, :_reduce_168, 788 2, 177, :_reduce_169, 803 1, 177, :_reduce_181, 804 1, 177, :_reduce_182, 789 805 3, 187, :_reduce_none, 790 806 3, 187, :_reduce_none, 791 807 3, 187, :_reduce_none, 808 1, 178, :_reduce_none, 809 3, 188, :_reduce_none, 810 3, 188, :_reduce_none, 811 3, 188, :_reduce_none, 812 1, 179, :_reduce_190, 813 3, 189, :_reduce_none, 814 3, 189, :_reduce_none, 815 3, 189, :_reduce_none, 792 816 5, 195, :_reduce_none, 793 817 6, 195, :_reduce_none, … … 799 823 4, 195, :_reduce_none, 800 824 3, 195, :_reduce_none, 801 1, 178, :_reduce_182, 802 1, 178, :_reduce_183, 803 3, 188, :_reduce_none, 804 3, 188, :_reduce_none, 805 3, 188, :_reduce_none, 806 1, 179, :_reduce_none, 807 3, 189, :_reduce_none, 808 3, 189, :_reduce_none, 809 3, 189, :_reduce_none, 810 1, 180, :_reduce_191, 825 1, 180, :_reduce_none, 811 826 3, 190, :_reduce_none, 812 827 3, 190, :_reduce_none, … … 834 849 4, 197, :_reduce_none, 835 850 3, 197, :_reduce_none, 836 1, 182, :_reduce_ none,851 1, 182, :_reduce_229, 837 852 3, 192, :_reduce_none, 838 853 3, 192, :_reduce_none, … … 847 862 4, 198, :_reduce_none, 848 863 3, 198, :_reduce_none, 849 1, 183, :_reduce_230, 850 3, 193, :_reduce_none, 851 3, 193, :_reduce_none, 852 3, 193, :_reduce_none, 853 5, 199, :_reduce_none, 854 6, 199, :_reduce_none, 855 6, 199, :_reduce_none, 856 7, 199, :_reduce_none, 857 4, 199, :_reduce_none, 858 4, 199, :_reduce_none, 859 4, 199, :_reduce_none, 860 4, 199, :_reduce_none, 861 3, 199, :_reduce_none, 862 1, 173, :_reduce_243, 863 3, 174, :_reduce_none, 864 3, 174, :_reduce_none, 865 3, 174, :_reduce_none, 866 1, 184, :_reduce_247, 864 1, 172, :_reduce_242, 865 3, 173, :_reduce_none, 866 3, 173, :_reduce_none, 867 3, 173, :_reduce_none, 868 1, 183, :_reduce_246, 867 869 1, 113, :_reduce_none, 868 870 2, 113, :_reduce_none, 871 3, 199, :_reduce_none, 872 1, 199, :_reduce_none, 873 3, 199, :_reduce_none, 874 1, 151, :_reduce_none, 875 1, 151, :_reduce_none, 876 2, 201, :_reduce_none, 877 2, 201, :_reduce_none, 878 5, 201, :_reduce_none, 879 5, 201, :_reduce_none, 880 2, 201, :_reduce_none, 881 3, 201, :_reduce_none, 882 3, 201, :_reduce_none, 883 3, 201, :_reduce_none, 884 3, 201, :_reduce_none, 885 3, 201, :_reduce_none, 886 3, 201, :_reduce_none, 887 3, 201, :_reduce_none, 888 3, 201, :_reduce_none, 889 3, 201, :_reduce_none, 890 3, 201, :_reduce_none, 869 891 3, 200, :_reduce_none, 870 892 1, 200, :_reduce_none, 871 3, 200, :_reduce_none, 872 1, 151, :_reduce_none, 873 1, 151, :_reduce_none, 874 2, 202, :_reduce_none, 875 2, 202, :_reduce_none, 876 5, 202, :_reduce_none, 877 5, 202, :_reduce_none, 878 2, 202, :_reduce_none, 879 3, 202, :_reduce_none, 880 3, 202, :_reduce_none, 881 3, 202, :_reduce_none, 882 3, 202, :_reduce_none, 883 3, 202, :_reduce_none, 884 3, 202, :_reduce_none, 885 3, 202, :_reduce_none, 886 3, 202, :_reduce_none, 887 3, 202, :_reduce_none, 888 3, 202, :_reduce_none, 889 3, 201, :_reduce_none, 890 1, 201, :_reduce_none, 891 1, 201, :_reduce_none, 893 1, 200, :_reduce_none, 894 1, 203, :_reduce_none, 895 1, 203, :_reduce_none, 896 3, 205, :_reduce_none, 897 3, 205, :_reduce_none, 898 3, 205, :_reduce_none, 899 3, 205, :_reduce_none, 900 3, 205, :_reduce_none, 901 3, 204, :_reduce_none, 892 902 1, 204, :_reduce_none, 893 903 1, 204, :_reduce_none, 894 3, 206, :_reduce_none, 895 3, 206, :_reduce_none, 896 3, 206, :_reduce_none, 897 3, 206, :_reduce_none, 898 3, 206, :_reduce_none, 899 3, 205, :_reduce_none, 900 1, 205, :_reduce_none, 901 1, 205, :_reduce_none, 902 1, 205, :_reduce_none, 904 1, 204, :_reduce_none, 903 905 1, 129, :_reduce_none, 904 906 2, 129, :_reduce_none, 905 1, 20 3, :_reduce_none,906 3, 20 3, :_reduce_none,907 2, 20 7, :_reduce_288,908 1, 20 7, :_reduce_289,909 0, 146, :_reduce_2 90,910 5, 146, :_reduce_29 1,911 1, 20 8, :_reduce_292,912 3, 20 8, :_reduce_293,913 5, 147, :_reduce_29 4,914 1, 20 9, :_reduce_none,915 3, 20 9, :_reduce_none,916 3, 20 9, :_reduce_none,917 3, 20 9, :_reduce_none,918 5, 20 9, :_reduce_none,919 5, 20 9, :_reduce_none,920 5, 20 9, :_reduce_none,921 5, 20 9, :_reduce_none,922 1, 21 1, :_reduce_303,923 1, 21 1, :_reduce_304,907 1, 202, :_reduce_none, 908 3, 202, :_reduce_none, 909 2, 206, :_reduce_287, 910 1, 206, :_reduce_288, 911 0, 146, :_reduce_289, 912 5, 146, :_reduce_290, 913 1, 207, :_reduce_291, 914 3, 207, :_reduce_292, 915 5, 147, :_reduce_293, 916 1, 208, :_reduce_none, 917 3, 208, :_reduce_none, 918 3, 208, :_reduce_none, 919 3, 208, :_reduce_none, 920 5, 208, :_reduce_none, 921 5, 208, :_reduce_none, 922 5, 208, :_reduce_none, 923 5, 208, :_reduce_none, 924 1, 210, :_reduce_302, 925 1, 210, :_reduce_303, 924 926 0, 117, :_reduce_none, 925 5, 117, :_reduce_30 6,927 5, 117, :_reduce_305, 926 928 2, 117, :_reduce_none, 927 1, 210, :_reduce_none, 928 3, 210, :_reduce_none, 929 1, 209, :_reduce_307, 930 3, 209, :_reduce_308, 931 1, 211, :_reduce_none, 932 1, 211, :_reduce_none, 933 1, 211, :_reduce_none, 934 1, 135, :_reduce_none, 935 3, 135, :_reduce_none, 936 3, 135, :_reduce_none, 929 937 1, 212, :_reduce_none, 930 938 1, 212, :_reduce_none, 931 939 1, 212, :_reduce_none, 932 1, 13 5, :_reduce_none,933 3, 13 5, :_reduce_none,934 3, 13 5, :_reduce_none,940 1, 136, :_reduce_none, 941 3, 136, :_reduce_none, 942 3, 136, :_reduce_none, 935 943 1, 213, :_reduce_none, 936 944 1, 213, :_reduce_none, 937 945 1, 213, :_reduce_none, 938 1, 13 6, :_reduce_none,939 3, 13 6, :_reduce_none,940 3, 13 6, :_reduce_none,946 1, 137, :_reduce_none, 947 3, 137, :_reduce_none, 948 3, 137, :_reduce_none, 941 949 1, 214, :_reduce_none, 942 950 1, 214, :_reduce_none, 943 951 1, 214, :_reduce_none, 944 1, 13 7, :_reduce_none,945 3, 13 7, :_reduce_none,946 3, 13 7, :_reduce_none,952 1, 138, :_reduce_none, 953 3, 138, :_reduce_none, 954 3, 138, :_reduce_none, 947 955 1, 215, :_reduce_none, 948 956 1, 215, :_reduce_none, 949 957 1, 215, :_reduce_none, 950 1, 138, :_reduce_none,951 3, 138, :_reduce_none,952 3, 138, :_reduce_none,953 1, 216, :_reduce_none,954 1, 216, :_reduce_none,955 1, 216, :_reduce_none,956 958 1, 139, :_reduce_none, 957 959 3, 139, :_reduce_none, 958 960 3, 139, :_reduce_none, 959 1, 21 7, :_reduce_none,960 3, 21 7, :_reduce_none,961 1, 21 7, :_reduce_none,962 1, 21 7, :_reduce_none,961 1, 216, :_reduce_none, 962 3, 216, :_reduce_none, 963 1, 216, :_reduce_none, 964 1, 216, :_reduce_none, 963 965 1, 140, :_reduce_none, 964 966 3, 140, :_reduce_none, 965 967 3, 140, :_reduce_none, 966 1, 21 9, :_reduce_none,967 1, 21 9, :_reduce_none,968 3, 21 9, :_reduce_none,968 1, 218, :_reduce_none, 969 1, 218, :_reduce_none, 970 3, 218, :_reduce_none, 969 971 1, 141, :_reduce_none, 970 972 3, 141, :_reduce_none, 971 973 3, 141, :_reduce_none, 972 1, 220, :_reduce_353, 973 1, 220, :_reduce_354, 974 3, 220, :_reduce_355, 975 3, 220, :_reduce_356, 976 1, 142, :_reduce_357, 974 1, 219, :_reduce_352, 975 1, 219, :_reduce_353, 976 3, 219, :_reduce_354, 977 3, 219, :_reduce_355, 978 1, 142, :_reduce_356, 979 3, 142, :_reduce_357, 977 980 3, 142, :_reduce_358, 978 3, 142, :_reduce_359,979 981 1, 126, :_reduce_none, 980 982 3, 126, :_reduce_none, 981 983 3, 126, :_reduce_none, 982 1, 221, :_reduce_none, 983 3, 221, :_reduce_none, 984 3, 222, :_reduce_365, 984 1, 220, :_reduce_none, 985 3, 220, :_reduce_none, 986 3, 221, :_reduce_364, 987 1, 125, :_reduce_365, 985 988 1, 125, :_reduce_366, 986 1, 125, :_reduce_367,987 3, 223, :_reduce_368,988 0, 224, :_reduce_none,989 1, 224, :_reduce_none,990 2, 224, :_reduce_none,991 1, 1 24, :_reduce_372,989 3, 222, :_reduce_367, 990 0, 223, :_reduce_none, 991 1, 223, :_reduce_none, 992 2, 223, :_reduce_none, 993 1, 124, :_reduce_371, 994 1, 150, :_reduce_372, 992 995 1, 150, :_reduce_373, 993 1, 150, :_reduce_374, 994 1, 218, :_reduce_375 ] 995 996 racc_reduce_n = 376 997 998 racc_shift_n = 633 996 1, 217, :_reduce_374 ] 997 998 racc_reduce_n = 375 999 1000 racc_shift_n = 632 999 1001 1000 1002 racc_token_table = { … … 1268 1270 "any_identifier", 1269 1271 "boolean_expression", 1270 "dadl_input",1271 1272 "attr_vals", 1272 1273 "complex_object_block", … … 1361 1362 def _reduce_3(val, _values, result) 1362 1363 assert_at(__FILE__,__LINE__) do 1363 val[4].instance_of?(OpenE HR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)1364 val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY) 1364 1365 end 1365 1366 … … 1367 1368 parent_archtype_id = val[1][:parent_archtype_id] if val[1] 1368 1369 adl_version = val[0][:arch_head][:arch_meta_data][:adl_version] 1369 concept = val[2] 1370 concept = val[2][:arch_concept] 1370 1371 language = val[3][:arch_language] 1371 archetype = OpenE HR::AM::Archetype::ARCHETYPE.create(1372 archetype = OpenEhr::AM::Archetype::ARCHETYPE.create( 1372 1373 :archetype_id => archetype_id, 1373 1374 :parent_archtype_id => parent_archtype_id, … … 1503 1504 module_eval(<<'.,.,', 'parser.y', 139) 1504 1505 def _reduce_22(val, _values, result) 1505 result = OpenE HR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])1506 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 1506 1507 1507 1508 result … … 1523 1524 module_eval(<<'.,.,', 'parser.y', 155) 1524 1525 def _reduce_26(val, _values, result) 1525 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}1526 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)} 1526 1527 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}") 1527 1528 result = val[0] … … 1541 1542 module_eval(<<'.,.,', 'parser.y', 168) 1542 1543 def _reduce_28(val, _values, result) 1543 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|1544 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| 1544 1545 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref] 1545 1546 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier] … … 1553 1554 module_eval(<<'.,.,', 'parser.y', 176) 1554 1555 def _reduce_29(val, _values, result) 1555 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|1556 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| 1556 1557 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref] 1557 1558 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier] … … 1591 1592 module_eval(<<'.,.,', 'parser.y', 202) 1592 1593 def _reduce_34(val, _values, result) 1593 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])1594 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0]) 1594 1595 1595 1596 result … … 1608 1609 module_eval(<<'.,.,', 'parser.y', 225) 1609 1610 def _reduce_36(val, _values, result) 1610 result = OpenE HR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|1611 result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref| 1611 1612 archetype_internal_ref.target_path = val[0][:absolute_path] 1612 1613 archetype_internal_ref.rm_type_name = val[0][:type_identifier] … … 1628 1629 module_eval(<<'.,.,', 'parser.y', 237) 1629 1630 def _reduce_38(val, _values, result) 1630 result = OpenE HR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|1631 result = OpenEhr::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref| 1631 1632 constraint_ref.reference = val[0] 1632 1633 end … … 1672 1673 # reduce 44 omitted 1673 1674 1674 module_eval(<<'.,.,', 'parser.y', 2 71)1675 module_eval(<<'.,.,', 'parser.y', 288) 1675 1676 def _reduce_45(val, _values, result) 1676 1677 result = val[1] … … 1680 1681 .,., 1681 1682 1682 module_eval(<<'.,.,', 'parser.y', 2 77)1683 module_eval(<<'.,.,', 'parser.y', 294) 1683 1684 def _reduce_46(val, _values, result) 1684 1685 result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] } … … 1690 1691 # reduce 47 omitted 1691 1692 1692 module_eval(<<'.,.,', 'parser.y', 284)1693 module_eval(<<'.,.,', 'parser.y', 301) 1693 1694 def _reduce_48(val, _values, result) 1694 result = OpenE HR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|1695 result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot| 1695 1696 archetype_slot.includes = val[3] 1696 1697 archetype_slot.excludes = val[4] … … 1703 1704 .,., 1704 1705 1705 module_eval(<<'.,.,', 'parser.y', 293)1706 module_eval(<<'.,.,', 'parser.y', 310) 1706 1707 def _reduce_49(val, _values, result) 1707 1708 result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]} … … 1711 1712 .,., 1712 1713 1713 module_eval(<<'.,.,', 'parser.y', 298)1714 module_eval(<<'.,.,', 'parser.y', 315) 1714 1715 def _reduce_50(val, _values, result) 1715 1716 result = val[1] … … 1723 1724 # reduce 52 omitted 1724 1725 1725 module_eval(<<'.,.,', 'parser.y', 3 06)1726 module_eval(<<'.,.,', 'parser.y', 323) 1726 1727 def _reduce_53(val, _values, result) 1727 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}1728 result = OpenE HR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object|1728 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)} 1729 result = OpenEhr::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object| 1729 1730 c_primitive_object.item = val[0] 1730 1731 end … … 1734 1735 .,., 1735 1736 1736 module_eval(<<'.,.,', 'parser.y', 3 14)1737 module_eval(<<'.,.,', 'parser.y', 331) 1737 1738 def _reduce_54(val, _values, result) 1738 1739 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") 1739 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer|1740 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer| 1740 1741 c_integer.list 1741 1742 c_integer.range … … 1747 1748 .,., 1748 1749 1749 module_eval(<<'.,.,', 'parser.y', 3 23)1750 module_eval(<<'.,.,', 'parser.y', 340) 1750 1751 def _reduce_55(val, _values, result) 1751 1752 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") 1752 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new1753 1754 result 1755 end 1756 .,., 1757 1758 module_eval(<<'.,.,', 'parser.y', 3 28)1753 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_REAL.new 1754 1755 result 1756 end 1757 .,., 1758 1759 module_eval(<<'.,.,', 'parser.y', 345) 1759 1760 def _reduce_56(val, _values, result) 1760 1761 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") 1761 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new1762 1763 result 1764 end 1765 .,., 1766 1767 module_eval(<<'.,.,', 'parser.y', 3 33)1762 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE.new 1763 1764 result 1765 end 1766 .,., 1767 1768 module_eval(<<'.,.,', 'parser.y', 350) 1768 1769 def _reduce_57(val, _values, result) 1769 1770 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") 1770 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new1771 1772 result 1773 end 1774 .,., 1775 1776 module_eval(<<'.,.,', 'parser.y', 3 38)1771 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_TIME.new 1772 1773 result 1774 end 1775 .,., 1776 1777 module_eval(<<'.,.,', 'parser.y', 355) 1777 1778 def _reduce_58(val, _values, result) 1778 1779 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") 1779 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new1780 1781 result 1782 end 1783 .,., 1784 1785 module_eval(<<'.,.,', 'parser.y', 3 43)1780 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new 1781 1782 result 1783 end 1784 .,., 1785 1786 module_eval(<<'.,.,', 'parser.y', 360) 1786 1787 def _reduce_59(val, _values, result) 1787 1788 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") 1788 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new1789 1790 result 1791 end 1792 .,., 1793 1794 module_eval(<<'.,.,', 'parser.y', 3 48)1789 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new 1790 1791 result 1792 end 1793 .,., 1794 1795 module_eval(<<'.,.,', 'parser.y', 365) 1795 1796 def _reduce_60(val, _values, result) 1796 1797 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") 1797 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new1798 1799 result 1800 end 1801 .,., 1802 1803 module_eval(<<'.,.,', 'parser.y', 3 53)1798 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_STRING.new 1799 1800 result 1801 end 1802 .,., 1803 1804 module_eval(<<'.,.,', 'parser.y', 370) 1804 1805 def _reduce_61(val, _values, result) 1805 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}1806 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)} 1806 1807 @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}") 1807 1808 result = val[0] … … 1813 1814 # reduce 62 omitted 1814 1815 1815 module_eval(<<'.,.,', 'parser.y', 3 65)1816 module_eval(<<'.,.,', 'parser.y', 382) 1816 1817 def _reduce_63(val, _values, result) 1817 1818 result = [val[0]] … … 1821 1822 .,., 1822 1823 1823 module_eval(<<'.,.,', 'parser.y', 3 69)1824 module_eval(<<'.,.,', 'parser.y', 386) 1824 1825 def _reduce_64(val, _values, result) 1825 1826 result = (val[0] << val[1]) … … 1829 1830 .,., 1830 1831 1831 module_eval(<<'.,.,', 'parser.y', 3 75)1832 module_eval(<<'.,.,', 'parser.y', 392) 1832 1833 def _reduce_65(val, _values, result) 1833 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}1834 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 1834 1835 c_attribute = val[0] 1835 1836 c_attribute.children = val[3] … … 1840 1841 .,., 1841 1842 1842 module_eval(<<'.,.,', 'parser.y', 3 82)1843 module_eval(<<'.,.,', 'parser.y', 399) 1843 1844 def _reduce_66(val, _values, result) 1844 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}1845 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 1845 1846 result = val[0] 1846 1847 … … 1849 1850 .,., 1850 1851 1851 module_eval(<<'.,.,', 'parser.y', 387)1852 module_eval(<<'.,.,', 'parser.y', 404) 1852 1853 def _reduce_67(val, _values, result) 1853 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}1854 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 1854 1855 result = val[0] 1855 1856 … … 1858 1859 .,., 1859 1860 1860 module_eval(<<'.,.,', 'parser.y', 394)1861 module_eval(<<'.,.,', 'parser.y', 411) 1861 1862 def _reduce_68(val, _values, result) 1862 1863 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") 1863 result = OpenE HR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(1864 result = OpenEhr::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new( 1864 1865 :rm_attribute_name => val[0], 1865 1866 :existence => val[1] … … 1871 1872 .,., 1872 1873 1873 module_eval(<<'.,.,', 'parser.y', 4 03)1874 module_eval(<<'.,.,', 'parser.y', 420) 1874 1875 def _reduce_69(val, _values, result) 1875 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::CARDINALITY) }1876 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY) } 1876 1877 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") 1877 result = OpenE HR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(1878 result = OpenEhr::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new( 1878 1879 :rm_attribute_name => val[0], 1879 1880 :existence => val[1], … … 1885 1886 .,., 1886 1887 1887 module_eval(<<'.,.,', 'parser.y', 4 14)1888 module_eval(<<'.,.,', 'parser.y', 431) 1888 1889 def _reduce_70(val, _values, result) 1889 1890 result = Array[val[0]] … … 1893 1894 .,., 1894 1895 1895 module_eval(<<'.,.,', 'parser.y', 4 18)1896 module_eval(<<'.,.,', 'parser.y', 435) 1896 1897 def _reduce_71(val, _values, result) 1897 1898 result = (val[0] << val[1]) … … 1901 1902 .,., 1902 1903 1903 module_eval(<<'.,.,', 'parser.y', 4 22)1904 module_eval(<<'.,.,', 'parser.y', 439) 1904 1905 def _reduce_72(val, _values, result) 1905 1906 result = Array[val[0]] … … 1911 1912 # reduce 73 omitted 1912 1913 1913 module_eval(<<'.,.,', 'parser.y', 4 30)1914 module_eval(<<'.,.,', 'parser.y', 447) 1914 1915 def _reduce_74(val, _values, result) 1915 1916 result = val[1] … … 1921 1922 # reduce 75 omitted 1922 1923 1923 module_eval(<<'.,.,', 'parser.y', 4 38)1924 module_eval(<<'.,.,', 'parser.y', 455) 1924 1925 def _reduce_76(val, _values, result) 1925 1926 result = val[1] … … 1945 1946 # reduce 84 omitted 1946 1947 1947 module_eval(<<'.,.,', 'parser.y', 4 58)1948 module_eval(<<'.,.,', 'parser.y', 475) 1948 1949 def _reduce_85(val, _values, result) 1949 1950 dadl_section = val[1] 1950 result = OpenE HR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new1951 result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new 1951 1952 1952 1953 result … … 1956 1957 # reduce 86 omitted 1957 1958 1958 # reduce 87 omitted 1959 1960 # reduce 88 omitted 1961 1962 # reduce 89 omitted 1963 1964 module_eval(<<'.,.,', 'parser.y', 473) 1959 module_eval(<<'.,.,', 'parser.y', 484) 1960 def _reduce_87(val, _values, result) 1961 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section\n attr_vals = #{val[0]}") 1962 result = val[0] 1963 1964 result 1965 end 1966 .,., 1967 1968 module_eval(<<'.,.,', 'parser.y', 489) 1969 def _reduce_88(val, _values, result) 1970 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section\n complex_object_block = #{val[0]}") 1971 result = val[0] 1972 1973 result 1974 end 1975 .,., 1976 1977 module_eval(<<'.,.,', 'parser.y', 496) 1978 def _reduce_89(val, _values, result) 1979 result = Array[val[0]] 1980 1981 result 1982 end 1983 .,., 1984 1985 module_eval(<<'.,.,', 'parser.y', 500) 1965 1986 def _reduce_90(val, _values, result) 1966 result = Array[val[0]]1967 1968 result 1969 end 1970 .,., 1971 1972 module_eval(<<'.,.,', 'parser.y', 477)1987 result = (val[0] << val[1]) 1988 1989 result 1990 end 1991 .,., 1992 1993 module_eval(<<'.,.,', 'parser.y', 504) 1973 1994 def _reduce_91(val, _values, result) 1974 result = (val[0] << val[ 1])1975 1976 result 1977 end 1978 .,., 1979 1980 module_eval(<<'.,.,', 'parser.y', 481)1995 result = (val[0] << val[2]) 1996 1997 result 1998 end 1999 .,., 2000 2001 module_eval(<<'.,.,', 'parser.y', 509) 1981 2002 def _reduce_92(val, _values, result) 1982 result = (val[0] << val[2]) 1983 1984 result 1985 end 1986 .,., 1987 1988 module_eval(<<'.,.,', 'parser.y', 486) 2003 @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0]}, object_block = #{val[1]}") 2004 result = {:attr_id => val[0], :object_block => val[2]} 2005 2006 result 2007 end 2008 .,., 2009 2010 module_eval(<<'.,.,', 'parser.y', 515) 1989 2011 def _reduce_93(val, _values, result) 1990 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]} at #{@filename}:#{@lineno}") 1991 result = {:attr_id => val[0], :object_block => val[2]} 1992 1993 result 1994 end 1995 .,., 1996 1997 module_eval(<<'.,.,', 'parser.y', 492) 1998 def _reduce_94(val, _values, result) 1999 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}") 2012 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}") 2000 2013 result = val[0] 2001 2014 … … 2004 2017 .,., 2005 2018 2006 # reduce 95 omitted 2007 2008 module_eval(<<'.,.,', 'parser.y', 499) 2019 # reduce 94 omitted 2020 2021 module_eval(<<'.,.,', 'parser.y', 522) 2022 def _reduce_95(val, _values, result) 2023 result = val[0] 2024 2025 result 2026 end 2027 .,., 2028 2029 module_eval(<<'.,.,', 'parser.y', 526) 2009 2030 def _reduce_96(val, _values, result) 2010 2031 result = val[0] … … 2014 2035 .,., 2015 2036 2016 module_eval(<<'.,.,', 'parser.y', 5 03)2037 module_eval(<<'.,.,', 'parser.y', 531) 2017 2038 def _reduce_97(val, _values, result) 2018 2039 result = val[0] … … 2022 2043 .,., 2023 2044 2024 module_eval(<<'.,.,', 'parser.y', 5 08)2045 module_eval(<<'.,.,', 'parser.y', 535) 2025 2046 def _reduce_98(val, _values, result) 2026 2047 result = val[0] … … 2030 2051 .,., 2031 2052 2032 module_eval(<<'.,.,', 'parser.y', 5 12)2053 module_eval(<<'.,.,', 'parser.y', 540) 2033 2054 def _reduce_99(val, _values, result) 2055 result = {:untyped_multiple_attr_object_block => val[0]} 2056 2057 result 2058 end 2059 .,., 2060 2061 module_eval(<<'.,.,', 'parser.y', 544) 2062 def _reduce_100(val, _values, result) 2063 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]} 2064 2065 result 2066 end 2067 .,., 2068 2069 module_eval(<<'.,.,', 'parser.y', 549) 2070 def _reduce_101(val, _values, result) 2071 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]} 2072 2073 result 2074 end 2075 .,., 2076 2077 module_eval(<<'.,.,', 'parser.y', 554) 2078 def _reduce_102(val, _values, result) 2034 2079 result = val[0] 2035 2080 … … 2038 2083 .,., 2039 2084 2040 module_eval(<<'.,.,', 'parser.y', 517) 2041 def _reduce_100(val, _values, result) 2042 result = {:untyped_multiple_attr_object_block => val[0]} 2043 2044 result 2045 end 2046 .,., 2047 2048 module_eval(<<'.,.,', 'parser.y', 521) 2049 def _reduce_101(val, _values, result) 2050 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]} 2051 2052 result 2053 end 2054 .,., 2055 2056 module_eval(<<'.,.,', 'parser.y', 526) 2057 def _reduce_102(val, _values, result) 2058 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]} 2059 2060 result 2061 end 2062 .,., 2063 2064 module_eval(<<'.,.,', 'parser.y', 531) 2085 module_eval(<<'.,.,', 'parser.y', 559) 2065 2086 def _reduce_103(val, _values, result) 2066 result = val[0]2067 2068 result 2069 end 2070 .,., 2071 2072 module_eval(<<'.,.,', 'parser.y', 5 36)2087 result = Array[val[0]] 2088 2089 result 2090 end 2091 .,., 2092 2093 module_eval(<<'.,.,', 'parser.y', 563) 2073 2094 def _reduce_104(val, _values, result) 2074 result = Array[val[0]]2075 2076 result 2077 end 2078 .,., 2079 2080 module_eval(<<'.,.,', 'parser.y', 5 40)2095 result = (val[0] << val[1]) 2096 2097 result 2098 end 2099 .,., 2100 2101 module_eval(<<'.,.,', 'parser.y', 568) 2081 2102 def _reduce_105(val, _values, result) 2082 result = (val[0] << val[1])2083 2084 result2085 end2086 .,.,2087 2088 module_eval(<<'.,.,', 'parser.y', 545)2089 def _reduce_106(val, _values, result)2090 2103 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 2091 2104 result = {:object_key => val[0], :object_block => val[2]} … … 2095 2108 .,., 2096 2109 2097 module_eval(<<'.,.,', 'parser.y', 5 51)2098 def _reduce_10 7(val, _values, result)2110 module_eval(<<'.,.,', 'parser.y', 574) 2111 def _reduce_106(val, _values, result) 2099 2112 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") 2100 2113 result = val[1] … … 2104 2117 .,., 2105 2118 2106 module_eval(<<'.,.,', 'parser.y', 557) 2119 module_eval(<<'.,.,', 'parser.y', 580) 2120 def _reduce_107(val, _values, result) 2121 result = {:untyped_single_attr_object_block => val[0]} 2122 2123 result 2124 end 2125 .,., 2126 2127 module_eval(<<'.,.,', 'parser.y', 584) 2107 2128 def _reduce_108(val, _values, result) 2108 result = {: untyped_single_attr_object_block => val[0]}2109 2110 result 2111 end 2112 .,., 2113 2114 module_eval(<<'.,.,', 'parser.y', 5 61)2129 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]} 2130 2131 result 2132 end 2133 .,., 2134 2135 module_eval(<<'.,.,', 'parser.y', 589) 2115 2136 def _reduce_109(val, _values, result) 2116 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}2117 2118 result2119 end2120 .,.,2121 2122 module_eval(<<'.,.,', 'parser.y', 566)2123 def _reduce_110(val, _values, result)2124 2137 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") 2125 2138 result = {:single_attr_object_complex_head => val[0]} … … 2129 2142 .,., 2130 2143 2131 module_eval(<<'.,.,', 'parser.y', 5 71)2132 def _reduce_11 1(val, _values, result)2144 module_eval(<<'.,.,', 'parser.y', 594) 2145 def _reduce_110(val, _values, result) 2133 2146 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}") 2134 2147 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} … … 2138 2151 .,., 2139 2152 2140 # reduce 11 2omitted2141 2142 module_eval(<<'.,.,', 'parser.y', 577)2143 def _reduce_11 3(val, _values, result)2153 # reduce 111 omitted 2154 2155 module_eval(<<'.,.,', 'parser.y', 600) 2156 def _reduce_112(val, _values, result) 2144 2157 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}") 2145 2158 result = {:untyped_primitive_object_block => val[0]} … … 2149 2162 .,., 2150 2163 2151 module_eval(<<'.,.,', 'parser.y', 582)2152 def _reduce_11 4(val, _values, result)2164 module_eval(<<'.,.,', 'parser.y', 605) 2165 def _reduce_113(val, _values, result) 2153 2166 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}") 2154 2167 result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]} … … 2158 2171 .,., 2159 2172 2160 module_eval(<<'.,.,', 'parser.y', 587)2161 def _reduce_11 5(val, _values, result)2173 module_eval(<<'.,.,', 'parser.y', 610) 2174 def _reduce_114(val, _values, result) 2162 2175 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") 2163 2176 result = val[1] … … 2167 2180 .,., 2168 2181 2169 module_eval(<<'.,.,', 'parser.y', 592) 2182 module_eval(<<'.,.,', 'parser.y', 615) 2183 def _reduce_115(val, _values, result) 2184 result = val[0] 2185 2186 result 2187 end 2188 .,., 2189 2190 module_eval(<<'.,.,', 'parser.y', 619) 2170 2191 def _reduce_116(val, _values, result) 2171 2192 result = val[0] … … 2175 2196 .,., 2176 2197 2177 module_eval(<<'.,.,', 'parser.y', 596)2198 module_eval(<<'.,.,', 'parser.y', 623) 2178 2199 def _reduce_117(val, _values, result) 2179 2200 result = val[0] … … 2183 2204 .,., 2184 2205 2185 module_eval(<<'.,.,', 'parser.y', 6 00)2206 module_eval(<<'.,.,', 'parser.y', 627) 2186 2207 def _reduce_118(val, _values, result) 2187 2208 result = val[0] … … 2191 2212 .,., 2192 2213 2193 module_eval(<<'.,.,', 'parser.y', 6 04)2214 module_eval(<<'.,.,', 'parser.y', 631) 2194 2215 def _reduce_119(val, _values, result) 2195 2216 result = val[0] … … 2199 2220 .,., 2200 2221 2201 module_eval(<<'.,.,', 'parser.y', 6 08)2222 module_eval(<<'.,.,', 'parser.y', 635) 2202 2223 def _reduce_120(val, _values, result) 2203 result = val[0]2204 2205 result2206 end2207 .,.,2208 2209 module_eval(<<'.,.,', 'parser.y', 612)2210 def _reduce_121(val, _values, result)2211 2224 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}") 2212 2225 result = val[0] … … 2216 2229 .,., 2217 2230 2218 module_eval(<<'.,.,', 'parser.y', 6 17)2219 def _reduce_12 2(val, _values, result)2231 module_eval(<<'.,.,', 'parser.y', 640) 2232 def _reduce_121(val, _values, result) 2220 2233 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}") 2221 2234 result = val[0] … … 2225 2238 .,., 2226 2239 2227 module_eval(<<'.,.,', 'parser.y', 6 22)2228 def _reduce_12 3(val, _values, result)2240 module_eval(<<'.,.,', 'parser.y', 645) 2241 def _reduce_122(val, _values, result) 2229 2242 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}") 2230 2243 result = val[0] … … 2234 2247 .,., 2235 2248 2236 module_eval(<<'.,.,', 'parser.y', 6 27)2237 def _reduce_12 4(val, _values, result)2249 module_eval(<<'.,.,', 'parser.y', 650) 2250 def _reduce_123(val, _values, result) 2238 2251 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") 2239 2252 result = val[0] … … 2243 2256 .,., 2244 2257 2245 module_eval(<<'.,.,', 'parser.y', 6 32)2246 def _reduce_12 5(val, _values, result)2258 module_eval(<<'.,.,', 'parser.y', 655) 2259 def _reduce_124(val, _values, result) 2247 2260 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}") 2248 2261 result = val[0] … … 2252 2265 .,., 2253 2266 2254 module_eval(<<'.,.,', 'parser.y', 6 37)2255 def _reduce_12 6(val, _values, result)2267 module_eval(<<'.,.,', 'parser.y', 660) 2268 def _reduce_125(val, _values, result) 2256 2269 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}") 2257 2270 result = val[0] … … 2261 2274 .,., 2262 2275 2263 module_eval(<<'.,.,', 'parser.y', 6 42)2264 def _reduce_12 7(val, _values, result)2276 module_eval(<<'.,.,', 'parser.y', 665) 2277 def _reduce_126(val, _values, result) 2265 2278 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}") 2266 2279 result = val[0] … … 2270 2283 .,., 2271 2284 2272 module_eval(<<'.,.,', 'parser.y', 6 47)2273 def _reduce_12 8(val, _values, result)2285 module_eval(<<'.,.,', 'parser.y', 670) 2286 def _reduce_127(val, _values, result) 2274 2287 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") 2275 2288 result = val[0] … … 2279 2292 .,., 2280 2293 2281 module_eval(<<'.,.,', 'parser.y', 6 52)2282 def _reduce_12 9(val, _values, result)2294 module_eval(<<'.,.,', 'parser.y', 675) 2295 def _reduce_128(val, _values, result) 2283 2296 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}") 2284 2297 result = val[0] … … 2288 2301 .,., 2289 2302 2290 module_eval(<<'.,.,', 'parser.y', 6 57)2291 def _reduce_1 30(val, _values, result)2303 module_eval(<<'.,.,', 'parser.y', 680) 2304 def _reduce_129(val, _values, result) 2292 2305 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}") 2293 2306 result = val[0] … … 2297 2310 .,., 2298 2311 2312 # reduce 130 omitted 2313 2299 2314 # reduce 131 omitted 2300 2315 … … 2325 2340 # reduce 144 omitted 2326 2341 2327 # reduce 145 omitted 2328 2329 module_eval(<<'.,.,', 'parser.y', 680) 2330 def _reduce_146(val, _values, result) 2342 module_eval(<<'.,.,', 'parser.y', 703) 2343 def _reduce_145(val, _values, result) 2331 2344 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 2332 2345 result = val[0] … … 2336 2349 .,., 2337 2350 2338 module_eval(<<'.,.,', 'parser.y', 685)2339 def _reduce_14 7(val, _values, result)2351 module_eval(<<'.,.,', 'parser.y', 708) 2352 def _reduce_146(val, _values, result) 2340 2353 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 2341 2354 result = val[0] … … 2345 2358 .,., 2346 2359 2347 module_eval(<<'.,.,', 'parser.y', 691)2348 def _reduce_14 8(val, _values, result)2360 module_eval(<<'.,.,', 'parser.y', 714) 2361 def _reduce_147(val, _values, result) 2349 2362 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") 2350 2363 result = val[0] … … 2354 2367 .,., 2355 2368 2369 # reduce 148 omitted 2370 2356 2371 # reduce 149 omitted 2357 2372 2358 2373 # reduce 150 omitted 2359 2374 2360 # reduce 151 omitted 2361 2362 module_eval(<<'.,.,', 'parser.y', 701) 2375 module_eval(<<'.,.,', 'parser.y', 724) 2376 def _reduce_151(val, _values, result) 2377 begin 2378 integer = Integer(val[0]) 2379 rescue 2380 raise 2381 end 2382 result = integer 2383 2384 result 2385 end 2386 .,., 2387 2388 module_eval(<<'.,.,', 'parser.y', 733) 2363 2389 def _reduce_152(val, _values, result) 2364 2390 begin … … 2373 2399 .,., 2374 2400 2375 module_eval(<<'.,.,', 'parser.y', 7 10)2401 module_eval(<<'.,.,', 'parser.y', 742) 2376 2402 def _reduce_153(val, _values, result) 2377 2403 begin … … 2380 2406 raise 2381 2407 end 2382 result = integer2383 2384 result2385 end2386 .,.,2387 2388 module_eval(<<'.,.,', 'parser.y', 719)2389 def _reduce_154(val, _values, result)2390 begin2391 integer = Integer(val[0])2392 rescue2393 raise2394 end2395 2408 result = - integer 2396 2409 … … 2399 2412 .,., 2400 2413 2414 # reduce 154 omitted 2415 2401 2416 # reduce 155 omitted 2402 2417 … … 2421 2436 # reduce 165 omitted 2422 2437 2423 # reduce 166 omitted 2424 2425 module_eval(<<'.,.,', 'parser.y', 745) 2426 def _reduce_167(val, _values, result) 2438 module_eval(<<'.,.,', 'parser.y', 768) 2439 def _reduce_166(val, _values, result) 2427 2440 begin 2428 2441 real = Float(val[0]) … … 2436 2449 .,., 2437 2450 2438 module_eval(<<'.,.,', 'parser.y', 754) 2451 module_eval(<<'.,.,', 'parser.y', 777) 2452 def _reduce_167(val, _values, result) 2453 begin 2454 real = Float(val[1]) 2455 rescue 2456 raise 2457 end 2458 result = real 2459 2460 result 2461 end 2462 .,., 2463 2464 module_eval(<<'.,.,', 'parser.y', 786) 2439 2465 def _reduce_168(val, _values, result) 2440 2466 begin … … 2443 2469 raise 2444 2470 end 2445 result = real2446 2447 result2448 end2449 .,.,2450 2451 module_eval(<<'.,.,', 'parser.y', 763)2452 def _reduce_169(val, _values, result)2453 begin2454 real = Float(val[1])2455 rescue2456 raise2457 end2458 2471 result = - real 2459 2472 … … 2462 2475 .,., 2463 2476 2477 # reduce 169 omitted 2478 2464 2479 # reduce 170 omitted 2465 2480 … … 2484 2499 # reduce 180 omitted 2485 2500 2486 # reduce 181 omitted 2487 2488 module_eval(<<'.,.,', 'parser.y', 788) 2501 module_eval(<<'.,.,', 'parser.y', 811) 2502 def _reduce_181(val, _values, result) 2503 result = true 2504 2505 result 2506 end 2507 .,., 2508 2509 module_eval(<<'.,.,', 'parser.y', 815) 2489 2510 def _reduce_182(val, _values, result) 2490 result = true2491 2492 result2493 end2494 .,.,2495 2496 module_eval(<<'.,.,', 'parser.y', 792)2497 def _reduce_183(val, _values, result)2498 2511 result = false 2499 2512 … … 2502 2515 .,., 2503 2516 2517 # reduce 183 omitted 2518 2504 2519 # reduce 184 omitted 2505 2520 … … 2514 2529 # reduce 189 omitted 2515 2530 2516 # reduce 190 omitted 2517 2518 module_eval(<<'.,.,', 'parser.y', 807) 2519 def _reduce_191(val, _values, result) 2531 module_eval(<<'.,.,', 'parser.y', 830) 2532 def _reduce_190(val, _values, result) 2520 2533 result = val[0] 2521 2534 … … 2524 2537 .,., 2525 2538 2539 # reduce 191 omitted 2540 2526 2541 # reduce 192 omitted 2527 2542 … … 2598 2613 # reduce 228 omitted 2599 2614 2600 # reduce 229 omitted 2601 2602 module_eval(<<'.,.,', 'parser.y', 858) 2603 def _reduce_230(val, _values, result) 2615 module_eval(<<'.,.,', 'parser.y', 881) 2616 def _reduce_229(val, _values, result) 2604 2617 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") 2605 2618 result = val[0] … … 2609 2622 .,., 2610 2623 2624 # reduce 230 omitted 2625 2611 2626 # reduce 231 omitted 2612 2627 … … 2631 2646 # reduce 241 omitted 2632 2647 2633 # reduce 242 omitted 2634 2635 module_eval(<<'.,.,', 'parser.y', 878) 2636 def _reduce_243(val, _values, result) 2648 module_eval(<<'.,.,', 'parser.y', 901) 2649 def _reduce_242(val, _values, result) 2637 2650 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") 2638 2651 result = val[0] … … 2642 2655 .,., 2643 2656 2657 # reduce 243 omitted 2658 2644 2659 # reduce 244 omitted 2645 2660 2646 2661 # reduce 245 omitted 2647 2662 2648 # reduce 246 omitted 2649 2650 module_eval(<<'.,.,', 'parser.y', 888) 2651 def _reduce_247(val, _values, result) 2663 module_eval(<<'.,.,', 'parser.y', 911) 2664 def _reduce_246(val, _values, result) 2652 2665 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") 2653 2666 result = val[0] … … 2657 2670 .,., 2658 2671 2672 # reduce 247 omitted 2673 2659 2674 # reduce 248 omitted 2660 2675 … … 2735 2750 # reduce 286 omitted 2736 2751 2737 # reduce 287 omitted 2738 2739 module_eval(<<'.,.,', 'parser.y', 958) 2752 module_eval(<<'.,.,', 'parser.y', 981) 2753 def _reduce_287(val, _values, result) 2754 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 2755 2756 result 2757 end 2758 .,., 2759 2760 module_eval(<<'.,.,', 'parser.y', 985) 2740 2761 def _reduce_288(val, _values, result) 2741 2762 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2745 2766 .,., 2746 2767 2747 module_eval(<<'.,.,', 'parser.y', 9 62)2768 module_eval(<<'.,.,', 'parser.y', 996) 2748 2769 def _reduce_289(val, _values, result) 2749 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")2750 2751 result 2752 end 2753 .,., 2754 2755 module_eval(<<'.,.,', 'parser.y', 973)2770 result = Range.new(1,1) 2771 2772 result 2773 end 2774 .,., 2775 2776 module_eval(<<'.,.,', 'parser.y', 1000) 2756 2777 def _reduce_290(val, _values, result) 2757 result = Range.new(1,1)2758 2759 result 2760 end 2761 .,., 2762 2763 module_eval(<<'.,.,', 'parser.y', 977)2778 result = val[3] 2779 2780 result 2781 end 2782 .,., 2783 2784 module_eval(<<'.,.,', 'parser.y', 1005) 2764 2785 def _reduce_291(val, _values, result) 2765 result = val[3]2766 2767 result2768 end2769 .,.,2770 2771 module_eval(<<'.,.,', 'parser.y', 982)2772 def _reduce_292(val, _values, result)2773 2786 begin 2774 2787 integer = Integer(val[0]) … … 2782 2795 .,., 2783 2796 2784 module_eval(<<'.,.,', 'parser.y', 991)2785 def _reduce_29 3(val, _values, result)2797 module_eval(<<'.,.,', 'parser.y', 1014) 2798 def _reduce_292(val, _values, result) 2786 2799 begin 2787 2800 from_integer = Integer(val[0]) … … 2796 2809 .,., 2797 2810 2798 module_eval(<<'.,.,', 'parser.y', 1002) 2799 def _reduce_294(val, _values, result) 2800 result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new 2801 2802 result 2803 end 2804 .,., 2811 module_eval(<<'.,.,', 'parser.y', 1025) 2812 def _reduce_293(val, _values, result) 2813 result = OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY.new 2814 2815 result 2816 end 2817 .,., 2818 2819 # reduce 294 omitted 2805 2820 2806 2821 # reduce 295 omitted … … 2818 2833 # reduce 301 omitted 2819 2834 2820 # reduce 302 omitted 2821 2822 module_eval(<<'.,.,', 'parser.y', 1016) 2835 module_eval(<<'.,.,', 'parser.y', 1039) 2836 def _reduce_302(val, _values, result) 2837 result = val[0] 2838 2839 result 2840 end 2841 .,., 2842 2843 module_eval(<<'.,.,', 'parser.y', 1043) 2823 2844 def _reduce_303(val, _values, result) 2824 2845 result = val[0] … … 2828 2849 .,., 2829 2850 2830 module_eval(<<'.,.,', 'parser.y', 1020) 2831 def _reduce_304(val, _values, result) 2851 # reduce 304 omitted 2852 2853 module_eval(<<'.,.,', 'parser.y', 1050) 2854 def _reduce_305(val, _values, result) 2855 case val[3] 2856 when OpenEhr::RM::Support::AssumedTypes::Interval 2857 result = val[3] 2858 else 2859 result = val[3] 2860 end 2861 2862 result 2863 end 2864 .,., 2865 2866 # reduce 306 omitted 2867 2868 module_eval(<<'.,.,', 'parser.y', 1061) 2869 def _reduce_307(val, _values, result) 2832 2870 result = val[0] 2833 2871 … … 2836 2874 .,., 2837 2875 2838 # reduce 305 omitted 2839 2840 module_eval(<<'.,.,', 'parser.y', 1027) 2841 def _reduce_306(val, _values, result) 2842 result = val[3] 2843 2844 result 2845 end 2846 .,., 2847 2848 # reduce 307 omitted 2849 2850 # reduce 308 omitted 2876 module_eval(<<'.,.,', 'parser.y', 1065) 2877 def _reduce_308(val, _values, result) 2878 result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2]) 2879 2880 result 2881 end 2882 .,., 2851 2883 2852 2884 # reduce 309 omitted … … 2936 2968 # reduce 351 omitted 2937 2969 2938 # reduce 352 omitted 2939 2940 module_eval(<<'.,.,', 'parser.y', 1097) 2970 module_eval(<<'.,.,', 'parser.y', 1131) 2971 def _reduce_352(val, _values, result) 2972 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true) 2973 2974 result 2975 end 2976 .,., 2977 2978 module_eval(<<'.,.,', 'parser.y', 1135) 2941 2979 def _reduce_353(val, _values, result) 2942 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)2943 2944 result 2945 end 2946 .,., 2947 2948 module_eval(<<'.,.,', 'parser.y', 11 01)2980 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false) 2981 2982 result 2983 end 2984 .,., 2985 2986 module_eval(<<'.,.,', 'parser.y', 1139) 2949 2987 def _reduce_354(val, _values, result) 2950 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)2951 2952 result 2953 end 2954 .,., 2955 2956 module_eval(<<'.,.,', 'parser.y', 11 05)2988 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false) 2989 2990 result 2991 end 2992 .,., 2993 2994 module_eval(<<'.,.,', 'parser.y', 1143) 2957 2995 def _reduce_355(val, _values, result) 2958 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)2959 2960 result 2961 end 2962 .,., 2963 2964 module_eval(<<'.,.,', 'parser.y', 11 09)2996 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true) 2997 2998 result 2999 end 3000 .,., 3001 3002 module_eval(<<'.,.,', 'parser.y', 1148) 2965 3003 def _reduce_356(val, _values, result) 2966 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)2967 2968 result 2969 end 2970 .,., 2971 2972 module_eval(<<'.,.,', 'parser.y', 11 14)3004 result = val[0] 3005 3006 result 3007 end 3008 .,., 3009 3010 module_eval(<<'.,.,', 'parser.y', 1152) 2973 3011 def _reduce_357(val, _values, result) 2974 r esult = val[0]2975 2976 result 2977 end 2978 .,., 2979 2980 module_eval(<<'.,.,', 'parser.y', 11 18)3012 raise 'Not implemented yet' 3013 3014 result 3015 end 3016 .,., 3017 3018 module_eval(<<'.,.,', 'parser.y', 1156) 2981 3019 def _reduce_358(val, _values, result) 2982 3020 raise 'Not implemented yet' … … 2986 3024 .,., 2987 3025 2988 module_eval(<<'.,.,', 'parser.y', 1122) 2989 def _reduce_359(val, _values, result) 2990 raise 'Not implemented yet' 2991 2992 result 2993 end 2994 .,., 3026 # reduce 359 omitted 2995 3027 2996 3028 # reduce 360 omitted … … 3002 3034 # reduce 363 omitted 3003 3035 3004 # reduce 364 omitted 3005 3006 module_eval(<<'.,.,', 'parser.y', 1134) 3007 def _reduce_365(val, _values, result) 3036 module_eval(<<'.,.,', 'parser.y', 1168) 3037 def _reduce_364(val, _values, result) 3008 3038 @in_interval = false 3009 3039 @@logger.debug("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}") … … 3013 3043 .,., 3014 3044 3015 module_eval(<<'.,.,', 'parser.y', 1141) 3045 module_eval(<<'.,.,', 'parser.y', 1175) 3046 def _reduce_365(val, _values, result) 3047 result = val[0] 3048 3049 result 3050 end 3051 .,., 3052 3053 module_eval(<<'.,.,', 'parser.y', 1179) 3016 3054 def _reduce_366(val, _values, result) 3017 3055 result = val[0] … … 3021 3059 .,., 3022 3060 3023 module_eval(<<'.,.,', 'parser.y', 11 45)3061 module_eval(<<'.,.,', 'parser.y', 1185) 3024 3062 def _reduce_367(val, _values, result) 3025 result = val[0]3026 3027 result3028 end3029 .,.,3030 3031 module_eval(<<'.,.,', 'parser.y', 1151)3032 def _reduce_368(val, _values, result)3033 3063 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}") 3034 3064 @@logger.debug("#{__FILE__}:#{__LINE__}, term_code_body = #{val[1]}") … … 3040 3070 .,., 3041 3071 3072 # reduce 368 omitted 3073 3042 3074 # reduce 369 omitted 3043 3075 3044 3076 # reduce 370 omitted 3045 3077 3046 # reduce 371 omitted 3047 3048 module_eval(<<'.,.,', 'parser.y', 1167) 3078 module_eval(<<'.,.,', 'parser.y', 1201) 3079 def _reduce_371(val, _values, result) 3080 result = val[0] 3081 3082 result 3083 end 3084 .,., 3085 3086 module_eval(<<'.,.,', 'parser.y', 1206) 3049 3087 def _reduce_372(val, _values, result) 3050 3088 result = val[0] … … 3054 3092 .,., 3055 3093 3056 module_eval(<<'.,.,', 'parser.y', 1 172)3094 module_eval(<<'.,.,', 'parser.y', 1210) 3057 3095 def _reduce_373(val, _values, result) 3058 result = val[0]3059 3060 result3061 end3062 .,.,3063 3064 module_eval(<<'.,.,', 'parser.y', 1176)3065 def _reduce_374(val, _values, result)3066 3096 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") 3067 3097 result = val[0] … … 3071 3101 .,., 3072 3102 3073 module_eval(<<'.,.,', 'parser.y', 1 187)3074 def _reduce_37 5(val, _values, result)3103 module_eval(<<'.,.,', 'parser.y', 1221) 3104 def _reduce_374(val, _values, result) 3075 3105 result = val[0] 3076 3106 … … 3085 3115 end # class Parser 3086 3116 end # module ADL 3087 end # module OpenE HR3117 end # module OpenEhr -
ruby/trunk/lib/adl_parser/lib/parser.y
r283 r307 1 1 2 class OpenE HR::ADL::Parser2 class OpenEhr::ADL::Parser 3 3 4 4 #options omit_action_call … … 36 36 { 37 37 assert_at(__FILE__,__LINE__) do 38 val[4].instance_of?(OpenE HR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)38 val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY) 39 39 end 40 40 … … 42 42 parent_archtype_id = val[1][:parent_archtype_id] if val[1] 43 43 adl_version = val[0][:arch_head][:arch_meta_data][:adl_version] 44 concept = val[2] 44 concept = val[2][:arch_concept] 45 45 language = val[3][:arch_language] 46 archetype = OpenE HR::AM::Archetype::ARCHETYPE.create(46 archetype = OpenEhr::AM::Archetype::ARCHETYPE.create( 47 47 :archetype_id => archetype_id, 48 48 :parent_archtype_id => parent_archtype_id, … … 138 138 | SYM_DESCRIPTION dadl_section 139 139 { 140 result = OpenE HR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])140 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 141 141 } 142 142 | SYM_DESCRIPTION error … … 154 154 cadl_section: c_complex_object 155 155 { 156 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}156 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)} 157 157 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}") 158 158 result = val[0] … … 167 167 c_complex_object: c_complx_object_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi 168 168 { 169 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|169 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| 170 170 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref] 171 171 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier] … … 175 175 | c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body SYM_END_CBLOCK 176 176 { 177 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|177 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| 178 178 c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref] 179 179 c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier] … … 201 201 | c_attributes 202 202 { 203 result = OpenE HR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])203 result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0]) 204 204 } 205 205 … … 224 224 | archetype_internal_ref 225 225 { 226 result = OpenE HR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|226 result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref| 227 227 archetype_internal_ref.target_path = val[0][:absolute_path] 228 228 archetype_internal_ref.rm_type_name = val[0][:type_identifier] … … 236 236 | constraint_ref 237 237 { 238 result = OpenE HR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|238 result = OpenEhr::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref| 239 239 constraint_ref.reference = val[0] 240 240 end … … 256 256 result = val[0] 257 257 } 258 259 258 # | v_c_domain_type 260 259 # | V_C_DOMAIN_TYPE … … 265 264 # the buffer from the current point on and be able to fast-forward the 266 265 # cursor to the last character matched by the dADL scanner 266 ### ----------/* V_C_DOMAIN_TYPE - sections of dADL syntax */ ------------------------------------------------- ----------/* V_C_DOMAIN_TYPE - sections of dADL syntax */ ------------------------------------------------- 267 268 269 ### [A-Z][a-zA-Z0-9_]*[ \n]*< { -- match a pattern like 'Type_Identifier whitespace <' [A-Z][a-zA-Z0-9_]*[ \n]*< { -- match a pattern like 'Type_Identifier whitespace <' 270 ### set_start_condition (IN_C_DOMAIN_TYPE) set_start_condition (IN_C_DOMAIN_TYPE) 271 ### } } 272 273 ### <IN_C_DOMAIN_TYPE>[^}>]*>[ \n]*[^>}A-Z] { -- match up to next > not followed by a '}' or '>' <IN_C_DOMAIN_TYPE>[^}>]*>[ \n]*[^>}A-Z] { -- match up to next > not followed by a '}' or '>' 274 ### in_buffer.append_string (text) in_buffer.append_string (text) 275 ### } } 276 277 ### <IN_C_DOMAIN_TYPE>[^}>]*>+[ \n]*[}A-Z] { -- final section - '...> whitespace } or beginning of a type identifier' <IN_C_DOMAIN_TYPE>[^}>]*>+[ \n]*[}A-Z] { -- final section - '...> whitespace } or beginning of a type identifier' 278 279 ### <IN_C_DOMAIN_TYPE>[^}>]*[ \n]*} { -- match up to next '}' not preceded by a '>' <IN_C_DOMAIN_TYPE>[^}>]*[ \n]*} { -- match up to next '}' not preceded by a '>' 280 ### in_buffer.append_string (text) in_buffer.append_string (text) 281 ### } } 282 283 267 284 | ERR_C_DOMAIN_TYPE 268 285 | error … … 283 300 archetype_slot: c_archetype_slot_head SYM_MATCHES SYM_START_CBLOCK c_includes c_excludes SYM_END_CBLOCK 284 301 { 285 result = OpenE HR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|302 result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot| 286 303 archetype_slot.includes = val[3] 287 304 archetype_slot.excludes = val[4] … … 305 322 c_primitive_object: c_primitive 306 323 { 307 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}308 result = OpenE HR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object|324 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)} 325 result = OpenEhr::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object| 309 326 c_primitive_object.item = val[0] 310 327 end … … 314 331 { 315 332 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") 316 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer|333 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer| 317 334 c_integer.list 318 335 c_integer.range … … 323 340 { 324 341 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") 325 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new342 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_REAL.new 326 343 } 327 344 | c_date 328 345 { 329 346 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") 330 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new347 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE.new 331 348 } 332 349 | c_time 333 350 { 334 351 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") 335 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new352 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_TIME.new 336 353 } 337 354 | c_date_time 338 355 { 339 356 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") 340 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new357 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new 341 358 } 342 359 | c_duration 343 360 { 344 361 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") 345 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new362 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new 346 363 } 347 364 | c_string 348 365 { 349 366 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") 350 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new367 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_STRING.new 351 368 } 352 369 | c_boolean 353 370 { 354 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}371 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)} 355 372 @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}") 356 373 result = val[0] … … 374 391 c_attribute: c_attr_head SYM_MATCHES SYM_START_CBLOCK c_attr_values SYM_END_CBLOCK 375 392 { 376 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}393 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 377 394 c_attribute = val[0] 378 395 c_attribute.children = val[3] … … 381 398 | c_attr_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi 382 399 { 383 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}400 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 384 401 result = val[0] 385 402 } 386 403 | c_attr_head SYM_MATCHES SYM_START_CBLOCK error SYM_END_CBLOCK 387 404 { 388 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenE HR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}405 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} 389 406 result = val[0] 390 407 } … … 394 411 { 395 412 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") 396 result = OpenE HR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(413 result = OpenEhr::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new( 397 414 :rm_attribute_name => val[0], 398 415 :existence => val[1] … … 402 419 | V_ATTRIBUTE_IDENTIFIER c_existence c_cardinality 403 420 { 404 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenE HR::AM::Archetype::Constraint_Model::CARDINALITY) }421 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY) } 405 422 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") 406 result = OpenE HR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(423 result = OpenEhr::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new( 407 424 :rm_attribute_name => val[0], 408 425 :existence => val[1], … … 458 475 { 459 476 dadl_section = val[1] 460 result = OpenE HR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new477 result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new 461 478 } 462 479 | SYM_ONTOLOGY error … … 464 481 465 482 ### dADL section 466 dadl_section: dadl_input 467 468 dadl_input: attr_vals 483 dadl_section: attr_vals 484 { 485 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}") 486 result = val[0] 487 } 469 488 | complex_object_block 489 { 490 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}") 491 result = val[0] 492 } 470 493 # | error 471 494 … … 485 508 attr_val: attr_id SYM_EQ object_block 486 509 { 487 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]} at #{@filename}:#{@lineno}")510 @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0]}, object_block = #{val[1]}") 488 511 result = {:attr_id => val[0], :object_block => val[2]} 489 512 } … … 491 514 attr_id: V_ATTRIBUTE_IDENTIFIER 492 515 { 493 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")516 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}") 494 517 result = val[0] 495 518 } … … 1001 1024 c_cardinality: SYM_CARDINALITY SYM_MATCHES SYM_START_CBLOCK cardinality_spec SYM_END_CBLOCK 1002 1025 { 1003 result = OpenE HR::AM::Archetype::Constraint_Model::CARDINALITY.new1026 result = OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY.new 1004 1027 } 1005 1028 … … 1026 1049 | SYM_OCCURRENCES SYM_MATCHES SYM_START_CBLOCK occurrence_spec SYM_END_CBLOCK 1027 1050 { 1028 result = val[3] 1051 case val[3] 1052 when OpenEhr::RM::Support::AssumedTypes::Interval 1053 result = val[3] 1054 else 1055 result = val[3] 1056 end 1029 1057 } 1030 1058 | SYM_OCCURRENCES error 1031 1059 1032 1060 occurrence_spec: cardinality_limit_value #-- single integer or '*' 1061 { 1062 result = val[0] 1063 } 1033 1064 | V_INTEGER SYM_ELLIPSIS cardinality_limit_value 1065 { 1066 result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2]) 1067 } 1034 1068 1035 1069 #---------------------- leaf constraint types ----------------------- … … 1096 1130 c_boolean_spec: SYM_TRUE 1097 1131 { 1098 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)1132 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true) 1099 1133 } 1100 1134 | SYM_FALSE 1101 1135 { 1102 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)1136 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false) 1103 1137 } 1104 1138 | SYM_TRUE Comma_code SYM_FALSE 1105 1139 { 1106 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)1140 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false) 1107 1141 } 1108 1142 | SYM_FALSE Comma_code SYM_TRUE 1109 1143 { 1110 result = OpenE HR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)1144 result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true) 1111 1145 } 1112 1146 … … 1198 1232 require 'yaml' 1199 1233 require 'rubygems' 1200 require 'adl_parser.rb' 1201 require 'am.rb' 1202 require 'rm.rb' 1203 $DEBUG = false 1234 require 'open_ehr' 1235 #require 'adl_parser.rb' 1236 #require 'am.rb' 1237 #require 'rm.rb' 1238 #require 'rm/support/assumed_types.rb' 1239 #require 'assumed_library_types.rb' 1240 $DEBUG = true 1204 1241 1205 1242 … … 1283 1320 def scan 1284 1321 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 1285 scanner = OpenE HR::ADL::Scanner::ADLScanner.new(@adl_type, @filename)1322 scanner = OpenEhr::ADL::Scanner::ADLScanner.new(@adl_type, @filename) 1286 1323 1287 1324 until @data.nil? do -
ruby/trunk/lib/adl_parser/test/parser_test.rb
r291 r307 3 3 class ADLParserTest < Test::Unit::TestCase 4 4 def setup 5 @parser = ::OpenE HR::ADL::Parser.new5 @parser = ::OpenEhr::ADL::Parser.new 6 6 end 7 7 8 8 must "assert parser instance" do 9 assert_instance_of ::OpenE HR::ADL::Parser,@parser10 end 11 12 must " test_archetype_id.adl be properly parsed" do13 file = File.read("#{TEST_ROOT_DIR}/adl/ test_archetype_id.adl")9 assert_instance_of ::OpenEhr::ADL::Parser,@parser 10 end 11 12 must "openEHR-EHR-SECTION.summary.v1.adl be properly parsed" do 13 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.summary.v1.adl") 14 14 assert_nothing_raised do 15 15 ast = @parser.parse(file, 'openEHR-EHR-SECTION.summary.v1') 16 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id16 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 17 17 end 18 18 end … … 22 22 assert_nothing_raised do 23 23 ast = @parser.parse(file, 'openEHR-EHR-ACTION.imaging.v1') 24 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id24 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 25 25 end 26 26 end … … 30 30 assert_nothing_raised do 31 31 ast = @parser.parse(file, 'openEHR-EHR-ACTION.referral.v1') 32 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id32 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 33 33 end 34 34 end … … 38 38 assert_nothing_raised do 39 39 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.auscultation-chest.v1') 40 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id40 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 41 41 end 42 42 end … … 46 46 assert_nothing_raised do 47 47 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.auscultation.v1') 48 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id48 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 49 49 end 50 50 end … … 55 55 assert_nothing_raised do 56 56 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-abdomen.v1') 57 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id57 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 58 58 end 59 59 end … … 63 63 assert_nothing_raised do 64 64 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-chest.v1') 65 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id65 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 66 66 end 67 67 end … … 71 71 assert_nothing_raised do 72 72 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1') 73 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id73 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 74 74 end 75 75 end … … 79 79 assert_nothing_raised do 80 80 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1') 81 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id81 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 82 82 end 83 83 end … … 87 87 assert_nothing_raised do 88 88 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1') 89 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id89 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 90 90 end 91 91 end … … 95 95 assert_nothing_raised do 96 96 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic.v1') 97 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id97 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 98 98 end 99 99 end … … 103 103 assert_nothing_raised do 104 104 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1') 105 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id105 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 106 106 end 107 107 end … … 111 111 assert_nothing_raised do 112 112 ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.discharge.v1draft') 113 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id113 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 114 114 end 115 115 end … … 119 119 assert_nothing_raised do 120 120 ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.encounter.v1draft') 121 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id121 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 122 122 end 123 123 end … … 127 127 assert_nothing_raised do 128 128 ast = @parser.parse(file, 'openEHR-EHR-INSTRUCTION.medication.v1') 129 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id129 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 130 130 end 131 131 end … … 135 135 assert_nothing_raised do 136 136 ast = @parser.parse(file, 'openEHR-EHR-INSTRUCTION.referral.v1') 137 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id137 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 138 138 end 139 139 end … … 143 143 assert_nothing_raised do 144 144 ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.Laboratory_request.v1') 145 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id145 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 146 146 end 147 147 end … … 152 152 assert_nothing_raised do 153 153 ast = @parser.parse(file, 'openEHR-EHR-OBSERVATION.apgar.v1') 154 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id154 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 155 155 end 156 156 end … … 160 160 assert_nothing_raised do 161 161 ast = @parser.parse(file, 'openEHR-EHR-SECTION.findings.v1') 162 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id162 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 163 163 end 164 164 end … … 168 168 assert_nothing_raised do 169 169 ast = @parser.parse(file, 'openEHR-EHR-SECTION.reason_for_encounter.v1') 170 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id170 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 171 171 end 172 172 end … … 177 177 assert_nothing_raised do 178 178 ast = @parser.parse(file, 'openEHR-EHR-SECTION.vital_signs.v1') 179 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id179 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 180 180 end 181 181 end … … 187 187 # assert_nothing_raised do 188 188 # ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.dimensions-circumference.v1') 189 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id189 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 190 190 # end 191 191 # end … … 195 195 # assert_nothing_raised do 196 196 # ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.dimensions.v1') 197 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id197 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 198 198 # end 199 199 # end … … 203 203 # assert_nothing_raised do 204 204 # ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-fetus.v1') 205 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id205 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 206 206 # end 207 207 # end … … 211 211 # assert_nothing_raised do 212 212 # ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1') 213 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id213 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 214 214 # end 215 215 # end … … 219 219 # assert_nothing_raised do 220 220 # ast = @parser.parse(file, 'openEHR-EHR-EVALUATION.adverse.v1') 221 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id221 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 222 222 # end 223 223 # end … … 226 226 # assert_nothing_raised do 227 227 # ast = @parser.parse(file, 'openEHR-EHR-OBSERVATION.body_mass_index.v1') 228 # assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID, ast.archetype_id228 # assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id 229 229 # end 230 230 # end -
ruby/trunk/lib/adl_parser/test/scanner_test.rb
r291 r307 3 3 class ADLScannerTest < Test::Unit::TestCase 4 4 def setup 5 @scanner = OpenE HR::ADL::Scanner::ADLScanner.new([:adl], "filename")5 @scanner = OpenEhr::ADL::Scanner::ADLScanner.new([:adl], "filename") 6 6 end 7 7 8 must "assert OpenE HR::ADL::Scanner::ADLScanner scanner instance" do9 assert_instance_of OpenE HR::ADL::Scanner::ADLScanner, @scanner8 must "assert OpenEhr::ADL::Scanner::ADLScanner scanner instance" do 9 assert_instance_of OpenEhr::ADL::Scanner::ADLScanner, @scanner 10 10 end 11 11 … … 20 20 @scanner.scan("openEHR-EHR-OBSERVATION.body_mass_index.v1") do |sym, val| 21 21 assert_equal :V_ARCHETYPE_ID,sym 22 assert_instance_of OpenE HR::RM::Support::Identification::Archetype_ID,val22 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID,val 23 23 end 24 24 end … … 40 40 class CADLScannerTest < Test::Unit::TestCase 41 41 def setup 42 @scanner = OpenE HR::ADL::Scanner::CADLScanner.new([:cadl], "filename")42 @scanner = OpenEhr::ADL::Scanner::CADLScanner.new([:cadl], "filename") 43 43 end 44 44 45 must "assert OpenE HR::ADL::Scanner::CADLScanner scanner instance" do46 assert_instance_of OpenE HR::ADL::Scanner::CADLScanner, @scanner45 must "assert OpenEhr::ADL::Scanner::CADLScanner scanner instance" do 46 assert_instance_of OpenEhr::ADL::Scanner::CADLScanner, @scanner 47 47 end 48 48 … … 80 80 class DADLScannerTest < Test::Unit::TestCase 81 81 def setup 82 @scanner = OpenE HR::ADL::Scanner::DADLScanner.new([:dadl], "filename")82 @scanner = OpenEhr::ADL::Scanner::DADLScanner.new([:dadl], "filename") 83 83 end 84 84 -
ruby/trunk/lib/adl_parser/test/shell_test.rb
r291 r307 3 3 class ShellADLValidatorTest < Test::Unit::TestCase 4 4 def setup 5 @adl_validator = ::OpenE HR::Application::ADLValidator.new(::OpenEHR::ADL::Validator.new(::OpenEHR::ADL::Parser.new))5 @adl_validator = ::OpenEhr::Application::ADLValidator.new(::OpenEhr::ADL::Validator.new(::OpenEhr::ADL::Parser.new)) 6 6 end 7 7 8 8 must "assert application validator instance" do 9 assert_instance_of ::OpenE HR::Application::ADLValidator,@adl_validator9 assert_instance_of ::OpenEhr::Application::ADLValidator,@adl_validator 10 10 end 11 11 -
ruby/trunk/lib/adl_parser/test/test_helper.rb
r261 r307 5 5 require "rubygems" 6 6 require 'adl_parser.rb' 7 require 'adl_scanner.rb' 8 require 'rm.rb' 9 require 'am.rb' 7 #require 'adl_scanner.rb' 8 #require 'open_ehr' 9 #require 'rm.rb' 10 #require 'am.rb' 10 11 11 12 -
ruby/trunk/lib/adl_parser/test/validator_test.rb
r291 r307 4 4 class ADLValidatorTest < Test::Unit::TestCase 5 5 def setup 6 @validator = ::OpenE HR::ADL::Validator.new(::OpenEHR::ADL::Parser.new)6 @validator = ::OpenEhr::ADL::Validator.new(::OpenEhr::ADL::Parser.new) 7 7 end 8 8 9 9 must "assert adl validator instance" do 10 assert_instance_of ::OpenE HR::ADL::Validator,@validator10 assert_instance_of ::OpenEhr::ADL::Validator,@validator 11 11 end 12 12
Note:
See TracChangeset
for help on using the changeset viewer.