Changeset 17 for ruby/trunk/adl_parser
- Timestamp:
- Apr 26, 2008, 8:04:21 PM (16 years ago)
- Location:
- ruby/trunk/adl_parser
- Files:
-
- 3 added
- 4 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/adl_parser/Rakefile
r4 r17 36 36 37 37 desc "Whole Unit tests" 38 task 'test' => ['test:shell', 'test:validator', 'test:parser' ]38 task 'test' => ['test:shell', 'test:validator', 'test:parser', 'test:scanner'] 39 39 40 40 … … 60 60 end 61 61 62 Rake::TestTask.new('test:scanner') do |t| 63 t.libs = ["lib"] 64 t.pattern = ['tests/scanner_test.rb'] 65 t.warning = true 66 t.verbose = true 67 end 68 62 69 63 70 Rake::RDocTask.new('rdoc') do |t| … … 71 78 s.name = 'adl_parser' 72 79 s.author = 'Akimichi Tatsukawa' 73 s.version = '0.0. 1'80 s.version = '0.0.2' 74 81 s.summary = 'ADL parser' 75 82 s.email = 'akimichi_tatsukawa@nifty.com' … … 83 90 s.has_rdoc = true 84 91 s.extra_rdoc_files = ["README"] 92 s.add_dependency("yaparc", ">= 0.2.0") 85 93 end 86 94 -
ruby/trunk/adl_parser/lib/parser.rb
r16 r17 10 10 11 11 $:.unshift File.join(File.dirname(__FILE__)) 12 require 'logger' 12 13 require 'lib/util.rb' 14 require 'lib/scanner.rb' 13 15 $DEBUG = true 14 16 15 17 16 18 19 17 20 module OpenEHR 18 21 … … 21 24 class Parser < Racc::Parser 22 25 23 module_eval <<'..end lib/parser.y modeval..id35ef94ed29', 'lib/parser.y', 642 26 module_eval <<'..end lib/parser.y modeval..idbb16065644', 'lib/parser.y', 644 27 28 @@log = Logger.new('log/parser.log') 29 @@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new 30 24 31 ###----------/* keywords */ --------------------------------------------- 25 32 @@adl_reserved = { … … 478 485 when :dadl 479 486 # puts "Entering scan_dadl" 487 case scanned = @@dadl_scanner.parse(data) 488 when Yaparc::Result::OK 489 yield scanned.value 490 data = scanned.input 491 ### when Yaparc::Result::Fail 492 ### raise "Scan Failed: #{scanned}" 493 ### when Yaparc::Result::Error 494 ### raise "Scan Error: #{scanned}" 495 else 496 497 end 498 480 499 case data 481 500 when /\A\n/ # carriage return … … 566 585 end 567 586 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 568 when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 569 yield :V_QUALIFIED_TERM_CODE_REF, $& 587 ### when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 588 ### yield :V_QUALIFIED_TERM_CODE_REF, $& 589 ### when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF 590 ### yield :V_LOCAL_TERM_CODE_REF, $& 570 591 when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF 571 592 yield :ERR_V_QUALIFIED_TERM_CODE_REF, $& 572 when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF573 yield :V_LOCAL_TERM_CODE_REF, $&574 593 when /\A\[/ # [ 575 594 yield :Left_bracket_code, :Left_bracket_code … … 774 793 775 794 776 ..end lib/parser.y modeval..id 35ef94ed29795 ..end lib/parser.y modeval..idbb16065644 777 796 778 797 ##### racc 1.4.5 generates ### … … 2010 2029 # reduce 18 omitted 2011 2030 2012 module_eval <<'.,.,', 'lib/parser.y', 7 42031 module_eval <<'.,.,', 'lib/parser.y', 73 2013 2032 def _reduce_19( val, _values, result ) 2014 2033 result = {:language => val[1]} … … 2039 2058 # reduce 30 omitted 2040 2059 2041 module_eval <<'.,.,', 'lib/parser.y', 11 12060 module_eval <<'.,.,', 'lib/parser.y', 110 2042 2061 def _reduce_31( val, _values, result ) 2043 2062 result = {:c_complex_object_id => {:type_identifier => val[0]}} … … 2046 2065 .,., 2047 2066 2048 module_eval <<'.,.,', 'lib/parser.y', 11 52067 module_eval <<'.,.,', 'lib/parser.y', 114 2049 2068 def _reduce_32( val, _values, result ) 2050 2069 result = {:c_complex_object_id => {:type_identifier => val[0], :V_LOCAL_TERM_CODE_REF => val[1]}} -
ruby/trunk/adl_parser/lib/parser.y
r16 r17 1 2 1 3 2 class OpenEHR::ADL::Parser … … 635 634 636 635 $:.unshift File.join(File.dirname(__FILE__)) 636 require 'logger' 637 637 require 'lib/util.rb' 638 require 'lib/scanner.rb' 638 639 $DEBUG = true 639 640 640 641 642 641 643 ---- inner 644 645 @@log = Logger.new('log/parser.log') 646 @@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new 647 642 648 ###----------/* keywords */ --------------------------------------------- 643 649 @@adl_reserved = { … … 1096 1102 when :dadl 1097 1103 # puts "Entering scan_dadl" 1104 case scanned = @@dadl_scanner.parse(data) 1105 when Yaparc::Result::OK 1106 yield scanned.value 1107 data = scanned.input 1108 ### when Yaparc::Result::Fail 1109 ### raise "Scan Failed: #{scanned}" 1110 ### when Yaparc::Result::Error 1111 ### raise "Scan Error: #{scanned}" 1112 else 1113 1114 end 1115 1098 1116 case data 1099 1117 when /\A\n/ # carriage return … … 1184 1202 end 1185 1203 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 1186 when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 1187 yield :V_QUALIFIED_TERM_CODE_REF, $& 1204 ### when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 1205 ### yield :V_QUALIFIED_TERM_CODE_REF, $& 1206 ### when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF 1207 ### yield :V_LOCAL_TERM_CODE_REF, $& 1188 1208 when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF 1189 1209 yield :ERR_V_QUALIFIED_TERM_CODE_REF, $& 1190 when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF1191 yield :V_LOCAL_TERM_CODE_REF, $&1192 1210 when /\A\[/ # [ 1193 1211 yield :Left_bracket_code, :Left_bracket_code -
ruby/trunk/adl_parser/tests/parser_test.rb
r16 r17 96 96 @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1.adl') 97 97 end 98 apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl')99 # assert_nothing_raised do100 result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl')101 assert_equal "", result102 # end98 # apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl') 99 # # assert_nothing_raised do 100 # result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl') 101 # assert_equal "", result 102 # # end 103 103 # evaluation = File.read('tests/openEHR-EHR-EVALUATION.adverse.v1.adl') 104 104 # assert_nothing_raised do
Note:
See TracChangeset
for help on using the changeset viewer.