Changeset 167 for ruby/branches/0.0/adl_parser/lib/scanner.rb
- Timestamp:
- Aug 6, 2009, 1:20:05 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.0/adl_parser/lib/scanner.rb
r33 r167 5 5 6 6 7 module OpenE HR7 module OpenEhr 8 8 module ADL 9 9 module Scanner … … 138 138 @parser = lambda do |input| 139 139 Yaparc::Alt.new(Reserved.new, 140 OpenE HR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,141 OpenE HR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new,142 OpenE HR::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new,143 OpenE HR::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new,144 OpenE HR::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new,145 OpenE HR::ADL::Scanner::Common::V_STRING.new,146 OpenE HR::ADL::Scanner::Common::V_LOCAL_CODE.new,147 OpenE HR::ADL::Scanner::Common::V_REAL.new,148 OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new140 OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new, 141 OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new, 142 OpenEhr::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new, 143 OpenEhr::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new, 144 OpenEhr::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new, 145 OpenEhr::ADL::Scanner::Common::V_STRING.new, 146 OpenEhr::ADL::Scanner::Common::V_LOCAL_CODE.new, 147 OpenEhr::ADL::Scanner::Common::V_REAL.new, 148 OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new 149 149 ) 150 150 end … … 157 157 def initialize 158 158 @parser = lambda do |input| 159 reserved_parsers = OpenE HR::ADL::Scanner::DADL::RESERVED.map do |keyword|159 reserved_parsers = OpenEhr::ADL::Scanner::DADL::RESERVED.map do |keyword| 160 160 Yaparc::Tokenize.new( 161 161 Yaparc::Literal.new(keyword[0]) … … 163 163 end 164 164 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 165 OpenE HR::ADL::Scanner::Common::LOG.info("Reserved: #{match}")166 [OpenE HR::ADL::Scanner::DADL::RESERVED[match], OpenEHR::ADL::Scanner::DADL::RESERVED[match]]165 OpenEhr::ADL::Scanner::Common::LOG.info("Reserved: #{match}") 166 [OpenEhr::ADL::Scanner::DADL::RESERVED[match], OpenEhr::ADL::Scanner::DADL::RESERVED[match]] 167 167 end, 168 168 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 169 OpenE HR::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")169 OpenEhr::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 170 170 [:V_ATTRIBUTE_IDENTIFIER, match] 171 171 end) … … 215 215 @parser = lambda do |input| 216 216 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| 217 OpenE HR::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")217 OpenEhr::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}") 218 218 [:V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN, match] 219 219 end … … 228 228 @parser = lambda do |input| 229 229 Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]/)) do |match| 230 OpenE HR::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")230 OpenEhr::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}") 231 231 [:V_ISO8601_DATE_CONSTRAINT_PATTERN, match] 232 232 end … … 241 241 @parser = lambda do |input| 242 242 Yaparc::Apply.new(Yaparc::Regex.new(/\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match| 243 OpenE HR::ADL::Scanner::Common::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")243 OpenEhr::ADL::Scanner::Common::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}") 244 244 [:V_ISO8601_TIME_CONSTRAINT_PATTERN, match] 245 245 end … … 255 255 Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/), 256 256 Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match| 257 OpenE HR::ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")257 OpenEhr::ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}") 258 258 [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match] 259 259 end … … 268 268 @parser = lambda do |input| 269 269 Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*[ \n]*\</)) do |match| 270 OpenE HR::ADL::Scanner::Common::LOG.info("V_C_DOMAIN_TYPE: #{match}")270 OpenEhr::ADL::Scanner::Common::LOG.info("V_C_DOMAIN_TYPE: #{match}") 271 271 [:START_V_C_DOMAIN_TYPE_BLOCK, match] 272 272 end … … 282 282 V_ISO8601_DATE_CONSTRAINT_PATTERN.new, 283 283 V_ISO8601_TIME_CONSTRAINT_PATTERN.new, 284 OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new,284 OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new, 285 285 V_C_DOMAIN_TYPE.new, 286 286 V_ISO8601_DURATION_CONSTRAINT_PATTERN.new, 287 287 Reserved.new, 288 OpenE HR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,289 OpenE HR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new,290 OpenE HR::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new,291 OpenE HR::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new,292 OpenE HR::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new,293 OpenE HR::ADL::Scanner::Common::V_STRING.new,294 OpenE HR::ADL::Scanner::Common::V_LOCAL_CODE.new,295 OpenE HR::ADL::Scanner::Common::V_REAL.new,296 OpenE HR::ADL::Scanner::Common::V_ISO8601_DURATION.new288 OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new, 289 OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new, 290 OpenEhr::ADL::Scanner::Common::ERR_V_QUALIFIED_TERM_CODE_REF.new, 291 OpenEhr::ADL::Scanner::Common::V_TYPE_IDENTIFIER.new, 292 OpenEhr::ADL::Scanner::Common::V_GENERIC_TYPE_IDENTIFIER.new, 293 OpenEhr::ADL::Scanner::Common::V_STRING.new, 294 OpenEhr::ADL::Scanner::Common::V_LOCAL_CODE.new, 295 OpenEhr::ADL::Scanner::Common::V_REAL.new, 296 OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new 297 297 ) 298 298 end … … 310 310 end 311 311 Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match| 312 OpenE HR::ADL::Scanner::Common::LOG.info("Reserved: #{match}")313 [OpenE HR::ADL::Scanner::CADL::RESERVED[match], OpenEHR::ADL::Scanner::CADL::RESERVED[match]]312 OpenEhr::ADL::Scanner::Common::LOG.info("Reserved: #{match}") 313 [OpenEhr::ADL::Scanner::CADL::RESERVED[match], OpenEhr::ADL::Scanner::CADL::RESERVED[match]] 314 314 end, 315 315 Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match| 316 OpenE HR::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")316 OpenEhr::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}") 317 317 [:V_ATTRIBUTE_IDENTIFIER, match] 318 318 end)
Note:
See TracChangeset
for help on using the changeset viewer.