Ignore:
File:
1 edited

Legend:

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

    r20 r26  
    115115              Yaparc::Apply.new(
    116116                                Yaparc::Alt.new(Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?T([0-9]+|[hH])?([0-9]+|[mM])?([0-9]+|[sS])?/),
    117                                                 Yaparc::Regex.new(/AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match|
    118 #                                 Yaparc::Alt.new(Yaparc::Regex.new(/\AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?T([0-9]+[hH])?([0-9]+[mM])?([0-9]+[sS])?/),
    119 #                                                 Yaparc::Regex.new(/AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?/))) do |match|
     117                                                Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match|
    120118                LOG.info("V_ISO8601_DURATION: #{match}")
    121119                [:V_ISO8601_DURATION, match]
     
    160158            @parser = lambda do |input|
    161159              reserved_parsers = OpenEHR::ADL::Scanner::DADL::RESERVED.map do |keyword|
    162                 Yaparc::Tokenize.new(Yaparc::Literal.new(keyword[0], false))
     160                Yaparc::Tokenize.new(
     161                                     Yaparc::Literal.new(keyword[0], false)
     162                                     )
    163163              end
    164164              Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match|
     
    248248        end
    249249
     250        #V_ISO8601_DURATION_CONSTRAINT_PATTERN
     251        class V_ISO8601_DURATION_CONSTRAINT_PATTERN
     252          include Yaparc::Parsable
     253          def initialize
     254            @parser = lambda do |input|
     255              Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/),
     256                                                Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match|
     257                OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")
     258                [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match]
     259              end
     260            end
     261          end
     262        end
     263
    250264        #V_C_DOMAIN_TYPE /\A[A-Z][a-zA-Z0-9_]*[ \n]*\</
    251265        class V_C_DOMAIN_TYPE
     
    270284                              OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new,
    271285                              V_C_DOMAIN_TYPE.new,
     286                              V_ISO8601_DURATION_CONSTRAINT_PATTERN.new,
    272287                              Reserved.new,
    273288                              OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,
Note: See TracChangeset for help on using the changeset viewer.