Changeset 17 for ruby/trunk/adl_parser/lib/parser.rb
- Timestamp:
- Apr 26, 2008, 8:04:21 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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]}}
Note:
See TracChangeset
for help on using the changeset viewer.