Changeset 261 for ruby/trunk/lib/adl_parser/lib/adl_scanner.rb
- Timestamp:
- Sep 14, 2009, 5:12:29 PM (15 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/lib/adl_scanner.rb
r258 r261 8 8 module Scanner 9 9 module Common 10 class START_TERM_CODE_CONSTRAINT 11 include Yaparc::Parsable 12 def initialize 13 @parser = lambda do |input| 14 Yaparc::Apply.new(Yaparc::Regex.new(/[ \t\n]*\[([a-zA-Z0-9\(\)\._\-]+)::[ \t\n]*/)) do |match| 15 OpenEHR::LOG.info("START_TERM_CODE_CONSTRAINT: #{match}") 16 [:START_TERM_CODE_CONSTRAINT, match] 17 end 18 end 19 end 20 end 21 22 # /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 10 23 class V_QUALIFIED_TERM_CODE_REF 11 24 include Yaparc::Parsable … … 13 26 @parser = lambda do |input| 14 27 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/)) do |match| 15 OpenEHR::LOG. debug("V_QUALIFIED_TERM_CODE_REF: #{match}")28 OpenEHR::LOG.info("V_QUALIFIED_TERM_CODE_REF: #{match}") 16 29 [:V_QUALIFIED_TERM_CODE_REF, match] 17 30 end … … 25 38 @parser = lambda do |input| 26 39 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/)) do |match| 27 OpenEHR::LOG. debug("V_TERM_CODE_REF: #{match}")40 OpenEHR::LOG.info("V_TERM_CODE_REF: #{match}") 28 41 [:V_LOCAL_TERM_CODE_REF, match] 29 42 end … … 37 50 @parser = lambda do |input| 38 51 Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/)) do |match| 39 OpenEHR::LOG. debug("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}")52 OpenEHR::LOG.info("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}") 40 53 [:ERR_V_QUALIFIED_TERM_CODE_REF, match] 41 54 end … … 49 62 @parser = lambda do |input| 50 63 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*/)) do |match| 51 OpenEHR::LOG. debug("V_TYPE_IDENTIFIER: #{match}")64 OpenEHR::LOG.info("V_TYPE_IDENTIFIER: #{match}") 52 65 [:V_TYPE_IDENTIFIER, match] 53 66 end … … 61 74 @parser = lambda do |input| 62 75 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/)) do |match| 63 OpenEHR::LOG. debug("V_GENERIC_TYPE_IDENTIFIER: #{match}")76 OpenEHR::LOG.info("V_GENERIC_TYPE_IDENTIFIER: #{match}") 64 77 [:V_GENERIC_TYPE_IDENTIFIER, match] 65 78 end … … 74 87 @parser = lambda do |input| 75 88 Yaparc::Apply.new(Yaparc::Regex.new(/\Aa[ct][0-9.]+/)) do |match| 76 OpenEHR::LOG. debug("V_LOCAL_CODE: #{match}")89 OpenEHR::LOG.info("V_LOCAL_CODE: #{match}") 77 90 [:V_LOCAL_CODE, match] 78 91 end … … 86 99 @parser = lambda do |input| 87 100 Yaparc::Apply.new(Yaparc::Regex.new(/\A"([^"]*)"/m)) do |match| 88 OpenEHR::LOG. debug("V_STRING: #{match}")101 OpenEHR::LOG.info("V_STRING: #{match}") 89 102 [:V_STRING, match] 90 103 end … … 98 111 @parser = lambda do |input| 99 112 Yaparc::Apply.new(Yaparc::Regex.new(/\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+/)) do |match| 100 OpenEHR::LOG. debug("V_REAL: #{match}")113 OpenEHR::LOG.info("V_REAL: #{match}") 101 114 [:V_REAL, match] 102 115 end … … 113 126 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])?/), 114 127 Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match| 115 OpenEHR::LOG. debug("V_ISO8601_DURATION: #{match}")128 OpenEHR::LOG.info("V_ISO8601_DURATION: #{match}") 116 129 [:V_ISO8601_DURATION, match] 117 130 end … … 129 142 'infinity' => :SYM_INFINITY # [Ii][Nn][Ff][Ii][Nn][Ii][Tt][Yy] -- -> SYM_INFINITY 130 143 } 131 144 # 145 # DADL::RootScanner 146 # 132 147 class RootScanner 133 148 include Yaparc::Parsable … … 143 158 OpenEHR::ADL::Scanner::Common::V_LOCAL_CODE.new, 144 159 OpenEHR::ADL::Scanner::Common::V_REAL.new, 145 OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new 160 OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new#, 161 #OpenEHR::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new 146 162 ) 147 163 end 148 164 end 149 165 end 150 =begin <DADL::Reserved class> 151 =end 166 167 # <DADL::Reserved class> 152 168 class Reserved 153 169 include Yaparc::Parsable … … 161 177 end 162 178 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 163 OpenEHR::LOG. debug("Reserved: #{match}")179 OpenEHR::LOG.info("Reserved: #{match}") 164 180 [OpenEHR::ADL::Scanner::DADL::RESERVED[match], OpenEHR::ADL::Scanner::DADL::RESERVED[match]] 165 181 end, 166 182 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 167 OpenEHR::LOG. debug("V_ATTRIBUTE_IDENTIFIER: #{match}")183 OpenEHR::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 168 184 [:V_ATTRIBUTE_IDENTIFIER, match] 169 185 end) … … 171 187 end 172 188 end 173 174 175 176 189 end # of DADL 177 190 … … 213 226 @parser = lambda do |input| 214 227 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| 215 OpenEHR::LOG. debug("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")228 OpenEHR::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}") 216 229 [:V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN, match] 217 230 end … … 226 239 @parser = lambda do |input| 227 240 Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]/)) do |match| 228 OpenEHR::LOG. debug("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")241 OpenEHR::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}") 229 242 [:V_ISO8601_DATE_CONSTRAINT_PATTERN, match] 230 243 end … … 239 252 @parser = lambda do |input| 240 253 Yaparc::Apply.new(Yaparc::Regex.new(/\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match| 241 OpenEHR::LOG. debug("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")254 OpenEHR::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}") 242 255 [:V_ISO8601_TIME_CONSTRAINT_PATTERN, match] 243 256 end … … 253 266 Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/), 254 267 Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match| 255 OpenEHR::LOG. debug("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")268 OpenEHR::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}") 256 269 [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match] 257 270 end … … 266 279 @parser = lambda do |input| 267 280 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*[ \n]*\</)) do |match| 268 OpenEHR::LOG. debug("V_C_DOMAIN_TYPE: #{match}")281 OpenEHR::LOG.info("V_C_DOMAIN_TYPE: #{match}") 269 282 [:START_V_C_DOMAIN_TYPE_BLOCK, match] 270 283 end … … 273 286 end 274 287 288 # 289 # CADL::RootScanner 290 # 275 291 class RootScanner 276 292 include Yaparc::Parsable … … 292 308 OpenEHR::ADL::Scanner::Common::V_LOCAL_CODE.new, 293 309 OpenEHR::ADL::Scanner::Common::V_REAL.new, 294 OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new 310 OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new#, 311 #OpenEHR::ADL::Scanner::Common::START_TERM_CODE_CONSTRAINT.new 295 312 ) 296 313 end … … 310 327 end 311 328 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 312 OpenEHR::LOG. debug("Reserved: #{match}")329 OpenEHR::LOG.info("Reserved: #{match}") 313 330 [OpenEHR::ADL::Scanner::CADL::RESERVED[match], OpenEHR::ADL::Scanner::CADL::RESERVED[match]] 314 331 end, 315 332 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 316 OpenEHR::LOG. debug("V_ATTRIBUTE_IDENTIFIER: #{match}")333 OpenEHR::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 317 334 [:V_ATTRIBUTE_IDENTIFIER, match] 318 335 end)
Note:
See TracChangeset
for help on using the changeset viewer.