Changeset 261 for ruby/trunk/lib/adl_parser
- Timestamp:
- Sep 14, 2009, 5:12:29 PM (15 years ago)
- Location:
- ruby/trunk/lib/adl_parser
- Files:
-
- 10 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/Rakefile
r164 r261 1 1 require 'rubygems' 2 #Gem::manage_gems3 2 require 'rake' 4 3 require 'rake/testtask' … … 26 25 end 27 26 end 28 29 30 27 31 28 desc "Generate TAGS by rtags." … … 85 82 candidates = Dir.glob("{bin,docs,lib,test,ext}/**/*") 86 83 s.files = candidates.delete_if do |item| 87 item.include?(".svn") || item.include?("rdoc") 84 item.include?(".svn") || item.include?("rdoc") || item.include?("log") 88 85 end 89 86 s.files = FileList['README', 'COPYING', 'Rakefile'] … … 92 89 s.extra_rdoc_files = ["README"] 93 90 s.add_dependency("yaparc", ">= 0.2.3") 94 s.add_dependency("openehr_models", ">= 0.0. 1")91 s.add_dependency("openehr_models", ">= 0.0.3") 95 92 end 96 93 … … 105 102 106 103 107 108 109 104 ### Local Variables: 110 105 ### mode:ruby -
ruby/trunk/lib/adl_parser/lib/adl_parser.rb
r49 r261 8 8 $:.unshift File.join(File.dirname(__FILE__)) 9 9 require 'logger' 10 require 'adl_scanner.rb' 10 11 11 12 module OpenEHR … … 18 19 LOG.level = Logger::WARN 19 20 end 20 21 22 21 23 22 … … 25 24 autoload :Parser, "parser.rb" 26 25 autoload :Validator, "validator.rb" 27 26 28 27 module Scanner 29 28 module DADL 30 autoload :RootScanner, "scanner.rb" 29 autoload :RootScanner, "adl_scanner.rb" 30 end 31 module CADL 32 autoload :RootScanner, "adl_scanner.rb" 31 33 end 32 34 end -
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) -
ruby/trunk/lib/adl_parser/lib/parser.rb
r258 r261 24 24 class Parser < Racc::Parser 25 25 26 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1 188)26 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1206) 27 27 28 28 def assert_at(file,line, message = "") … … 33 33 34 34 if $DEBUG 35 @@log = Logger.new('log/parser.log','daily')36 @@log .level = Logger::INFO35 @@logger = Logger.new('log/parser.log','daily') 36 @@logger.level = Logger::INFO 37 37 else 38 @@log = Logger.new(STDOUT)39 @@log .level = Logger::WARN38 @@logger = Logger.new(STDOUT) 39 @@logger.level = Logger::WARN 40 40 end 41 41 … … 102 102 103 103 def scan 104 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 104 105 until @data.nil? do 105 106 case @adl_type.last … … 120 121 yield sym, val 121 122 end 123 when :term_constraint 124 @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 125 @data = scan_term_constraint(@data) do |sym, val| 126 yield sym, val 127 end 122 128 else 123 129 raise … … 130 136 131 137 def scan_adl(data) 138 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_adl at #{@filename}:#{@lineno}: data = #{data.inspect}") 132 139 until data.nil? do 133 140 case @adl_type.last 134 141 when :adl 135 # puts "Entering scan_adl"136 142 case data 137 143 when /\A\n/ # carriage return … … 142 148 when /\A--.*\n/ # single line comment 143 149 @lineno += 1 144 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: COMMENT = #{$&} at #{@filename}:#{@lineno}")150 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 145 151 ; 146 152 when /\Adescription/ # description … … 148 154 when /\Adefinition/ # definition 149 155 yield :SYM_DEFINITION, :SYM_DEFINITION 150 # @adl_type.push(:cadl)151 156 ###----------/* symbols */ ------------------------------------------------- 152 157 when /\A[A-Z][a-zA-Z0-9_]*/ 153 158 yield :V_TYPE_IDENTIFIER, $& 154 159 # when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/ #V_ARCHETYPE_ID 155 when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v [0-9]+)/ #V_ARCHETYPE_ID160 when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v\w+)/ #V_ARCHETYPE_ID 156 161 object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6 157 162 archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id) … … 162 167 word = $& 163 168 if @@adl_reserved[word] 164 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: @@adl_reserved = #{@@adl_reserved[word]} at #{@filename}:#{@lineno}")169 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: @@adl_reserved = #{@@adl_reserved[word]} at #{@filename}:#{@lineno}") 165 170 yield @@adl_reserved[word], @@adl_reserved[word] 166 171 elsif #/\A[A-Z][a-zA-Z0-9_]*/ 167 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: V_ATTRIBUTE_IDENTIFIER = #{$&} at #{@filename}:#{@lineno}")172 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: V_ATTRIBUTE_IDENTIFIER = #{$&} at #{@filename}:#{@lineno}") 168 173 yield :V_ATTRIBUTE_IDENTIFIER, $& 169 174 end … … 188 193 else 189 194 adl_type = @adl_type.pop 190 # puts "Escaping #{adl_type}"191 195 assert_at(__FILE__,__LINE__){adl_type == :dadl} 192 196 yield :SYM_END_DBLOCK, :SYM_END_DBLOCK … … 194 198 when /\A\{/ # { 195 199 @adl_type.push(:cadl) 196 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}")200 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}") 197 201 yield :SYM_START_CBLOCK, :SYM_START_CBLOCK 198 202 when /\A\}/ # } … … 200 204 # puts "Escaping #{adl_type}" 201 205 assert_at(__FILE__,__LINE__){adl_type == :cadl} 202 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}")206 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}") 203 207 yield :SYM_END_CBLOCK, $& 204 208 when /\A\-/ # - … … 285 289 data = $' # variable $' receives the string after the match 286 290 when :dadl 287 # puts "Entering scan_dadl"288 291 data = scan_dadl(data) do |sym, val| 289 292 yield sym, val 290 293 end 291 294 when :cadl 292 # puts "Entering scan_cadl"293 295 data = scan_cadl(data) do |sym, val| 294 296 yield sym, val 295 297 end 296 298 when :regexp 297 # puts "Entering scan_regexp"298 299 data = scan_regexp(data) do |sym, val| 299 300 yield sym, val 300 301 end 301 302 when :term_constraint 302 # puts "Entering scan_term_constraint" 303 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 304 303 305 data = scan_term_constraint(data) do |sym, val| 304 306 yield sym, val … … 312 314 313 315 def scan_cadl(data) 316 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_cadl at #{@filename}:#{@lineno}: data = #{data.inspect}") 314 317 until data.nil? do 315 318 case @adl_type.last 316 319 when :cadl 317 # puts "Entering scan_cadl"318 320 case scanned = @@cadl_scanner.parse(data) 319 321 when Yaparc::Result::OK … … 336 338 when /\A--.*\n/ # single line comment 337 339 @lineno += 1 338 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: COMMENT = #{$&} at #{@filename}:#{@lineno}")340 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 339 341 ; 340 342 ###----------/* symbols */ ------------------------------------------------- … … 404 406 when /\A\{/ # { 405 407 @adl_type.push(:cadl) 406 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}")408 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}") 407 409 yield :SYM_START_CBLOCK, :SYM_START_CBLOCK 408 410 when /\A\}/ # } … … 410 412 # puts "Escaping #{adl_type}" 411 413 assert_at(__FILE__,__LINE__){adl_type == :cadl} 412 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}")414 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}") 413 415 yield :SYM_END_CBLOCK, :SYM_END_CBLOCK 414 416 when /\A\$/ # $ … … 419 421 yield :Question_mark_code, :Question_mark_code 420 422 when /\A\|/ # | 421 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}")423 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}") 422 424 if @in_interval 423 425 @in_interval = false … … 426 428 @in_interval = true 427 429 end 428 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}")430 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}") 429 431 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 430 432 431 when /\A\[[a-zA-Z0-9._\-]+::[a-zA-Z0-9._\-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 433 when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 434 # when /\A\[[a-zA-Z0-9._\-]+::[a-zA-Z0-9._\-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 432 435 yield :V_QUALIFIED_TERM_CODE_REF, $& 433 436 when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF 434 437 yield :ERR_V_QUALIFIED_TERM_CODE_REF, $& 435 when /\A\[([a-zA-Z0-9()._\-]+::[a-zA-Z0-9._\_-]+)\]/ 436 yield :V_TERM_CODE_CONSTRAINT, :V_TERM_CODE_CONSTRAINT 437 when /\A\[[a-zA-Z0-9\(\)\._\-]+::[ \t\n]*/ 438 when /\A\[([a-zA-Z0-9\(\)\._\-]+)::[ \t\n]*/ 438 439 @adl_type.push(:term_constraint) 439 yield :START_TERM_CODE_CONSTRAINT, $ &440 yield :START_TERM_CODE_CONSTRAINT, $1 440 441 when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF 441 442 yield :V_LOCAL_TERM_CODE_REF, $& … … 457 458 yield @@cadl_reserved[word.downcase], @@cadl_reserved[word.downcase] 458 459 else 459 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}:#{@lineno}")460 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}:#{@lineno}") 460 461 yield :V_ATTRIBUTE_IDENTIFIER, word #V_ATTRIBUTE_IDENTIFIER /\A[a-z][a-zA-Z0-9_]*/ 461 462 end … … 493 494 data = $' # variable $' receives the string after the match 494 495 when :adl 495 # puts "Entering scan_adl"496 496 data = scan_adl(data) do |sym, val| 497 497 yield sym, val 498 498 end 499 499 when :dadl 500 # puts "Entering scan_dadl"501 500 data = scan_dadl(data) do |sym, val| 502 501 yield sym, val 503 502 end 504 503 when :regexp 505 # puts "Entering scan_regexp"506 504 data = scan_regexp(data) do |sym, val| 507 505 yield sym, val 508 506 end 509 507 when :term_constraint 510 # puts "Entering scan_term_constraint" 508 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 509 511 510 data = scan_term_constraint(data) do |sym, val| 512 511 yield sym, val … … 519 518 520 519 def scan_dadl(data) 520 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_dadl at #{@filename}:#{@lineno}: data = #{data.inspect}") 521 521 until data.nil? do 522 522 case @adl_type.last 523 523 when :dadl 524 # puts "Entering scan_dadl"525 524 case scanned = @@dadl_scanner.parse(data) 526 525 when Yaparc::Result::OK … … 538 537 when /\A--.*\n/ # single line comment 539 538 @lineno += 1 540 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: COMMENT = #{$&} at #{@filename}:#{@lineno}")539 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 541 540 ; 542 541 ###----------/* symbols */ ------------------------------------------------- … … 569 568 elsif @in_c_domain_type == false 570 569 adl_type = @adl_type.pop 571 # puts "Escaping #{adl_type}"572 570 assert_at(__FILE__,__LINE__){adl_type == :dadl} 573 571 yield :SYM_END_DBLOCK, $& … … 610 608 yield :Question_mark_code, :Question_mark_code 611 609 when /\A\|/ # | 612 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}")610 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}") 613 611 if @in_interval 614 612 @in_interval = false … … 617 615 @in_interval = true 618 616 end 619 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}")617 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}") 620 618 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 621 619 ### when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] … … 666 664 data = $' # variable $' receives the string after the match 667 665 when :adl 668 # puts "Entering scan_adl"669 666 data = scan_adl(data) do |sym, val| 670 667 yield sym, val 671 668 end 672 669 when :cadl 673 # puts "Entering scan_cadl"674 670 data = scan_cadl(data) do |sym, val| 675 671 yield sym, val … … 681 677 end 682 678 when :term_constraint 683 # puts "Entering scan_term_constraint" 679 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 680 684 681 data = scan_term_constraint(data) do |sym, val| 685 682 yield sym, val … … 692 689 693 690 def scan_regexp(data) 691 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_regexp at #{@filename}:#{@lineno}: data = #{data.inspect}") 694 692 until data.nil? do 695 693 case @adl_type.last 696 694 when :regexp 697 # puts "Entering scan_regexp"698 695 case data 699 696 when /\A\/\}/ #V_REGEXP … … 719 716 data = $' # variable $' receives the string after the match 720 717 when :adl 721 # puts "Entering scan_adl"722 718 data = scan_adl(data) do |sym, val| 723 719 yield sym, val 724 720 end 725 721 when :dadl 726 # puts "Entering scan_dadl"727 722 data = scan_dadl(data) do |sym, val| 728 723 yield sym, val 729 724 end 730 725 when :cadl 731 # puts "Entering scan_cadl"732 726 data = scan_cadl(data) do |sym, val| 733 727 yield sym, val 734 728 end 735 729 when :term_constraint 736 # puts "Entering scan_term_constraint" 730 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_regexp: Entering scan_term_constraint at #{@filename}:#{@lineno}") 737 731 data = scan_term_constraint(data) do |sym, val| 738 732 yield sym, val … … 745 739 746 740 def scan_term_constraint(data) 741 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_term_constraint") 747 742 until data.nil? do 748 743 case @adl_type.last 749 744 when :term_constraint 750 # puts "Entering scan_term_constraint"751 745 case data 752 746 when /\A\n/ # carriage return … … 757 751 when /\A--.*$/ # single line comment 758 752 @lineno += 1 759 @@log.info("#{__FILE__}:#{__LINE__}: scan_term_constraint: COMMENT = #{$&} at #{@filename}:#{@lineno}")753 #@@logger.debug("#{__FILE__}:#{__LINE__}: scan_term_constraint: COMMENT = #{$&} at #{@filename}:#{@lineno}") 760 754 ; 761 when /\A[a-zA-Z0-9\._\-]+[ \t]*,/ # match any line, with ',' termination 762 yield :TERM_CODE, $& 763 when /\A[a-zA-Z0-9\._\-]+[ \t]*;/ #match second last line with ';' termination (assumed value) 764 yield :TERM_CODE, $& 765 # when /\A[a-zA-Z0-9\._\-]+[ \t]*\]/ # match final line, terminating in ']' 766 when /\A[a-zA-Z0-9\._\-]*[ \t]*\]/ # match final line, terminating in ']' 755 when /\A([a-zA-Z0-9\._\-])+[ \t]*,/ # match any line, with ',' termination 756 yield :TERM_CODE, $1 757 when /\A([a-zA-Z0-9\._\-])+[ \t]*;/ # match second last line with ';' termination (assumed value) 758 yield :TERM_CODE, $1 759 when /\A([a-zA-Z0-9\._\-])*[ \t]*\]/ # match final line, terminating in ']' 767 760 adl_type = @adl_type.pop 768 761 assert_at(__FILE__,__LINE__){adl_type == :term_constraint} 769 yield :END_TERM_CODE_CONSTRAINT, $ &762 yield :END_TERM_CODE_CONSTRAINT, $1 770 763 else 771 764 raise "data = #{data}" … … 773 766 data = $' # variable $' receives the string after the match 774 767 when :adl 775 # puts "Entering scan_adl"776 768 data = scan_adl(data) do |sym, val| 777 769 yield sym, val 778 770 end 779 771 when :dadl 780 # puts "Entering scan_dadl"781 772 data = scan_dadl(data) do |sym, val| 782 773 yield sym, val 783 774 end 784 775 when :cadl 785 # puts "Entering scan_cadl"786 776 data = scan_cadl(data) do |sym, val| 787 777 yield sym, val … … 1132 1122 -376, -376, -376, -195, -376, -208, -376, -221, -376, -234, 1133 1123 -376, -376, -376, -43, -305, -376, -53, -44, -376, -376, 1134 -31, -72, -310, -70, -3 5, -37, -372, -38, -39, -360,1135 -40, -376, -363, -41, -367, -366, -42, -369, -376, -3 6,1124 -31, -72, -310, -70, -36, -37, -372, -38, -39, -360, 1125 -40, -376, -363, -41, -367, -366, -42, -369, -376, -35, 1136 1126 -376, -376, -376, -376, -376, -309, -160, -175, -159, -376, 1137 1127 -174, -376, -196, -376, -209, -376, -222, -376, -235, -376, … … 1341 1331 1, 121, :_reduce_none, 1342 1332 1, 121, :_reduce_none, 1343 3, 12 2, :_reduce_45,1344 4, 12 3, :_reduce_46,1345 3, 12 3, :_reduce_none,1346 6, 12 4, :_reduce_48,1333 3, 128, :_reduce_45, 1334 4, 122, :_reduce_46, 1335 3, 122, :_reduce_none, 1336 6, 123, :_reduce_48, 1347 1337 2, 130, :_reduce_49, 1348 1338 2, 133, :_reduce_50, 1349 1339 3, 133, :_reduce_none, 1350 1340 2, 133, :_reduce_none, 1351 1, 12 8, :_reduce_53,1341 1, 127, :_reduce_53, 1352 1342 1, 134, :_reduce_54, 1353 1343 1, 134, :_reduce_55, … … 1656 1646 3, 142, :_reduce_358, 1657 1647 3, 142, :_reduce_359, 1658 1, 12 7, :_reduce_none,1659 3, 12 7, :_reduce_none,1660 3, 12 7, :_reduce_none,1648 1, 126, :_reduce_none, 1649 3, 126, :_reduce_none, 1650 3, 126, :_reduce_none, 1661 1651 1, 221, :_reduce_none, 1662 1652 3, 221, :_reduce_none, 1663 1653 3, 222, :_reduce_365, 1664 1, 12 6, :_reduce_366,1665 1, 12 6, :_reduce_367,1666 3, 223, :_reduce_ none,1654 1, 125, :_reduce_366, 1655 1, 125, :_reduce_367, 1656 3, 223, :_reduce_368, 1667 1657 0, 224, :_reduce_none, 1668 1658 1, 224, :_reduce_none, 1669 1659 2, 224, :_reduce_none, 1670 1, 12 5, :_reduce_372,1660 1, 124, :_reduce_372, 1671 1661 1, 150, :_reduce_373, 1672 1662 1, 150, :_reduce_374, … … 1917 1907 "c_attributes", 1918 1908 "c_object", 1919 "v_c_domain_type",1920 1909 "archetype_internal_ref", 1921 1910 "archetype_slot", … … 1924 1913 "c_ordinal", 1925 1914 "c_primitive_object", 1915 "v_c_domain_type", 1926 1916 "absolute_path", 1927 1917 "c_archetype_slot_head", … … 2059 2049 archetype.original_language = language 2060 2050 end 2061 @@log .info("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}")2051 @@logger.debug("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}") 2062 2052 result = archetype 2063 2053 … … 2203 2193 def _reduce_26(val, _values, result) 2204 2194 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)} 2205 @@log .info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")2195 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}") 2206 2196 result = val[0] 2207 2197 … … 2276 2266 .,., 2277 2267 2278 module_eval(<<'.,.,', 'parser.y', 2 10)2268 module_eval(<<'.,.,', 'parser.y', 220) 2279 2269 def _reduce_35(val, _values, result) 2280 result = val[0] 2281 2282 result 2283 end 2284 .,., 2285 2286 module_eval(<<'.,.,', 'parser.y', 214) 2270 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}") 2271 result = val[0] 2272 2273 result 2274 end 2275 .,., 2276 2277 module_eval(<<'.,.,', 'parser.y', 225) 2287 2278 def _reduce_36(val, _values, result) 2288 @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")2289 result = val[0]2290 2291 result2292 end2293 .,.,2294 2295 module_eval(<<'.,.,', 'parser.y', 219)2296 def _reduce_37(val, _values, result)2297 2279 result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref| 2298 2280 archetype_internal_ref.target_path = val[0][:absolute_path] … … 2305 2287 .,., 2306 2288 2307 module_eval(<<'.,.,', 'parser.y', 227) 2289 module_eval(<<'.,.,', 'parser.y', 233) 2290 def _reduce_37(val, _values, result) 2291 result = val[0] 2292 2293 result 2294 end 2295 .,., 2296 2297 module_eval(<<'.,.,', 'parser.y', 237) 2308 2298 def _reduce_38(val, _values, result) 2309 result = val[0]2310 2311 result2312 end2313 .,.,2314 2315 module_eval(<<'.,.,', 'parser.y', 231)2316 def _reduce_39(val, _values, result)2317 2299 result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref| 2318 2300 constraint_ref.reference = val[0] … … 2323 2305 .,., 2324 2306 2325 module_eval(<<'.,.,', 'parser.y', 237) 2307 module_eval(<<'.,.,', 'parser.y', 243) 2308 def _reduce_39(val, _values, result) 2309 result = val[0] 2310 2311 result 2312 end 2313 .,., 2314 2315 module_eval(<<'.,.,', 'parser.y', 247) 2326 2316 def _reduce_40(val, _values, result) 2327 2317 result = val[0] … … 2331 2321 .,., 2332 2322 2333 module_eval(<<'.,.,', 'parser.y', 2 41)2323 module_eval(<<'.,.,', 'parser.y', 251) 2334 2324 def _reduce_41(val, _values, result) 2335 2325 result = val[0] … … 2339 2329 .,., 2340 2330 2341 module_eval(<<'.,.,', 'parser.y', 2 45)2331 module_eval(<<'.,.,', 'parser.y', 255) 2342 2332 def _reduce_42(val, _values, result) 2343 2333 result = val[0] … … 2351 2341 # reduce 44 omitted 2352 2342 2353 module_eval(<<'.,.,', 'parser.y', 2 60)2343 module_eval(<<'.,.,', 'parser.y', 271) 2354 2344 def _reduce_45(val, _values, result) 2355 2345 result = val[1] … … 2359 2349 .,., 2360 2350 2361 module_eval(<<'.,.,', 'parser.y', 2 66)2351 module_eval(<<'.,.,', 'parser.y', 277) 2362 2352 def _reduce_46(val, _values, result) 2363 2353 result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] } … … 2369 2359 # reduce 47 omitted 2370 2360 2371 module_eval(<<'.,.,', 'parser.y', 2 73)2361 module_eval(<<'.,.,', 'parser.y', 284) 2372 2362 def _reduce_48(val, _values, result) 2373 2363 result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot| … … 2382 2372 .,., 2383 2373 2384 module_eval(<<'.,.,', 'parser.y', 2 82)2374 module_eval(<<'.,.,', 'parser.y', 293) 2385 2375 def _reduce_49(val, _values, result) 2386 2376 result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]} … … 2390 2380 .,., 2391 2381 2392 module_eval(<<'.,.,', 'parser.y', 2 87)2382 module_eval(<<'.,.,', 'parser.y', 298) 2393 2383 def _reduce_50(val, _values, result) 2394 2384 result = val[1] … … 2402 2392 # reduce 52 omitted 2403 2393 2404 module_eval(<<'.,.,', 'parser.y', 295)2394 module_eval(<<'.,.,', 'parser.y', 306) 2405 2395 def _reduce_53(val, _values, result) 2406 2396 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)} … … 2413 2403 .,., 2414 2404 2415 module_eval(<<'.,.,', 'parser.y', 3 03)2405 module_eval(<<'.,.,', 'parser.y', 314) 2416 2406 def _reduce_54(val, _values, result) 2417 @@log .info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")2407 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") 2418 2408 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer| 2419 2409 c_integer.list … … 2426 2416 .,., 2427 2417 2428 module_eval(<<'.,.,', 'parser.y', 3 12)2418 module_eval(<<'.,.,', 'parser.y', 323) 2429 2419 def _reduce_55(val, _values, result) 2430 @@log .info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")2420 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") 2431 2421 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new 2432 2422 … … 2435 2425 .,., 2436 2426 2437 module_eval(<<'.,.,', 'parser.y', 3 17)2427 module_eval(<<'.,.,', 'parser.y', 328) 2438 2428 def _reduce_56(val, _values, result) 2439 @@log .info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")2429 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") 2440 2430 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new 2441 2431 … … 2444 2434 .,., 2445 2435 2446 module_eval(<<'.,.,', 'parser.y', 3 22)2436 module_eval(<<'.,.,', 'parser.y', 333) 2447 2437 def _reduce_57(val, _values, result) 2448 @@log .info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")2438 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") 2449 2439 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new 2450 2440 … … 2453 2443 .,., 2454 2444 2455 module_eval(<<'.,.,', 'parser.y', 3 27)2445 module_eval(<<'.,.,', 'parser.y', 338) 2456 2446 def _reduce_58(val, _values, result) 2457 @@log .info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")2447 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") 2458 2448 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new 2459 2449 … … 2462 2452 .,., 2463 2453 2464 module_eval(<<'.,.,', 'parser.y', 3 32)2454 module_eval(<<'.,.,', 'parser.y', 343) 2465 2455 def _reduce_59(val, _values, result) 2466 @@log .info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")2456 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") 2467 2457 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new 2468 2458 … … 2471 2461 .,., 2472 2462 2473 module_eval(<<'.,.,', 'parser.y', 3 37)2463 module_eval(<<'.,.,', 'parser.y', 348) 2474 2464 def _reduce_60(val, _values, result) 2475 @@log .info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")2465 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") 2476 2466 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new 2477 2467 … … 2480 2470 .,., 2481 2471 2482 module_eval(<<'.,.,', 'parser.y', 3 42)2472 module_eval(<<'.,.,', 'parser.y', 353) 2483 2473 def _reduce_61(val, _values, result) 2484 2474 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)} 2485 @@log .info("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")2475 @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}") 2486 2476 result = val[0] 2487 2477 … … 2492 2482 # reduce 62 omitted 2493 2483 2494 module_eval(<<'.,.,', 'parser.y', 3 54)2484 module_eval(<<'.,.,', 'parser.y', 365) 2495 2485 def _reduce_63(val, _values, result) 2496 2486 result = [val[0]] … … 2500 2490 .,., 2501 2491 2502 module_eval(<<'.,.,', 'parser.y', 3 58)2492 module_eval(<<'.,.,', 'parser.y', 369) 2503 2493 def _reduce_64(val, _values, result) 2504 2494 result = (val[0] << val[1]) … … 2508 2498 .,., 2509 2499 2510 module_eval(<<'.,.,', 'parser.y', 3 64)2500 module_eval(<<'.,.,', 'parser.y', 375) 2511 2501 def _reduce_65(val, _values, result) 2512 2502 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} … … 2519 2509 .,., 2520 2510 2521 module_eval(<<'.,.,', 'parser.y', 3 71)2511 module_eval(<<'.,.,', 'parser.y', 382) 2522 2512 def _reduce_66(val, _values, result) 2523 2513 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} … … 2528 2518 .,., 2529 2519 2530 module_eval(<<'.,.,', 'parser.y', 3 76)2520 module_eval(<<'.,.,', 'parser.y', 387) 2531 2521 def _reduce_67(val, _values, result) 2532 2522 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)} … … 2537 2527 .,., 2538 2528 2539 module_eval(<<'.,.,', 'parser.y', 3 83)2529 module_eval(<<'.,.,', 'parser.y', 394) 2540 2530 def _reduce_68(val, _values, result) 2541 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")2531 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") 2542 2532 result = OpenEHR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new( 2543 2533 :rm_attribute_name => val[0], … … 2550 2540 .,., 2551 2541 2552 module_eval(<<'.,.,', 'parser.y', 392)2542 module_eval(<<'.,.,', 'parser.y', 403) 2553 2543 def _reduce_69(val, _values, result) 2554 2544 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) } 2555 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")2545 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") 2556 2546 result = OpenEHR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new( 2557 2547 :rm_attribute_name => val[0], … … 2564 2554 .,., 2565 2555 2566 module_eval(<<'.,.,', 'parser.y', 4 03)2556 module_eval(<<'.,.,', 'parser.y', 414) 2567 2557 def _reduce_70(val, _values, result) 2568 2558 result = Array[val[0]] … … 2572 2562 .,., 2573 2563 2574 module_eval(<<'.,.,', 'parser.y', 4 07)2564 module_eval(<<'.,.,', 'parser.y', 418) 2575 2565 def _reduce_71(val, _values, result) 2576 2566 result = (val[0] << val[1]) … … 2580 2570 .,., 2581 2571 2582 module_eval(<<'.,.,', 'parser.y', 4 11)2572 module_eval(<<'.,.,', 'parser.y', 422) 2583 2573 def _reduce_72(val, _values, result) 2584 2574 result = Array[val[0]] … … 2590 2580 # reduce 73 omitted 2591 2581 2592 module_eval(<<'.,.,', 'parser.y', 4 19)2582 module_eval(<<'.,.,', 'parser.y', 430) 2593 2583 def _reduce_74(val, _values, result) 2594 2584 result = val[1] … … 2600 2590 # reduce 75 omitted 2601 2591 2602 module_eval(<<'.,.,', 'parser.y', 4 27)2592 module_eval(<<'.,.,', 'parser.y', 438) 2603 2593 def _reduce_76(val, _values, result) 2604 2594 result = val[1] … … 2624 2614 # reduce 84 omitted 2625 2615 2626 module_eval(<<'.,.,', 'parser.y', 4 47)2616 module_eval(<<'.,.,', 'parser.y', 458) 2627 2617 def _reduce_85(val, _values, result) 2628 2618 dadl_section = val[1] … … 2641 2631 # reduce 89 omitted 2642 2632 2643 module_eval(<<'.,.,', 'parser.y', 4 62)2633 module_eval(<<'.,.,', 'parser.y', 473) 2644 2634 def _reduce_90(val, _values, result) 2645 2635 result = Array[val[0]] … … 2649 2639 .,., 2650 2640 2651 module_eval(<<'.,.,', 'parser.y', 4 66)2641 module_eval(<<'.,.,', 'parser.y', 477) 2652 2642 def _reduce_91(val, _values, result) 2653 2643 result = (val[0] << val[1]) … … 2657 2647 .,., 2658 2648 2659 module_eval(<<'.,.,', 'parser.y', 4 70)2649 module_eval(<<'.,.,', 'parser.y', 481) 2660 2650 def _reduce_92(val, _values, result) 2661 2651 result = (val[0] << val[2]) … … 2665 2655 .,., 2666 2656 2667 module_eval(<<'.,.,', 'parser.y', 4 75)2657 module_eval(<<'.,.,', 'parser.y', 486) 2668 2658 def _reduce_93(val, _values, result) 2669 @@log .info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")2659 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]} at #{@filename}:#{@lineno}") 2670 2660 result = {:attr_id => val[0], :object_block => val[2]} 2671 2661 … … 2674 2664 .,., 2675 2665 2676 module_eval(<<'.,.,', 'parser.y', 4 81)2666 module_eval(<<'.,.,', 'parser.y', 492) 2677 2667 def _reduce_94(val, _values, result) 2678 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")2668 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}") 2679 2669 result = val[0] 2680 2670 … … 2685 2675 # reduce 95 omitted 2686 2676 2687 module_eval(<<'.,.,', 'parser.y', 4 88)2677 module_eval(<<'.,.,', 'parser.y', 499) 2688 2678 def _reduce_96(val, _values, result) 2689 2679 result = val[0] … … 2693 2683 .,., 2694 2684 2695 module_eval(<<'.,.,', 'parser.y', 492)2685 module_eval(<<'.,.,', 'parser.y', 503) 2696 2686 def _reduce_97(val, _values, result) 2697 2687 result = val[0] … … 2701 2691 .,., 2702 2692 2703 module_eval(<<'.,.,', 'parser.y', 497)2693 module_eval(<<'.,.,', 'parser.y', 508) 2704 2694 def _reduce_98(val, _values, result) 2705 2695 result = val[0] … … 2709 2699 .,., 2710 2700 2711 module_eval(<<'.,.,', 'parser.y', 5 01)2701 module_eval(<<'.,.,', 'parser.y', 512) 2712 2702 def _reduce_99(val, _values, result) 2713 2703 result = val[0] … … 2717 2707 .,., 2718 2708 2719 module_eval(<<'.,.,', 'parser.y', 5 06)2709 module_eval(<<'.,.,', 'parser.y', 517) 2720 2710 def _reduce_100(val, _values, result) 2721 2711 result = {:untyped_multiple_attr_object_block => val[0]} … … 2725 2715 .,., 2726 2716 2727 module_eval(<<'.,.,', 'parser.y', 5 10)2717 module_eval(<<'.,.,', 'parser.y', 521) 2728 2718 def _reduce_101(val, _values, result) 2729 2719 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]} … … 2733 2723 .,., 2734 2724 2735 module_eval(<<'.,.,', 'parser.y', 5 15)2725 module_eval(<<'.,.,', 'parser.y', 526) 2736 2726 def _reduce_102(val, _values, result) 2737 2727 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]} … … 2741 2731 .,., 2742 2732 2743 module_eval(<<'.,.,', 'parser.y', 5 20)2733 module_eval(<<'.,.,', 'parser.y', 531) 2744 2734 def _reduce_103(val, _values, result) 2745 @@log .info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")2735 @@logger.debug("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}") 2746 2736 result = val[0] 2747 2737 … … 2750 2740 .,., 2751 2741 2752 module_eval(<<'.,.,', 'parser.y', 5 26)2742 module_eval(<<'.,.,', 'parser.y', 537) 2753 2743 def _reduce_104(val, _values, result) 2754 2744 result = Array[val[0]] … … 2758 2748 .,., 2759 2749 2760 module_eval(<<'.,.,', 'parser.y', 5 30)2750 module_eval(<<'.,.,', 'parser.y', 541) 2761 2751 def _reduce_105(val, _values, result) 2762 2752 result = (val[0] << val[1]) … … 2766 2756 .,., 2767 2757 2768 module_eval(<<'.,.,', 'parser.y', 5 35)2758 module_eval(<<'.,.,', 'parser.y', 546) 2769 2759 def _reduce_106(val, _values, result) 2770 @@log .info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")2760 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 2771 2761 result = {:object_key => val[0], :object_block => val[1]} 2772 2762 … … 2775 2765 .,., 2776 2766 2777 module_eval(<<'.,.,', 'parser.y', 5 41)2767 module_eval(<<'.,.,', 'parser.y', 552) 2778 2768 def _reduce_107(val, _values, result) 2779 @@log .info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")2769 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") 2780 2770 result = val[1] 2781 2771 … … 2784 2774 .,., 2785 2775 2786 module_eval(<<'.,.,', 'parser.y', 5 47)2776 module_eval(<<'.,.,', 'parser.y', 558) 2787 2777 def _reduce_108(val, _values, result) 2788 2778 result = {:untyped_single_attr_object_block => val[0]} … … 2792 2782 .,., 2793 2783 2794 module_eval(<<'.,.,', 'parser.y', 5 51)2784 module_eval(<<'.,.,', 'parser.y', 562) 2795 2785 def _reduce_109(val, _values, result) 2796 2786 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]} … … 2800 2790 .,., 2801 2791 2802 module_eval(<<'.,.,', 'parser.y', 5 56)2792 module_eval(<<'.,.,', 'parser.y', 567) 2803 2793 def _reduce_110(val, _values, result) 2804 @@log .info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")2794 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") 2805 2795 result = {:single_attr_object_complex_head => val[0]} 2806 2796 … … 2809 2799 .,., 2810 2800 2811 module_eval(<<'.,.,', 'parser.y', 5 61)2801 module_eval(<<'.,.,', 'parser.y', 572) 2812 2802 def _reduce_111(val, _values, result) 2813 @@log .info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]},attr_vals = #{val[1]} at #{@filename}:#{@lineno}")2803 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}") 2814 2804 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 2815 2805 … … 2820 2810 # reduce 112 omitted 2821 2811 2822 module_eval(<<'.,.,', 'parser.y', 5 67)2812 module_eval(<<'.,.,', 'parser.y', 578) 2823 2813 def _reduce_113(val, _values, result) 2824 @@log .info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")2814 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}") 2825 2815 result = {:untyped_primitive_object_block => val[0]} 2826 2816 … … 2829 2819 .,., 2830 2820 2831 module_eval(<<'.,.,', 'parser.y', 5 72)2821 module_eval(<<'.,.,', 'parser.y', 583) 2832 2822 def _reduce_114(val, _values, result) 2833 @@log .info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")2823 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}") 2834 2824 result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]} 2835 2825 … … 2838 2828 .,., 2839 2829 2840 module_eval(<<'.,.,', 'parser.y', 5 77)2830 module_eval(<<'.,.,', 'parser.y', 588) 2841 2831 def _reduce_115(val, _values, result) 2842 @@log .info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")2832 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") 2843 2833 result = val[1] 2844 2834 … … 2847 2837 .,., 2848 2838 2849 module_eval(<<'.,.,', 'parser.y', 5 82)2839 module_eval(<<'.,.,', 'parser.y', 593) 2850 2840 def _reduce_116(val, _values, result) 2851 2841 result = val[0] … … 2855 2845 .,., 2856 2846 2857 module_eval(<<'.,.,', 'parser.y', 5 86)2847 module_eval(<<'.,.,', 'parser.y', 597) 2858 2848 def _reduce_117(val, _values, result) 2859 2849 result = val[0] … … 2863 2853 .,., 2864 2854 2865 module_eval(<<'.,.,', 'parser.y', 590)2855 module_eval(<<'.,.,', 'parser.y', 601) 2866 2856 def _reduce_118(val, _values, result) 2867 2857 result = val[0] … … 2871 2861 .,., 2872 2862 2873 module_eval(<<'.,.,', 'parser.y', 594)2863 module_eval(<<'.,.,', 'parser.y', 605) 2874 2864 def _reduce_119(val, _values, result) 2875 2865 result = val[0] … … 2879 2869 .,., 2880 2870 2881 module_eval(<<'.,.,', 'parser.y', 598)2871 module_eval(<<'.,.,', 'parser.y', 609) 2882 2872 def _reduce_120(val, _values, result) 2883 2873 result = val[0] … … 2887 2877 .,., 2888 2878 2889 module_eval(<<'.,.,', 'parser.y', 6 02)2879 module_eval(<<'.,.,', 'parser.y', 613) 2890 2880 def _reduce_121(val, _values, result) 2891 @@log .info("string_value: #{val[0]} at #{@filename}:#{@lineno}")2881 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}") 2892 2882 result = val[0] 2893 2883 … … 2896 2886 .,., 2897 2887 2898 module_eval(<<'.,.,', 'parser.y', 6 07)2888 module_eval(<<'.,.,', 'parser.y', 618) 2899 2889 def _reduce_122(val, _values, result) 2900 @@log .info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")2890 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}") 2901 2891 result = val[0] 2902 2892 … … 2905 2895 .,., 2906 2896 2907 module_eval(<<'.,.,', 'parser.y', 6 12)2897 module_eval(<<'.,.,', 'parser.y', 623) 2908 2898 def _reduce_123(val, _values, result) 2909 @@log .info("real_value: #{val[0]} at #{@filename}:#{@lineno}")2899 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}") 2910 2900 result = val[0] 2911 2901 … … 2914 2904 .,., 2915 2905 2916 module_eval(<<'.,.,', 'parser.y', 6 17)2906 module_eval(<<'.,.,', 'parser.y', 628) 2917 2907 def _reduce_124(val, _values, result) 2918 @@log .info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")2908 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") 2919 2909 result = val[0] 2920 2910 … … 2923 2913 .,., 2924 2914 2925 module_eval(<<'.,.,', 'parser.y', 6 22)2915 module_eval(<<'.,.,', 'parser.y', 633) 2926 2916 def _reduce_125(val, _values, result) 2927 @@log .info("character_value: #{val[0]} at #{@filename}:#{@lineno}")2917 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}") 2928 2918 result = val[0] 2929 2919 … … 2932 2922 .,., 2933 2923 2934 module_eval(<<'.,.,', 'parser.y', 6 27)2924 module_eval(<<'.,.,', 'parser.y', 638) 2935 2925 def _reduce_126(val, _values, result) 2936 @@log .info("date_value: #{val[0]} at #{@filename}:#{@lineno}")2926 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}") 2937 2927 result = val[0] 2938 2928 … … 2941 2931 .,., 2942 2932 2943 module_eval(<<'.,.,', 'parser.y', 6 32)2933 module_eval(<<'.,.,', 'parser.y', 643) 2944 2934 def _reduce_127(val, _values, result) 2945 @@log .info("time_value: #{val[0]} at #{@filename}:#{@lineno}")2935 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}") 2946 2936 result = val[0] 2947 2937 … … 2950 2940 .,., 2951 2941 2952 module_eval(<<'.,.,', 'parser.y', 6 37)2942 module_eval(<<'.,.,', 'parser.y', 648) 2953 2943 def _reduce_128(val, _values, result) 2954 @@log .info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")2944 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") 2955 2945 result = val[0] 2956 2946 … … 2959 2949 .,., 2960 2950 2961 module_eval(<<'.,.,', 'parser.y', 6 42)2951 module_eval(<<'.,.,', 'parser.y', 653) 2962 2952 def _reduce_129(val, _values, result) 2963 @@log .info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")2953 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}") 2964 2954 result = val[0] 2965 2955 … … 2968 2958 .,., 2969 2959 2970 module_eval(<<'.,.,', 'parser.y', 6 47)2960 module_eval(<<'.,.,', 'parser.y', 658) 2971 2961 def _reduce_130(val, _values, result) 2972 @@log .info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")2962 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}") 2973 2963 result = val[0] 2974 2964 … … 3007 2997 # reduce 145 omitted 3008 2998 3009 module_eval(<<'.,.,', 'parser.y', 6 70)2999 module_eval(<<'.,.,', 'parser.y', 681) 3010 3000 def _reduce_146(val, _values, result) 3011 @@log .info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")3001 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 3012 3002 result = val[0] 3013 3003 … … 3016 3006 .,., 3017 3007 3018 module_eval(<<'.,.,', 'parser.y', 6 75)3008 module_eval(<<'.,.,', 'parser.y', 686) 3019 3009 def _reduce_147(val, _values, result) 3020 @@log .info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")3010 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 3021 3011 result = val[0] 3022 3012 … … 3025 3015 .,., 3026 3016 3027 module_eval(<<'.,.,', 'parser.y', 6 81)3017 module_eval(<<'.,.,', 'parser.y', 692) 3028 3018 def _reduce_148(val, _values, result) 3029 @@log .info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")3019 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") 3030 3020 result = val[0] 3031 3021 … … 3040 3030 # reduce 151 omitted 3041 3031 3042 module_eval(<<'.,.,', 'parser.y', 691)3032 module_eval(<<'.,.,', 'parser.y', 702) 3043 3033 def _reduce_152(val, _values, result) 3044 3034 begin … … 3053 3043 .,., 3054 3044 3055 module_eval(<<'.,.,', 'parser.y', 7 00)3045 module_eval(<<'.,.,', 'parser.y', 711) 3056 3046 def _reduce_153(val, _values, result) 3057 3047 begin … … 3066 3056 .,., 3067 3057 3068 module_eval(<<'.,.,', 'parser.y', 7 09)3058 module_eval(<<'.,.,', 'parser.y', 720) 3069 3059 def _reduce_154(val, _values, result) 3070 3060 begin … … 3103 3093 # reduce 166 omitted 3104 3094 3105 module_eval(<<'.,.,', 'parser.y', 7 35)3095 module_eval(<<'.,.,', 'parser.y', 746) 3106 3096 def _reduce_167(val, _values, result) 3107 3097 begin … … 3116 3106 .,., 3117 3107 3118 module_eval(<<'.,.,', 'parser.y', 7 44)3108 module_eval(<<'.,.,', 'parser.y', 755) 3119 3109 def _reduce_168(val, _values, result) 3120 3110 begin … … 3129 3119 .,., 3130 3120 3131 module_eval(<<'.,.,', 'parser.y', 7 53)3121 module_eval(<<'.,.,', 'parser.y', 764) 3132 3122 def _reduce_169(val, _values, result) 3133 3123 begin … … 3166 3156 # reduce 181 omitted 3167 3157 3168 module_eval(<<'.,.,', 'parser.y', 7 78)3158 module_eval(<<'.,.,', 'parser.y', 789) 3169 3159 def _reduce_182(val, _values, result) 3170 3160 result = true … … 3174 3164 .,., 3175 3165 3176 module_eval(<<'.,.,', 'parser.y', 7 82)3166 module_eval(<<'.,.,', 'parser.y', 793) 3177 3167 def _reduce_183(val, _values, result) 3178 3168 result = false … … 3274 3264 # reduce 229 omitted 3275 3265 3276 module_eval(<<'.,.,', 'parser.y', 8 45)3266 module_eval(<<'.,.,', 'parser.y', 856) 3277 3267 def _reduce_230(val, _values, result) 3278 @@log .info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")3268 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") 3279 3269 result = val[0] 3280 3270 … … 3307 3297 # reduce 242 omitted 3308 3298 3309 module_eval(<<'.,.,', 'parser.y', 8 65)3299 module_eval(<<'.,.,', 'parser.y', 876) 3310 3300 def _reduce_243(val, _values, result) 3311 @@log .info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")3301 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") 3312 3302 result = val[0] 3313 3303 … … 3322 3312 # reduce 246 omitted 3323 3313 3324 module_eval(<<'.,.,', 'parser.y', 8 75)3314 module_eval(<<'.,.,', 'parser.y', 886) 3325 3315 def _reduce_247(val, _values, result) 3326 @@log .info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")3316 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") 3327 3317 result = val[0] 3328 3318 … … 3411 3401 # reduce 287 omitted 3412 3402 3413 module_eval(<<'.,.,', 'parser.y', 9 45)3403 module_eval(<<'.,.,', 'parser.y', 956) 3414 3404 def _reduce_288(val, _values, result) 3415 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")3416 3417 result 3418 end 3419 .,., 3420 3421 module_eval(<<'.,.,', 'parser.y', 9 49)3405 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 3406 3407 result 3408 end 3409 .,., 3410 3411 module_eval(<<'.,.,', 'parser.y', 960) 3422 3412 def _reduce_289(val, _values, result) 3423 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")3424 3425 result 3426 end 3427 .,., 3428 3429 module_eval(<<'.,.,', 'parser.y', 9 60)3413 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 3414 3415 result 3416 end 3417 .,., 3418 3419 module_eval(<<'.,.,', 'parser.y', 971) 3430 3420 def _reduce_290(val, _values, result) 3431 3421 result = Range.new(1,1) … … 3435 3425 .,., 3436 3426 3437 module_eval(<<'.,.,', 'parser.y', 9 64)3427 module_eval(<<'.,.,', 'parser.y', 975) 3438 3428 def _reduce_291(val, _values, result) 3439 3429 result = val[3] … … 3443 3433 .,., 3444 3434 3445 module_eval(<<'.,.,', 'parser.y', 9 69)3435 module_eval(<<'.,.,', 'parser.y', 980) 3446 3436 def _reduce_292(val, _values, result) 3447 3437 begin … … 3456 3446 .,., 3457 3447 3458 module_eval(<<'.,.,', 'parser.y', 9 78)3448 module_eval(<<'.,.,', 'parser.y', 989) 3459 3449 def _reduce_293(val, _values, result) 3460 3450 begin … … 3470 3460 .,., 3471 3461 3472 module_eval(<<'.,.,', 'parser.y', 989)3462 module_eval(<<'.,.,', 'parser.y', 1000) 3473 3463 def _reduce_294(val, _values, result) 3474 3464 result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new … … 3494 3484 # reduce 302 omitted 3495 3485 3496 module_eval(<<'.,.,', 'parser.y', 10 03)3486 module_eval(<<'.,.,', 'parser.y', 1014) 3497 3487 def _reduce_303(val, _values, result) 3498 3488 result = val[0] … … 3502 3492 .,., 3503 3493 3504 module_eval(<<'.,.,', 'parser.y', 10 07)3494 module_eval(<<'.,.,', 'parser.y', 1018) 3505 3495 def _reduce_304(val, _values, result) 3506 3496 result = val[0] … … 3512 3502 # reduce 305 omitted 3513 3503 3514 module_eval(<<'.,.,', 'parser.y', 10 14)3504 module_eval(<<'.,.,', 'parser.y', 1025) 3515 3505 def _reduce_306(val, _values, result) 3516 3506 result = val[3] … … 3612 3602 # reduce 352 omitted 3613 3603 3614 module_eval(<<'.,.,', 'parser.y', 10 84)3604 module_eval(<<'.,.,', 'parser.y', 1095) 3615 3605 def _reduce_353(val, _values, result) 3616 3606 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true) … … 3620 3610 .,., 3621 3611 3622 module_eval(<<'.,.,', 'parser.y', 10 88)3612 module_eval(<<'.,.,', 'parser.y', 1099) 3623 3613 def _reduce_354(val, _values, result) 3624 3614 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false) … … 3628 3618 .,., 3629 3619 3630 module_eval(<<'.,.,', 'parser.y', 1 092)3620 module_eval(<<'.,.,', 'parser.y', 1103) 3631 3621 def _reduce_355(val, _values, result) 3632 3622 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false) … … 3636 3626 .,., 3637 3627 3638 module_eval(<<'.,.,', 'parser.y', 1 096)3628 module_eval(<<'.,.,', 'parser.y', 1107) 3639 3629 def _reduce_356(val, _values, result) 3640 3630 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true) … … 3644 3634 .,., 3645 3635 3646 module_eval(<<'.,.,', 'parser.y', 11 01)3636 module_eval(<<'.,.,', 'parser.y', 1112) 3647 3637 def _reduce_357(val, _values, result) 3648 3638 result = val[0] … … 3652 3642 .,., 3653 3643 3654 module_eval(<<'.,.,', 'parser.y', 11 05)3644 module_eval(<<'.,.,', 'parser.y', 1116) 3655 3645 def _reduce_358(val, _values, result) 3656 3646 raise 'Not implemented yet' … … 3660 3650 .,., 3661 3651 3662 module_eval(<<'.,.,', 'parser.y', 11 09)3652 module_eval(<<'.,.,', 'parser.y', 1120) 3663 3653 def _reduce_359(val, _values, result) 3664 3654 raise 'Not implemented yet' … … 3678 3668 # reduce 364 omitted 3679 3669 3680 module_eval(<<'.,.,', 'parser.y', 11 21)3670 module_eval(<<'.,.,', 'parser.y', 1132) 3681 3671 def _reduce_365(val, _values, result) 3682 3672 @in_interval = false 3683 @@log .info("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}")3684 3685 result 3686 end 3687 .,., 3688 3689 module_eval(<<'.,.,', 'parser.y', 11 28)3673 @@logger.debug("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}") 3674 3675 result 3676 end 3677 .,., 3678 3679 module_eval(<<'.,.,', 'parser.y', 1139) 3690 3680 def _reduce_366(val, _values, result) 3691 3681 result = val[0] … … 3695 3685 .,., 3696 3686 3697 module_eval(<<'.,.,', 'parser.y', 11 32)3687 module_eval(<<'.,.,', 'parser.y', 1143) 3698 3688 def _reduce_367(val, _values, result) 3699 3689 result = val[0] … … 3703 3693 .,., 3704 3694 3705 # reduce 368 omitted 3695 module_eval(<<'.,.,', 'parser.y', 1149) 3696 def _reduce_368(val, _values, result) 3697 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}") 3698 @@logger.debug("#{__FILE__}:#{__LINE__}, term_code_body = #{val[1]}") 3699 @@logger.debug("#{__FILE__}:#{__LINE__}, END_TERM_CODE_CONSTRAINT = #{val[2]}") 3700 result = val[1] 3701 3702 result 3703 end 3704 .,., 3706 3705 3707 3706 # reduce 369 omitted … … 3711 3710 # reduce 371 omitted 3712 3711 3713 module_eval(<<'.,.,', 'parser.y', 11 47)3712 module_eval(<<'.,.,', 'parser.y', 1165) 3714 3713 def _reduce_372(val, _values, result) 3715 3714 result = val[0] … … 3719 3718 .,., 3720 3719 3721 module_eval(<<'.,.,', 'parser.y', 11 52)3720 module_eval(<<'.,.,', 'parser.y', 1170) 3722 3721 def _reduce_373(val, _values, result) 3723 3722 result = val[0] … … 3727 3726 .,., 3728 3727 3729 module_eval(<<'.,.,', 'parser.y', 11 56)3728 module_eval(<<'.,.,', 'parser.y', 1174) 3730 3729 def _reduce_374(val, _values, result) 3731 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")3730 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") 3732 3731 result = val[0] 3733 3732 … … 3736 3735 .,., 3737 3736 3738 module_eval(<<'.,.,', 'parser.y', 11 67)3737 module_eval(<<'.,.,', 'parser.y', 1185) 3739 3738 def _reduce_375(val, _values, result) 3740 3739 result = val[0] -
ruby/trunk/lib/adl_parser/lib/parser.y
r258 r261 55 55 archetype.original_language = language 56 56 end 57 @@log .info("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}")57 @@logger.debug("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}") 58 58 result = archetype 59 59 } … … 155 155 { 156 156 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)} 157 @@log .info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")157 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}") 158 158 result = val[0] 159 159 } … … 206 206 207 207 #------------------------- node types ----------------------- 208 209 c_object: v_c_domain_type 210 { 211 result = val[0] 212 } 213 | c_complex_object 214 { 215 @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}") 208 ### http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/components/adl_parser/src/syntax/cadl/parser/cadl_validator.html 209 ### c_object: c_complex_object 210 ### | archetype_internal_ref 211 ### | archetype_slot 212 ### | constraint_ref 213 ### | c_code_phrase 214 ### | c_ordinal 215 ### | c_primitive_object 216 ### | V_C_DOMAIN_TYPE 217 ### | ERR_C_DOMAIN_TYPE 218 ### | error 219 c_object: c_complex_object 220 { 221 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}") 216 222 result = val[0] 217 223 } … … 246 252 result = val[0] 247 253 } 254 | v_c_domain_type 255 { 256 result = val[0] 257 } 258 248 259 # | v_c_domain_type 249 260 # | V_C_DOMAIN_TYPE … … 302 313 c_primitive: c_integer 303 314 { 304 @@log .info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")315 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") 305 316 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer| 306 317 c_integer.list … … 311 322 | c_real 312 323 { 313 @@log .info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")324 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") 314 325 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new 315 326 } 316 327 | c_date 317 328 { 318 @@log .info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")329 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") 319 330 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new 320 331 } 321 332 | c_time 322 333 { 323 @@log .info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")334 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") 324 335 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new 325 336 } 326 337 | c_date_time 327 338 { 328 @@log .info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")339 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") 329 340 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new 330 341 } 331 342 | c_duration 332 343 { 333 @@log .info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")344 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") 334 345 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new 335 346 } 336 347 | c_string 337 348 { 338 @@log .info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")349 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") 339 350 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new 340 351 } … … 342 353 { 343 354 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)} 344 @@log .info("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")355 @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}") 345 356 result = val[0] 346 357 } … … 382 393 c_attr_head: V_ATTRIBUTE_IDENTIFIER c_existence 383 394 { 384 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")395 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") 385 396 result = OpenEHR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new( 386 397 :rm_attribute_name => val[0], … … 392 403 { 393 404 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) } 394 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")405 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") 395 406 result = OpenEHR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new( 396 407 :rm_attribute_name => val[0], … … 474 485 attr_val: attr_id SYM_EQ object_block 475 486 { 476 @@log .info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")487 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]} at #{@filename}:#{@lineno}") 477 488 result = {:attr_id => val[0], :object_block => val[2]} 478 489 } … … 480 491 attr_id: V_ATTRIBUTE_IDENTIFIER 481 492 { 482 @@log .info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")493 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}") 483 494 result = val[0] 484 495 } … … 519 530 multiple_attr_object_block_head: SYM_START_DBLOCK 520 531 { 521 @@log .info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")532 @@logger.debug("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}") 522 533 result = val[0] 523 534 } … … 534 545 keyed_object: object_key SYM_EQ object_block 535 546 { 536 @@log .info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")547 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 537 548 result = {:object_key => val[0], :object_block => val[1]} 538 549 } … … 540 551 object_key: Left_bracket_code simple_value Right_bracket_code 541 552 { 542 @@log .info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")553 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") 543 554 result = val[1] 544 555 } … … 555 566 untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # > 556 567 { 557 @@log .info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")568 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") 558 569 result = {:single_attr_object_complex_head => val[0]} 559 570 } 560 571 | single_attr_object_complex_head attr_vals SYM_END_DBLOCK 561 572 { 562 @@log .info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]},attr_vals = #{val[1]} at #{@filename}:#{@lineno}")573 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}") 563 574 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 564 575 } … … 566 577 primitive_object_block: untyped_primitive_object_block 567 578 { 568 @@log .info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")579 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}") 569 580 result = {:untyped_primitive_object_block => val[0]} 570 581 } 571 582 | type_identifier untyped_primitive_object_block 572 583 { 573 @@log .info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")584 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}") 574 585 result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]} 575 586 } 576 587 untyped_primitive_object_block: SYM_START_DBLOCK primitive_object_value SYM_END_DBLOCK 577 588 { 578 @@log .info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")589 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") 579 590 result = val[1] 580 591 } … … 601 612 simple_value: string_value 602 613 { 603 @@log .info("string_value: #{val[0]} at #{@filename}:#{@lineno}")614 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}") 604 615 result = val[0] 605 616 } 606 617 | integer_value 607 618 { 608 @@log .info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")619 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}") 609 620 result = val[0] 610 621 } 611 622 | real_value 612 623 { 613 @@log .info("real_value: #{val[0]} at #{@filename}:#{@lineno}")624 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}") 614 625 result = val[0] 615 626 } 616 627 | boolean_value 617 628 { 618 @@log .info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")629 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") 619 630 result = val[0] 620 631 } 621 632 | character_value 622 633 { 623 @@log .info("character_value: #{val[0]} at #{@filename}:#{@lineno}")634 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}") 624 635 result = val[0] 625 636 } 626 637 | date_value 627 638 { 628 @@log .info("date_value: #{val[0]} at #{@filename}:#{@lineno}")639 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}") 629 640 result = val[0] 630 641 } 631 642 | time_value 632 643 { 633 @@log .info("time_value: #{val[0]} at #{@filename}:#{@lineno}")644 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}") 634 645 result = val[0] 635 646 } 636 647 | date_time_value 637 648 { 638 @@log .info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")649 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") 639 650 result = val[0] 640 651 } 641 652 | duration_value 642 653 { 643 @@log .info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")654 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}") 644 655 result = val[0] 645 656 } 646 657 | uri_value 647 658 { 648 @@log .info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")659 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}") 649 660 result = val[0] 650 661 } … … 669 680 type_identifier: V_TYPE_IDENTIFIER 670 681 { 671 @@log .info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")682 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 672 683 result = val[0] 673 684 } 674 685 | V_GENERIC_TYPE_IDENTIFIER 675 686 { 676 @@log .info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")687 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") 677 688 result = val[0] 678 689 } … … 680 691 string_value: V_STRING 681 692 { 682 @@log .info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")693 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") 683 694 result = val[0] 684 695 } … … 844 855 duration_value: V_ISO8601_DURATION 845 856 { 846 @@log .info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")857 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") 847 858 result = val[0] 848 859 } … … 864 875 term_code: V_QUALIFIED_TERM_CODE_REF 865 876 { 866 @@log .info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")877 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") 867 878 result = val[0] 868 879 } … … 874 885 uri_value: V_URI 875 886 { 876 @@log .info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")887 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") 877 888 result = val[0] 878 889 } … … 944 955 path_segment: V_ATTRIBUTE_IDENTIFIER V_LOCAL_TERM_CODE_REF 945 956 { 946 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")957 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 947 958 } 948 959 | V_ATTRIBUTE_IDENTIFIER 949 960 { 950 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")961 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 951 962 } 952 963 … … 1121 1132 { 1122 1133 @in_interval = false 1123 @@log .info("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}")1134 @@logger.debug("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}") 1124 1135 } 1125 1136 … … 1134 1145 } 1135 1146 1136 # term_code_constraint_section: START_TERM_CODE_CONSTRAINT term_code_body Right_bracket_code1147 # [[a-zA-Z0-9\(\)\._\-]+::[ \t\n]* [[a-zA-Z0-9\._\-]*[ \t]*] 1137 1148 term_code_constraint_section: START_TERM_CODE_CONSTRAINT term_code_body END_TERM_CODE_CONSTRAINT 1149 { 1150 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}") 1151 @@logger.debug("#{__FILE__}:#{__LINE__}, term_code_body = #{val[1]}") 1152 @@logger.debug("#{__FILE__}:#{__LINE__}, END_TERM_CODE_CONSTRAINT = #{val[2]}") 1153 result = val[1] 1154 } 1155 1156 1138 1157 term_code_body: # empty 1139 1158 | TERM_CODE 1140 1159 | term_code_body TERM_CODE 1141 ### term_code_constraint_section: START_TERM_CODE_CONSTRAINT term_code_body END_TERM_CODE_CONSTRAINT1142 1160 ### term_code_body: TERM_CODE 1143 1161 ### | term_code_body TERM_CODE … … 1155 1173 | V_ATTRIBUTE_IDENTIFIER 1156 1174 { 1157 @@log .info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")1175 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") 1158 1176 result = val[0] 1159 1177 } … … 1194 1212 1195 1213 if $DEBUG 1196 @@log = Logger.new('log/parser.log','daily')1197 @@log .level = Logger::INFO1214 @@logger = Logger.new('log/parser.log','daily') 1215 @@logger.level = Logger::INFO 1198 1216 else 1199 @@log = Logger.new(STDOUT)1200 @@log .level = Logger::WARN1217 @@logger = Logger.new(STDOUT) 1218 @@logger.level = Logger::WARN 1201 1219 end 1202 1220 … … 1263 1281 1264 1282 def scan 1283 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 1265 1284 until @data.nil? do 1266 1285 case @adl_type.last … … 1279 1298 when :regexp 1280 1299 @data = scan_regexp(@data) do |sym, val| 1300 yield sym, val 1301 end 1302 when :term_constraint 1303 @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 1304 @data = scan_term_constraint(@data) do |sym, val| 1281 1305 yield sym, val 1282 1306 end … … 1291 1315 1292 1316 def scan_adl(data) 1317 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_adl at #{@filename}:#{@lineno}: data = #{data.inspect}") 1293 1318 until data.nil? do 1294 1319 case @adl_type.last 1295 1320 when :adl 1296 # puts "Entering scan_adl"1297 1321 case data 1298 1322 when /\A\n/ # carriage return … … 1303 1327 when /\A--.*\n/ # single line comment 1304 1328 @lineno += 1 1305 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: COMMENT = #{$&} at #{@filename}:#{@lineno}")1329 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 1306 1330 ; 1307 1331 when /\Adescription/ # description … … 1309 1333 when /\Adefinition/ # definition 1310 1334 yield :SYM_DEFINITION, :SYM_DEFINITION 1311 # @adl_type.push(:cadl)1312 1335 ###----------/* symbols */ ------------------------------------------------- 1313 1336 when /\A[A-Z][a-zA-Z0-9_]*/ 1314 1337 yield :V_TYPE_IDENTIFIER, $& 1315 1338 # when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/ #V_ARCHETYPE_ID 1316 when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v [0-9]+)/ #V_ARCHETYPE_ID1339 when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v\w+)/ #V_ARCHETYPE_ID 1317 1340 object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6 1318 1341 archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id) … … 1323 1346 word = $& 1324 1347 if @@adl_reserved[word] 1325 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: @@adl_reserved = #{@@adl_reserved[word]} at #{@filename}:#{@lineno}")1348 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: @@adl_reserved = #{@@adl_reserved[word]} at #{@filename}:#{@lineno}") 1326 1349 yield @@adl_reserved[word], @@adl_reserved[word] 1327 1350 elsif #/\A[A-Z][a-zA-Z0-9_]*/ 1328 @@log .info("#{__FILE__}:#{__LINE__}: scan_adl: V_ATTRIBUTE_IDENTIFIER = #{$&} at #{@filename}:#{@lineno}")1351 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: V_ATTRIBUTE_IDENTIFIER = #{$&} at #{@filename}:#{@lineno}") 1329 1352 yield :V_ATTRIBUTE_IDENTIFIER, $& 1330 1353 end … … 1349 1372 else 1350 1373 adl_type = @adl_type.pop 1351 # puts "Escaping #{adl_type}"1352 1374 assert_at(__FILE__,__LINE__){adl_type == :dadl} 1353 1375 yield :SYM_END_DBLOCK, :SYM_END_DBLOCK … … 1355 1377 when /\A\{/ # { 1356 1378 @adl_type.push(:cadl) 1357 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}")1379 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}") 1358 1380 yield :SYM_START_CBLOCK, :SYM_START_CBLOCK 1359 1381 when /\A\}/ # } … … 1361 1383 # puts "Escaping #{adl_type}" 1362 1384 assert_at(__FILE__,__LINE__){adl_type == :cadl} 1363 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}")1385 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}") 1364 1386 yield :SYM_END_CBLOCK, $& 1365 1387 when /\A\-/ # - … … 1446 1468 data = $' # variable $' receives the string after the match 1447 1469 when :dadl 1448 # puts "Entering scan_dadl"1449 1470 data = scan_dadl(data) do |sym, val| 1450 1471 yield sym, val 1451 1472 end 1452 1473 when :cadl 1453 # puts "Entering scan_cadl"1454 1474 data = scan_cadl(data) do |sym, val| 1455 1475 yield sym, val 1456 1476 end 1457 1477 when :regexp 1458 # puts "Entering scan_regexp"1459 1478 data = scan_regexp(data) do |sym, val| 1460 1479 yield sym, val 1461 1480 end 1462 1481 when :term_constraint 1463 # puts "Entering scan_term_constraint" 1482 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_adl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 1483 1464 1484 data = scan_term_constraint(data) do |sym, val| 1465 1485 yield sym, val … … 1473 1493 1474 1494 def scan_cadl(data) 1495 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_cadl at #{@filename}:#{@lineno}: data = #{data.inspect}") 1475 1496 until data.nil? do 1476 1497 case @adl_type.last 1477 1498 when :cadl 1478 # puts "Entering scan_cadl"1479 1499 case scanned = @@cadl_scanner.parse(data) 1480 1500 when Yaparc::Result::OK … … 1497 1517 when /\A--.*\n/ # single line comment 1498 1518 @lineno += 1 1499 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: COMMENT = #{$&} at #{@filename}:#{@lineno}")1519 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 1500 1520 ; 1501 1521 ###----------/* symbols */ ------------------------------------------------- … … 1565 1585 when /\A\{/ # { 1566 1586 @adl_type.push(:cadl) 1567 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}")1587 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: entering cADL at #{@filename}:#{@lineno}") 1568 1588 yield :SYM_START_CBLOCK, :SYM_START_CBLOCK 1569 1589 when /\A\}/ # } … … 1571 1591 # puts "Escaping #{adl_type}" 1572 1592 assert_at(__FILE__,__LINE__){adl_type == :cadl} 1573 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}")1593 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: exiting cADL at #{@filename}:#{@lineno}") 1574 1594 yield :SYM_END_CBLOCK, :SYM_END_CBLOCK 1575 1595 when /\A\$/ # $ … … 1580 1600 yield :Question_mark_code, :Question_mark_code 1581 1601 when /\A\|/ # | 1582 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}")1602 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}") 1583 1603 if @in_interval 1584 1604 @in_interval = false … … 1587 1607 @in_interval = true 1588 1608 end 1589 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}")1609 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}") 1590 1610 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 1591 1611 1592 when /\A\[[a-zA-Z0-9._\-]+::[a-zA-Z0-9._\-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 1612 when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 1613 # when /\A\[[a-zA-Z0-9._\-]+::[a-zA-Z0-9._\-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] 1593 1614 yield :V_QUALIFIED_TERM_CODE_REF, $& 1594 1615 when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF 1595 1616 yield :ERR_V_QUALIFIED_TERM_CODE_REF, $& 1596 when /\A\[([a-zA-Z0-9()._\-]+::[a-zA-Z0-9._\_-]+)\]/ 1597 yield :V_TERM_CODE_CONSTRAINT, :V_TERM_CODE_CONSTRAINT 1598 when /\A\[[a-zA-Z0-9\(\)\._\-]+::[ \t\n]*/ 1617 when /\A\[([a-zA-Z0-9\(\)\._\-]+)::[ \t\n]*/ 1599 1618 @adl_type.push(:term_constraint) 1600 yield :START_TERM_CODE_CONSTRAINT, $ &1619 yield :START_TERM_CODE_CONSTRAINT, $1 1601 1620 when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF 1602 1621 yield :V_LOCAL_TERM_CODE_REF, $& … … 1618 1637 yield @@cadl_reserved[word.downcase], @@cadl_reserved[word.downcase] 1619 1638 else 1620 @@log .info("#{__FILE__}:#{__LINE__}: scan_cadl: V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}:#{@lineno}")1639 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}:#{@lineno}") 1621 1640 yield :V_ATTRIBUTE_IDENTIFIER, word #V_ATTRIBUTE_IDENTIFIER /\A[a-z][a-zA-Z0-9_]*/ 1622 1641 end … … 1654 1673 data = $' # variable $' receives the string after the match 1655 1674 when :adl 1656 # puts "Entering scan_adl"1657 1675 data = scan_adl(data) do |sym, val| 1658 1676 yield sym, val 1659 1677 end 1660 1678 when :dadl 1661 # puts "Entering scan_dadl"1662 1679 data = scan_dadl(data) do |sym, val| 1663 1680 yield sym, val 1664 1681 end 1665 1682 when :regexp 1666 # puts "Entering scan_regexp"1667 1683 data = scan_regexp(data) do |sym, val| 1668 1684 yield sym, val 1669 1685 end 1670 1686 when :term_constraint 1671 # puts "Entering scan_term_constraint" 1687 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_cadl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 1688 1672 1689 data = scan_term_constraint(data) do |sym, val| 1673 1690 yield sym, val … … 1680 1697 1681 1698 def scan_dadl(data) 1699 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_dadl at #{@filename}:#{@lineno}: data = #{data.inspect}") 1682 1700 until data.nil? do 1683 1701 case @adl_type.last 1684 1702 when :dadl 1685 # puts "Entering scan_dadl"1686 1703 case scanned = @@dadl_scanner.parse(data) 1687 1704 when Yaparc::Result::OK … … 1699 1716 when /\A--.*\n/ # single line comment 1700 1717 @lineno += 1 1701 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: COMMENT = #{$&} at #{@filename}:#{@lineno}")1718 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: COMMENT = #{$&} at #{@filename}:#{@lineno}") 1702 1719 ; 1703 1720 ###----------/* symbols */ ------------------------------------------------- … … 1730 1747 elsif @in_c_domain_type == false 1731 1748 adl_type = @adl_type.pop 1732 # puts "Escaping #{adl_type}"1733 1749 assert_at(__FILE__,__LINE__){adl_type == :dadl} 1734 1750 yield :SYM_END_DBLOCK, $& … … 1771 1787 yield :Question_mark_code, :Question_mark_code 1772 1788 when /\A\|/ # | 1773 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}")1789 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: @in_interval = #{@in_interval} at #{@filename}:#{@lineno}") 1774 1790 if @in_interval 1775 1791 @in_interval = false … … 1778 1794 @in_interval = true 1779 1795 end 1780 @@log .info("#{__FILE__}:#{__LINE__}: scan_dadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}")1796 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: SYM_INTERVAL_DELIM at #{@filename}:#{@lineno}") 1781 1797 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM 1782 1798 ### when /\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/ #V_QUALIFIED_TERM_CODE_REF form [ICD10AM(1998)::F23] … … 1827 1843 data = $' # variable $' receives the string after the match 1828 1844 when :adl 1829 # puts "Entering scan_adl"1830 1845 data = scan_adl(data) do |sym, val| 1831 1846 yield sym, val 1832 1847 end 1833 1848 when :cadl 1834 # puts "Entering scan_cadl"1835 1849 data = scan_cadl(data) do |sym, val| 1836 1850 yield sym, val … … 1842 1856 end 1843 1857 when :term_constraint 1844 # puts "Entering scan_term_constraint" 1858 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_dadl: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 1859 1845 1860 data = scan_term_constraint(data) do |sym, val| 1846 1861 yield sym, val … … 1853 1868 1854 1869 def scan_regexp(data) 1870 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_regexp at #{@filename}:#{@lineno}: data = #{data.inspect}") 1855 1871 until data.nil? do 1856 1872 case @adl_type.last 1857 1873 when :regexp 1858 # puts "Entering scan_regexp"1859 1874 case data 1860 1875 when /\A\/\}/ #V_REGEXP … … 1880 1895 data = $' # variable $' receives the string after the match 1881 1896 when :adl 1882 # puts "Entering scan_adl"1883 1897 data = scan_adl(data) do |sym, val| 1884 1898 yield sym, val 1885 1899 end 1886 1900 when :dadl 1887 # puts "Entering scan_dadl"1888 1901 data = scan_dadl(data) do |sym, val| 1889 1902 yield sym, val 1890 1903 end 1891 1904 when :cadl 1892 # puts "Entering scan_cadl"1893 1905 data = scan_cadl(data) do |sym, val| 1894 1906 yield sym, val 1895 1907 end 1896 1908 when :term_constraint 1897 # puts "Entering scan_term_constraint" 1909 @@logger.debug("#{__FILE__}:#{__LINE__}: scan_regexp: Entering scan_term_constraint at #{@filename}:#{@lineno}") 1898 1910 data = scan_term_constraint(data) do |sym, val| 1899 1911 yield sym, val … … 1906 1918 1907 1919 def scan_term_constraint(data) 1920 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan_term_constraint") 1908 1921 until data.nil? do 1909 1922 case @adl_type.last 1910 1923 when :term_constraint 1911 # puts "Entering scan_term_constraint"1912 1924 case data 1913 1925 when /\A\n/ # carriage return … … 1918 1930 when /\A--.*$/ # single line comment 1919 1931 @lineno += 1 1920 @@log.info("#{__FILE__}:#{__LINE__}: scan_term_constraint: COMMENT = #{$&} at #{@filename}:#{@lineno}")1932 #@@logger.debug("#{__FILE__}:#{__LINE__}: scan_term_constraint: COMMENT = #{$&} at #{@filename}:#{@lineno}") 1921 1933 ; 1922 when /\A[a-zA-Z0-9\._\-]+[ \t]*,/ # match any line, with ',' termination 1923 yield :TERM_CODE, $& 1924 when /\A[a-zA-Z0-9\._\-]+[ \t]*;/ #match second last line with ';' termination (assumed value) 1925 yield :TERM_CODE, $& 1926 # when /\A[a-zA-Z0-9\._\-]+[ \t]*\]/ # match final line, terminating in ']' 1927 when /\A[a-zA-Z0-9\._\-]*[ \t]*\]/ # match final line, terminating in ']' 1934 when /\A([a-zA-Z0-9\._\-])+[ \t]*,/ # match any line, with ',' termination 1935 yield :TERM_CODE, $1 1936 when /\A([a-zA-Z0-9\._\-])+[ \t]*;/ # match second last line with ';' termination (assumed value) 1937 yield :TERM_CODE, $1 1938 when /\A([a-zA-Z0-9\._\-])*[ \t]*\]/ # match final line, terminating in ']' 1928 1939 adl_type = @adl_type.pop 1929 1940 assert_at(__FILE__,__LINE__){adl_type == :term_constraint} 1930 yield :END_TERM_CODE_CONSTRAINT, $ &1941 yield :END_TERM_CODE_CONSTRAINT, $1 1931 1942 else 1932 1943 raise "data = #{data}" … … 1934 1945 data = $' # variable $' receives the string after the match 1935 1946 when :adl 1936 # puts "Entering scan_adl"1937 1947 data = scan_adl(data) do |sym, val| 1938 1948 yield sym, val 1939 1949 end 1940 1950 when :dadl 1941 # puts "Entering scan_dadl"1942 1951 data = scan_dadl(data) do |sym, val| 1943 1952 yield sym, val 1944 1953 end 1945 1954 when :cadl 1946 # puts "Entering scan_cadl"1947 1955 data = scan_cadl(data) do |sym, val| 1948 1956 yield sym, val -
ruby/trunk/lib/adl_parser/test/parser_test.rb
r258 r261 1 #require 'lib/adl_parser.rb'2 1 require File.dirname(__FILE__) + '/test_helper.rb' 3 2 … … 7 6 end 8 7 9 def test_init8 must "assert parser instance" do 10 9 assert_instance_of ::OpenEHR::ADL::Parser,@parser 11 10 end 12 11 13 def test_parse12 must "openEHR-EHR-OBSERVATION.body_mass_index.v1.adl be properly parsed" do 14 13 body_mass_index = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl") 15 # body_mass_index = File.read('test/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl')16 14 assert_nothing_raised do 17 15 ast = @parser.parse(body_mass_index, 'openEHR-EHR-OBSERVATION.body_mass_index.v1.adl') 18 16 assert_instance_of OpenEHR::RM::Support::Identification::Archetype_ID, ast.archetype_id 19 17 end 20 18 end 19 20 must "openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl be properly parsed" do 21 21 laboratory_request = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl") 22 22 assert_nothing_raised do … … 26 26 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, result.definition 27 27 end 28 28 end 29 30 must "openEHR-EHR-OBSERVATION.apgar.v1.adl be properly parsed" do 29 31 apgar = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-OBSERVATION.apgar.v1.adl") 30 32 assert_nothing_raised do … … 34 36 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, result.definition 35 37 end 36 38 end 39 40 must "openEHR-EHR-EVALUATION.adverse.v1.adl be properly parsed" do 37 41 evaluation = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-EVALUATION.adverse.v1.adl") 38 42 assert_nothing_raised do 39 43 @parser.parse(evaluation, 'openEHR-EHR-EVALUATION.adverse.v1') 40 44 end 41 45 end 46 47 must "openEHR-EHR-ITEM_TREE.referral.v1.adl be properly parsed" do 42 48 referral = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.referral.v1.adl") 43 49 assert_nothing_raised do 44 50 @parser.parse(referral, 'openEHR-EHR-ITEM_TREE.referral.v1') 45 51 end 46 52 end 53 54 must "openEHR-EHR-CLUSTER.exam-fetus.v1.adl be properly parsed" do 47 55 exam_fetus = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-fetus.v1.adl") 48 56 assert_nothing_raised do 49 57 @parser.parse(exam_fetus, 'openEHR-EHR-CLUSTER.exam-fetus.v1') 50 58 end 51 59 end 60 61 must "openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl be properly parsed" do 52 62 exam_uterine_cervix = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl") 53 63 assert_nothing_raised do 54 64 @parser.parse(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1') 55 65 end 56 66 end 67 68 must "openEHR-EHR-ACTION.imaging.v1.adl be properly parsed" do 57 69 imaging = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ACTION.imaging.v1.adl") 58 70 assert_nothing_raised do 59 71 @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1') 60 72 end 61 73 end 74 75 must "openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl be properly parsed" do 62 76 exam_nervous_system = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl") 63 77 assert_nothing_raised do 64 78 @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1') 65 79 end 66 80 end 81 82 must "openEHR-EHR-CLUSTER.exam-generic.v1.adl be properly parsed" do 67 83 exam_generic = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic.v1.adl") 68 84 assert_nothing_raised do 69 85 @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1') 70 86 end 71 87 end 88 89 must "openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl be properly parsed" do 72 90 exam_generic_mass = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl") 73 91 assert_nothing_raised do 74 92 @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1') 75 93 end 76 77 # exam_generic_lymphnode = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl") 78 # assert_nothing_raised do 79 # @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1') 80 # end 81 82 # exam_generic_joint = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl") 83 # assert_nothing_raised do 84 # @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1') 85 # end 86 87 # exam_chest = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl") 88 # assert_nothing_raised do 89 # @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1') 90 # end 91 92 # exam_abdomen = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl") 93 # assert_nothing_raised do 94 # @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1') 95 # end 96 97 # cluster_auscultation = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl") 98 # assert_nothing_raised do 99 # @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1') 100 # end 101 102 # cluster_auscultation_chest = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl") 103 # assert_nothing_raised do 104 # @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1') 105 # end 106 107 # vital_signs = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.vital_signs.v1.adl") 108 # assert_nothing_raised do 109 # @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1') 110 # end 111 112 # summary = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.summary.v1.adl") 113 # assert_nothing_raised do 114 # @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1') 115 # end 116 117 # findings = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.findings.v1.adl") 118 # assert_nothing_raised do 119 # @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1') 120 # end 121 122 # reason_for_encounter = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl") 123 # assert_nothing_raised do 124 # @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1') 125 # end 126 127 # imaging = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.imaging.v1.adl") 128 # assert_nothing_raised do 129 # @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1') 130 # end 131 132 # instruction_referral = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl") 133 # assert_nothing_raised do 134 # @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1') 135 # end 136 137 # instruction_medication = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl") 138 # assert_nothing_raised do 139 # @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1') 140 # end 141 142 # action_referral = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ACTION.referral.v1.adl") 143 # assert_nothing_raised do 144 # @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1') 145 # end 146 147 # dimensions_circumference = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl") 148 # assert_nothing_raised do 149 # @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1') 150 # end 151 152 # discharge = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl") 153 # assert_nothing_raised do 154 # @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft') 155 # end 156 157 # encounter = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl") 158 # assert_nothing_raised do 159 # @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft') 160 # end 161 162 163 # medication = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.medication.v1.adl") 164 # assert_nothing_raised do 165 # @parser.parse(medication, 'openEHR-EHR-ITEM_TREE.medication.v1.adl") 166 # end 94 end 95 96 must "openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl be properly parsed" do 97 exam_generic_lymphnode = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl") 98 assert_nothing_raised do 99 @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1') 100 end 101 end 102 103 must "openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl be properly parsed" do 104 exam_generic_joint = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl") 105 assert_nothing_raised do 106 @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1') 107 end 108 end 109 110 must "openEHR-EHR-CLUSTER.exam-chest.v1.adl be properly parsed" do 111 exam_chest = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl") 112 assert_nothing_raised do 113 @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1') 114 end 115 end 116 117 must "openEHR-EHR-CLUSTER.exam-abdomen.v1.adl be properly parsed" do 118 exam_abdomen = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl") 119 assert_nothing_raised do 120 @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1') 121 end 122 end 123 124 must "openEHR-EHR-CLUSTER.auscultation.v1.adl be properly parsed" do 125 cluster_auscultation = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl") 126 assert_nothing_raised do 127 @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1') 128 end 129 end 130 131 must "openEHR-EHR-CLUSTER.auscultation-chest.v1.adl be properly parsed" do 132 cluster_auscultation_chest = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl") 133 assert_nothing_raised do 134 @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1') 135 end 136 end 137 138 must "openEHR-EHR-SECTION.vital_signs.v1.adl be properly parsed" do 139 vital_signs = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.vital_signs.v1.adl") 140 assert_nothing_raised do 141 @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1') 142 end 143 end 144 145 must "openEHR-EHR-SECTION.summary.v1.adl be properly parsed" do 146 summary = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.summary.v1.adl") 147 assert_nothing_raised do 148 @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1') 149 end 150 end 151 152 must "openEHR-EHR-SECTION.findings.v1.adl be properly parsed" do 153 findings = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.findings.v1.adl") 154 assert_nothing_raised do 155 @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1') 156 end 157 end 158 159 must "openEHR-EHR-SECTION.reason_for_encounter.v1.adl be properly parsed" do 160 reason_for_encounter = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl") 161 assert_nothing_raised do 162 @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1') 163 end 164 end 165 166 must "openEHR-EHR-ITEM_TREE.imaging.v1.adl be properly parsed" do 167 imaging = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.imaging.v1.adl") 168 assert_nothing_raised do 169 @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1') 170 end 171 end 172 173 must "openEHR-EHR-INSTRUCTION.referral.v1.adl be properly parsed" do 174 instruction_referral = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl") 175 assert_nothing_raised do 176 @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1') 177 end 178 end 179 180 must "openEHR-EHR-INSTRUCTION.medication.v1.adl be properly parsed" do 181 instruction_medication = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl") 182 assert_nothing_raised do 183 @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1') 184 end 185 end 186 187 must "openEHR-EHR-ACTION.referral.v1.adl be properly parsed" do 188 action_referral = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ACTION.referral.v1.adl") 189 assert_nothing_raised do 190 @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1') 191 end 192 end 193 194 must "openEHR-EHR-CLUSTER.dimensions.v1.adl be properly parsed" do 195 dimensions_circumference = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl") 196 assert_nothing_raised do 197 @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1') 198 end 199 end 200 201 must "openEHR-EHR-COMPOSITION.discharge.v1draft.adl be properly parsed" do 202 discharge = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl") 203 assert_nothing_raised do 204 @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft') 205 end 206 end 207 208 must "openEHR-EHR-COMPOSITION.encounter.v1draft.adl be properly parsed" do 209 encounter = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl") 210 assert_nothing_raised do 211 @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft') 212 end 213 end 214 215 must "openEHR-EHR-ITEM_TREE.medication.v1.adl be properly parsed" do 216 medication = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.medication.v1.adl") 217 assert_nothing_raised do 218 @parser.parse(medication, 'openEHR-EHR-ITEM_TREE.medication.v1.adl') 219 end 167 220 end 168 221 end -
ruby/trunk/lib/adl_parser/test/scanner_test.rb
r116 r261 1 require 'lib/adl_parser.rb' 2 #require 'lib/scanner.rb' 3 require 'test/unit' 1 require File.dirname(__FILE__) + '/test_helper.rb' 4 2 5 3 class YaparcParserTest < Test::Unit::TestCase 6 def test_RootScanner4 must "assert root scanner instance" do 7 5 parser = OpenEHR::ADL::Scanner::DADL::RootScanner.new 8 6 assert_instance_of OpenEHR::ADL::Scanner::DADL::RootScanner,parser … … 10 8 end 11 9 12 def test_V_LOCAL_TERM_CODE_REF 10 # \[{ALPHANUM}{NAMECHAR}*\] 11 must "assert V_LOCAL_TERM_CODE_REF scanner is properly working" do 13 12 parser = OpenEHR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new 14 13 assert_instance_of OpenEHR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF,parser … … 17 16 end 18 17 19 def test_V_QUALIFIED_TERM_CODE_REF18 must "assert V_QUALIFIED_TERM_CODE_REF scanner is properly working" do 20 19 parser = OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new 21 20 assert_instance_of OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF,parser … … 26 25 end 27 26 28 def test_V_STRING27 must "assert V_STRING scanner is properly working" do 29 28 parser = OpenEHR::ADL::Scanner::Common::V_STRING.new 30 29 assert_instance_of OpenEHR::ADL::Scanner::Common::V_STRING,parser … … 35 34 end 36 35 37 def test_V_REAL36 must "assert V_REAL scanner is properly working" do 38 37 parser = OpenEHR::ADL::Scanner::Common::V_REAL.new 39 38 assert_instance_of OpenEHR::ADL::Scanner::Common::V_REAL,parser … … 46 45 end 47 46 48 def test_V_ISO8601_DURATION47 must "assert V_ISO8601_DURATION scanner is properly working" do 49 48 parser = OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new 50 49 assert_instance_of OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION,parser … … 56 55 end 57 56 58 def test_V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN57 must "assert V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN scanner is properly working" do 59 58 parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN.new 60 59 assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN,parser … … 63 62 end 64 63 65 def test_V_ISO8601_DATE_CONSTRAINT_PATTERN64 must "assert V_ISO8601_DATE_CONSTRAINT_PATTERN scanner is properly working" do 66 65 parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN.new 67 66 assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN,parser … … 70 69 end 71 70 72 def test_V_ISO8601_TIME_CONSTRAINT_PATTERN71 must "assert V_ISO8601_TIME_CONSTRAINT_PATTERN scanner is properly working" do 73 72 parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN.new 74 73 assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN,parser … … 77 76 end 78 77 79 def test_dadl_reserved78 must "assert reserved words in dADL scanner is properly working" do 80 79 parser = OpenEHR::ADL::Scanner::DADL::RootScanner.new 81 80 result = parser.parse('then') … … 86 85 end 87 86 88 def test_cadl87 must "assert reserved words in cADL scanner is properly working" do 89 88 parser = OpenEHR::ADL::Scanner::CADL::RootScanner.new 90 89 assert_instance_of OpenEHR::ADL::Scanner::CADL::RootScanner,parser … … 97 96 end 98 97 99 def test_cadl_reserved98 must "assert other reserved words in cADL scanner is properly working" do 100 99 parser = OpenEHR::ADL::Scanner::CADL::RootScanner.new 101 100 result = parser.parse('then') … … 109 108 assert_equal [:SYM_ORDERED, :SYM_ORDERED], result.value 110 109 end 111 112 113 110 end -
ruby/trunk/lib/adl_parser/test/semantic_test.rb
r116 r261 1 require 'lib/adl_parser.rb' 2 require 'test/unit' 1 require File.dirname(__FILE__) + '/test_helper.rb' 3 2 4 3 class ADLSemanticTest < Test::Unit::TestCase … … 7 6 end 8 7 9 def test_init8 must "assert adl parser instance" do 10 9 assert_instance_of ::OpenEHR::ADL::Parser,@parser 11 10 end -
ruby/trunk/lib/adl_parser/test/shell_test.rb
r116 r261 1 require 'lib/adl_parser.rb' 2 require 'test/unit' 1 require File.dirname(__FILE__) + '/test_helper.rb' 3 2 4 3 class ShellADLValidatorTest < Test::Unit::TestCase … … 7 6 end 8 7 9 def test_init8 must "assert application validator instance" do 10 9 assert_instance_of ::OpenEHR::Application::ADLValidator,@adl_validator 11 10 end 12 11 13 def test_run 12 13 must "validating openEHR-EHR-CLUSTER.exam-nervous_system.v1 using File.open not raised" do 14 14 assert_nothing_raised do 15 adl_file = File.open( 'test/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')15 adl_file = File.open("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl") 16 16 @adl_validator.run(adl_file) 17 17 end 18 end 19 20 must "validating openEHR-EHR-CLUSTER.exam-nervous_system.v1 using File.read not raised" do 18 21 assert_nothing_raised do 19 adl_string = File.open('test/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl') 20 @adl_validator.run(adl_string) 21 end 22 assert_nothing_raised do 23 adl_string = File.read('test/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl') 22 adl_string = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl") 24 23 stringio = StringIO.new(adl_string) 25 24 @adl_validator.run(stringio) -
ruby/trunk/lib/adl_parser/test/test_helper.rb
r258 r261 5 5 require "rubygems" 6 6 require 'adl_parser.rb' 7 require 'adl_scanner.rb' 7 8 require 'rm.rb' 8 9 require 'am.rb' 9 10 10 11 12 # c.f. "Ruby Best Practice",p.75 13 module Test::Unit 14 class TestCase 15 def self.must(name, &block) 16 test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym 17 defined = instance_method(test_name) rescue false 18 raise "#{test_name} is already defined in #{self}" if defined 19 if block_given? 20 define_method(test_name, &block) 21 else 22 define_method(test_name) do 23 flunk "No implementation provided for #{name}" 24 end 25 end 26 end 27 end 28 end -
ruby/trunk/lib/adl_parser/test/validator_test.rb
r116 r261 1 require 'lib/adl_parser.rb'2 require 'test/unit' 1 require File.dirname(__FILE__) + '/test_helper.rb' 2 3 3 4 4 class ADLValidatorTest < Test::Unit::TestCase … … 7 7 end 8 8 9 def test_init9 must "assert adl validator instance" do 10 10 assert_instance_of ::OpenEHR::ADL::Validator,@validator 11 11 end 12 12 13 def test_validate14 exam_nervous_system = File.read( 'test/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')13 must "assert validation openEHR-EHR-CLUSTER.exam-nervous_system.v1" do 14 exam_nervous_system = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl") 15 15 assert_nothing_raised do 16 @validator.validate(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1 .adl')16 @validator.validate(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1') 17 17 end 18 18 end 19 19 # exam_uterine_cervix = File.read('tests/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl') 20 20 # # assert_raise(Racc::ParseError) do 21 21 # @validator.validate(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl') 22 22 # # end 23 24 end25 23 end
Note:
See TracChangeset
for help on using the changeset viewer.