Ignore:
Timestamp:
Oct 18, 2009, 12:06:41 AM (15 years ago)
Author:
Tatsukawa, Akimichi
Message:

commit from Pittsburgh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/adl_parser/lib/adl_scanner.rb

    r320 r321  
    519519              when /\A\+/   # +
    520520                yield :Plus_code, :Plus_code
     521              when /\A\=/   # =
     522                yield :Equal_code, :Equal_code
    521523              when /\A\*/   # *
    522524                yield :Star_code, :Star_code
     
    542544                yield :Right_parenthesis_code, :Right_parenthesis_code
    543545              when /\A\//   # /
    544 #                yield :Slash_code, :Slash_code
    545 #              when /\A\// #V_REGEXP /
    546                 assert_at(__FILE__,__LINE__){@adl_type.last != :regexp}
    547                 #@in_regexp = true
     546                @@logger.debug("CADLScanner#scan: Slash_code #{@filename}:#{@lineno}")
     547                yield :Slash_code, :Slash_code
     548# #                yield :Slash_code, :Slash_code
     549# #              when /\A\// #V_REGEXP /
     550#                 assert_at(__FILE__,__LINE__){@adl_type.last != :regexp}
     551#                 #@in_regexp = true
     552#                 @adl_type.push(:regexp)
     553# #                yield :START_REGEXP_BLOCK, :START_REGEXP_BLOCK
     554
     555              when /\A\{\// # REGEXP_HEAD {/
     556                assert_at(__FILE__,__LINE__){ @adl_type.last != :regexp}
     557                #                   @in_regexp = true
     558                @@logger.debug("CADLScanner#scan: REGEXP_HEAD:")
     559                @adl_type.push(:cadl)
    548560                @adl_type.push(:regexp)
    549 #                yield :START_REGEXP_BLOCK, :START_REGEXP_BLOCK
    550                 yield :Slash_code, :Slash_code
    551 
    552 #               when /\A\{\// #V_REGEXP {/
    553 #                 if @adl_type.last != :regexp
    554 #                   @in_regexp = true
    555 #                   @adl_type.push(:regexp)
    556 #                   yield :START_REGEXP_BLOCK, :START_REGEXP_BLOCK
    557 #                 else
    558 #                   assert_at(__FILE__,__LINE__){false}
    559 #                 end
     561                #                   yield :START_REGEXP_BLOCK, :START_REGEXP_BLOCK
     562                yield :REGEXP_HEAD, :REGEXP_HEAD
    560563              when /\A\{/   # {
    561564                @adl_type.push(:cadl)
    562                 @@logger.debug("CADLScanner#scan: entering cADL at #{@filename}:#{@lineno}")
     565                #@@logger.debug("CADLScanner#scan: entering cADL at #{@filename}:#{@lineno}")
    563566                yield :SYM_START_CBLOCK, :SYM_START_CBLOCK
    564567              when /\A\}/   # }
     
    628631              when /\AP[yY]?[mM]?[wW]?[dD]?/   #V_ISO8601_DURATION_CONSTRAINT_PATTERN
    629632                yield :V_ISO8601_DURATION_CONSTRAINT_PATTERN, $&
    630               when /\A[a-zA-Z][a-zA-Z0-9_]*/
     633              when /\A[a-z][a-zA-Z0-9_]*/
    631634                word = $&.dup
    632635                if RESERVED[word.downcase]
    633                   @@logger.debug("CADLScanner#scan: RESERVED = #{word} at #{@filename}:#{@lineno}")
     636                  @@logger.debug("ADLScanner#scan: RESERVED = #{RESERVED[word]} at #{@filename}:#{@lineno}")
    634637                  yield RESERVED[word.downcase], RESERVED[word.downcase]
    635638                else
     
    654657              when /\A[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9](Z|[+-][0-9]{4})?/
    655658                yield :V_ISO8601_EXTENDED_DATE_TIME, $&
    656               when /\A[[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9](Z|[+-][0-9]{4})?/
     659              when /\A[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9](Z|[+-][0-9]{4})?/
    657660                yield :V_ISO8601_EXTENDED_DATE_TIME, $&
    658               when /\A[0-2][0-9]:[0-6][0-9]:[0-6][0-9](,[0-9]+)?(Z|[+-][0-9]{4})?|[0-2][0-9]:[0-6][0-9](Z|[+-][0-9]{4})? /   #V_ISO8601_EXTENDED_TIME hh:mm:ss[,sss][Z|+/-nnnn]
     661              when /\A[0-2][0-9]:[0-6][0-9]:[0-6][0-9](,[0-9]+)?(Z|[+-][0-9]{4})?/   #V_ISO8601_EXTENDED_TIME hh:mm:ss[,sss][Z|+/-nnnn]
     662                yield :V_ISO8601_EXTENDED_TIME, $&
     663              when /\A[0-2][0-9]:[0-6][0-9](Z|[+-][0-9]{4})?/   #V_ISO8601_EXTENDED_TIME hh:mm:ss[,sss][Z|+/-nnnn]
    659664                yield :V_ISO8601_EXTENDED_TIME, $&
    660665              when /\A[0-9]{4}-[0-1][0-9]-[0-3][0-9]/   #V_ISO8601_EXTENDED_DATE YYYY-MM-DD
     
    696701              end
    697702            when :term_constraint
    698               @@logger.debug("Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}")
    699703              term_constraint_scanner = OpenEhr::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename, @lineno)
    700704              data = term_constraint_scanner.scan(data) do |sym, val|
     
    726730            when :regexp
    727731              case data
    728               when /\A\// #V_REGEXP /
    729                 assert_at(__FILE__,__LINE__){@adl_type.last == :regexp}
    730                 #@in_regexp = false
    731                 @adl_type.pop
    732                 yield :END_REGEXP_BLOCK, :END_REGEXP_BLOCK
     732# #              when /\A\// #V_REGEXP /
     733#               when /\A([^\/]+)\// #V_REGEXP
     734#                 assert_at(__FILE__,__LINE__){@adl_type.last == :regexp}
     735#                 #@in_regexp = false
     736#                 @adl_type.pop
     737#                 @@logger.debug("#{__FILE__}:#{__LINE__}: RegexScanner::scan  $1 = #{$1.inspect}")
     738# #                yield :END_REGEXP_BLOCK, :END_REGEXP_BLOCK
     739#                 yield :V_REGEXP,  $1
    733740#               when /\A\/\}/ #V_REGEXP /
    734741#                 if @adl_type.last == :regexp
     
    740747#                 end
    741748#              when /\A(.*)(\/\})/ #V_REGEXP /}
    742               when /\A([^\/]+)/ #V_REGEXP
     749#              when /\A(.*)\/\}/ # REGEXP_BODY
     750              when /\A(.*)\// # REGEXP_BODY
     751                @adl_type.pop
     752                @@logger.debug("#{__FILE__}:#{__LINE__}: RegexScanner::scan REGEXP_BODY = #{$1}")
    743753                yield :REGEXP_BODY, $1
    744 #              else
    745 #                raise "should not happen at #{data}"
    746754              end
    747755              data = $' # variable $' receives the string after the match
Note: See TracChangeset for help on using the changeset viewer.