Ignore:
Timestamp:
Apr 26, 2008, 8:04:21 PM (16 years ago)
Author:
Tatsukawa, Akimichi
Message:

begin to add scanner module using yaparc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/adl_parser/lib/parser.y

    r16 r17  
    1 
    21
    32class OpenEHR::ADL::Parser
     
    635634
    636635$:.unshift File.join(File.dirname(__FILE__))
     636require 'logger'
    637637require 'lib/util.rb'
     638require 'lib/scanner.rb'
    638639$DEBUG = true
    639640
    640641
     642
    641643---- inner
     644
     645@@log = Logger.new('log/parser.log')
     646@@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new
     647
    642648###----------/* keywords */ ---------------------------------------------
    643649@@adl_reserved = {
     
    10961102    when :dadl
    10971103#      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
    10981116      case data
    10991117      when /\A\n/ # carriage return
     
    11841202        end
    11851203        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, $&
    11881208      when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
    11891209        yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
    1190       when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/   #V_LOCAL_TERM_CODE_REF
    1191         yield :V_LOCAL_TERM_CODE_REF, $&
    11921210      when /\A\[/   # [
    11931211        yield :Left_bracket_code, :Left_bracket_code
Note: See TracChangeset for help on using the changeset viewer.