Changeset 49 for ruby/trunk/lib/adl_parser/lib/scanner.rb
- Timestamp:
- May 12, 2008, 10:53:25 PM (16 years ago)
- Location:
- ruby/trunk/lib/adl_parser/lib
- Files:
-
- 1 added
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/lib/scanner.rb
r47 r49 1 require 'logger'2 1 require 'rubygems' 3 2 gem 'yaparc' … … 9 8 module Scanner 10 9 module Common 11 LOG = Logger.new('log/scanner.log','daily')12 13 10 class V_QUALIFIED_TERM_CODE_REF 14 11 include Yaparc::Parsable … … 16 13 @parser = lambda do |input| 17 14 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/)) do |match| 18 LOG.info("V_QUALIFIED_TERM_CODE_REF: #{match}")15 OpenEHR::LOG.debug("V_QUALIFIED_TERM_CODE_REF: #{match}") 19 16 [:V_QUALIFIED_TERM_CODE_REF, match] 20 17 end … … 28 25 @parser = lambda do |input| 29 26 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/)) do |match| 30 LOG.info("V_TERM_CODE_REF: #{match}")27 OpenEHR::LOG.debug("V_TERM_CODE_REF: #{match}") 31 28 [:V_LOCAL_TERM_CODE_REF, match] 32 29 end … … 40 37 @parser = lambda do |input| 41 38 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/)) do |match| 42 LOG.info("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}")39 OpenEHR::LOG.debug("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}") 43 40 [:ERR_V_QUALIFIED_TERM_CODE_REF, match] 44 41 end … … 52 49 @parser = lambda do |input| 53 50 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*/)) do |match| 54 LOG.info("V_TYPE_IDENTIFIER: #{match}")51 OpenEHR::LOG.debug("V_TYPE_IDENTIFIER: #{match}") 55 52 [:V_TYPE_IDENTIFIER, match] 56 53 end … … 64 61 @parser = lambda do |input| 65 62 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/)) do |match| 66 LOG.info("V_GENERIC_TYPE_IDENTIFIER: #{match}")63 OpenEHR::LOG.debug("V_GENERIC_TYPE_IDENTIFIER: #{match}") 67 64 [:V_GENERIC_TYPE_IDENTIFIER, match] 68 65 end … … 77 74 @parser = lambda do |input| 78 75 Yaparc::Apply.new(Yaparc::Regex.new(/\Aa[ct][0-9.]+/)) do |match| 79 LOG.info("V_LOCAL_CODE: #{match}")76 OpenEHR::LOG.debug("V_LOCAL_CODE: #{match}") 80 77 [:V_LOCAL_CODE, match] 81 78 end … … 89 86 @parser = lambda do |input| 90 87 Yaparc::Apply.new(Yaparc::Regex.new(/\A"([^"]*)"/m)) do |match| 91 LOG.info("V_STRING: #{match}")88 OpenEHR::LOG.debug("V_STRING: #{match}") 92 89 [:V_STRING, match] 93 90 end … … 101 98 @parser = lambda do |input| 102 99 Yaparc::Apply.new(Yaparc::Regex.new(/\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+/)) do |match| 103 LOG.info("V_REAL: #{match}")100 OpenEHR::LOG.debug("V_REAL: #{match}") 104 101 [:V_REAL, match] 105 102 end … … 116 113 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 114 Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match| 118 LOG.info("V_ISO8601_DURATION: #{match}")115 OpenEHR::LOG.debug("V_ISO8601_DURATION: #{match}") 119 116 [:V_ISO8601_DURATION, match] 120 117 end … … 164 161 end 165 162 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 166 OpenEHR:: ADL::Scanner::Common::LOG.info("Reserved: #{match}")163 OpenEHR::LOG.debug("Reserved: #{match}") 167 164 [OpenEHR::ADL::Scanner::DADL::RESERVED[match], OpenEHR::ADL::Scanner::DADL::RESERVED[match]] 168 165 end, 169 166 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 170 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")167 OpenEHR::LOG.debug("V_ATTRIBUTE_IDENTIFIER: #{match}") 171 168 [:V_ATTRIBUTE_IDENTIFIER, match] 172 169 end) … … 216 213 @parser = lambda do |input| 217 214 Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X][T\t][hH?X][hH?X]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match| 218 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")215 OpenEHR::LOG.debug("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}") 219 216 [:V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN, match] 220 217 end … … 229 226 @parser = lambda do |input| 230 227 Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]/)) do |match| 231 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")228 OpenEHR::LOG.debug("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}") 232 229 [:V_ISO8601_DATE_CONSTRAINT_PATTERN, match] 233 230 end … … 242 239 @parser = lambda do |input| 243 240 Yaparc::Apply.new(Yaparc::Regex.new(/\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match| 244 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")241 OpenEHR::LOG.debug("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}") 245 242 [:V_ISO8601_TIME_CONSTRAINT_PATTERN, match] 246 243 end … … 256 253 Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/), 257 254 Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match| 258 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")255 OpenEHR::LOG.debug("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}") 259 256 [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match] 260 257 end … … 269 266 @parser = lambda do |input| 270 267 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*[ \n]*\</)) do |match| 271 OpenEHR:: ADL::Scanner::Common::LOG.info("V_C_DOMAIN_TYPE: #{match}")268 OpenEHR::LOG.debug("V_C_DOMAIN_TYPE: #{match}") 272 269 [:START_V_C_DOMAIN_TYPE_BLOCK, match] 273 270 end … … 313 310 end 314 311 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 315 OpenEHR:: ADL::Scanner::Common::LOG.info("Reserved: #{match}")312 OpenEHR::LOG.debug("Reserved: #{match}") 316 313 [OpenEHR::ADL::Scanner::CADL::RESERVED[match], OpenEHR::ADL::Scanner::CADL::RESERVED[match]] 317 314 end, 318 315 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 319 OpenEHR:: ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")316 OpenEHR::LOG.debug("V_ATTRIBUTE_IDENTIFIER: #{match}") 320 317 [:V_ATTRIBUTE_IDENTIFIER, match] 321 318 end)
Note:
See TracChangeset
for help on using the changeset viewer.