Changeset 261 for ruby/trunk/lib/adl_parser/lib/parser.y
- Timestamp:
- Sep 14, 2009, 5:12:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.