Changeset 168 for ruby/branches/0.0/adl_parser/lib/scanner.rb
- Timestamp:
- Aug 6, 2009, 9:06:59 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.0/adl_parser/lib/scanner.rb
r167 r168 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.