Ignore:
Timestamp:
Sep 15, 2009, 1:50:46 AM (15 years ago)
Author:
Tatsukawa, Akimichi
Message:

refactoring adl scanners in object-oriented way in progress

File:
1 edited

Legend:

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

    r263 r265  
    11941194$:.unshift File.join(File.dirname(__FILE__))
    11951195require 'logger'
    1196 #require 'lib/adl_parser.rb'
    11971196require 'rubygems'
    11981197require 'adl_parser.rb'
     
    12801279###----------/* Scanner */ -----------------------------------------------
    12811280
     1281
    12821282def scan
    12831283  @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:")
     1284  adl_scanner = OpenEHR::ADL::Scanner::ADLScanner.new(@adl_type, @filename)
     1285  cadl_scanner = OpenEHR::ADL::Scanner::CADLScanner.new(@adl_type, @filename)
     1286  dadl_scanner = OpenEHR::ADL::Scanner::DADLScanner.new(@adl_type, @filename)
     1287  regex_scanner = OpenEHR::ADL::Scanner::RegexScanner.new(@adl_type, @filename)
     1288  term_constraint_scanner = OpenEHR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename)
     1289
    12841290  until @data.nil?  do
    12851291    case @adl_type.last
    12861292    when :adl
    1287       @data = scan_adl(@data) do |sym, val|
     1293      @data = adl_scanner.scan(@data) do |sym, val|
    12881294        yield sym, val
    12891295      end
    12901296    when :dadl
    1291       @data = scan_dadl(@data) do |sym, val|
     1297      @data = dadl_scanner.scan(@data) do |sym, val|
    12921298        yield sym, val
    12931299      end
    12941300    when :cadl
    1295       @data = scan_cadl(@data) do |sym, val|
     1301      @data = cadl_scanner.scan(@data) do |sym, val|
    12961302        yield sym, val
    12971303      end
    12981304    when :regexp
    1299       @data = scan_regexp(@data) do |sym, val|
     1305      @data = regex_scanner.scan(@data) do |sym, val|
    13001306        yield sym, val
    13011307      end
    13021308    when :term_constraint
    1303       @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}")
    1304       @data = scan_term_constraint(@data) do |sym, val|
     1309      @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{@data.inspect}")
     1310      @data = term_constraint_scanner.scan(@data) do |sym, val|
    13051311        yield sym, val
    13061312      end
     
    13131319  yield false, '$'
    13141320end # of scan
     1321
     1322### def scan
     1323###   @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:")
     1324 
     1325###   until @data.nil?  do
     1326###     case @adl_type.last
     1327###     when :adl
     1328###       @data = scan_adl(@data) do |sym, val|
     1329###         yield sym, val
     1330###       end
     1331###     when :dadl
     1332###       @data = scan_dadl(@data) do |sym, val|
     1333###         yield sym, val
     1334###       end
     1335###     when :cadl
     1336###       @data = scan_cadl(@data) do |sym, val|
     1337###         yield sym, val
     1338###       end
     1339###     when :regexp
     1340###       @data = scan_regexp(@data) do |sym, val|
     1341###         yield sym, val
     1342###       end
     1343###     when :term_constraint
     1344###       @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}")
     1345###       @data = scan_term_constraint(@data) do |sym, val|
     1346###         yield sym, val
     1347###       end
     1348###     else
     1349###       raise
     1350###     end
     1351###     @data = $' # variable $' receives the string after the match
     1352###   end
     1353###   yield :EOF, nil
     1354###   yield false, '$'
     1355### end # of scan
    13151356
    13161357def scan_adl(data)
Note: See TracChangeset for help on using the changeset viewer.