Changeset 26 for ruby/trunk/adl_parser/lib/parser.y
- Timestamp:
- May 2, 2008, 1:47:51 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/adl_parser/lib/parser.y
r25 r26 39 39 end 40 40 41 result = OpenEHR::AM::Archetype::ARCHETYPE.new( 42 :description => val[4], 43 :definition => val[5], 44 :ontology => val[7] 45 ) 41 archetype_id = val[0][:archetype_id] 42 adl_version = val[0][:arch_head][:arch_meta_data][:adl_version] 43 concept = val[2] 44 language = val[3][:arch_language] 45 archetype = OpenEHR::AM::Archetype::ARCHETYPE.create( 46 :archetype_id => archetype_id, 47 :adl_version => adl_version, 48 :concept => concept, 49 :description => val[4], 50 :definition => val[5], 51 :ontology => val[7] 52 ) do |archetype| 53 archetype.original_language = language 54 end 55 @@log.info("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}") 56 result = archetype 46 57 } 47 58 … … 62 73 | SYM_ARCHETYPE arch_meta_data 63 74 { 75 result = val[1] 76 } 77 78 arch_meta_data: Left_parenthesis_code arch_meta_data_items Right_parenthesis_code 79 { 64 80 result = {:arch_meta_data => val[1] } 65 81 } 66 82 67 arch_meta_data: Left_parenthesis_code arch_meta_data_items Right_parenthesis_code68 {69 result = {:arch_meta_data_items => val[1] }70 }71 72 83 arch_meta_data_items: arch_meta_data_item 73 84 { 74 result = Array[val[0]]85 result = val[0] 75 86 } 76 87 | arch_meta_data_items Semicolon_code arch_meta_data_item 77 88 { 78 result = (val[0] <<val[2])89 result = val[0].merge(val[2]) 79 90 } 80 91 … … 82 93 arch_meta_data_item: SYM_ADL_VERSION SYM_EQ V_VERSION_STRING 83 94 { 84 result = {:adl_version => val[2] }95 result = {:adl_version => val[2], :is_controlled => false } 85 96 } 86 97 | SYM_IS_CONTROLLED 87 98 { 88 result = val[0]99 result = {:is_controlled => true } 89 100 } 90 101 … … 96 107 97 108 arch_concept: SYM_CONCEPT V_LOCAL_TERM_CODE_REF 109 { 110 result = {:arch_concept => val[1] } 111 } 98 112 | SYM_CONCEPT error 99 113 … … 103 117 104 118 arch_language: #-- empty is ok for ADL 1.4 tools 119 { 120 result = {:arch_language => nil} 121 } 105 122 | SYM_LANGUAGE dadl_section 106 123 { 107 result = {: language => val[1]}124 result = {:arch_language => val[1]} 108 125 } 109 126 | SYM_LANGUAGE error … … 389 406 arch_ontology: SYM_ONTOLOGY dadl_section 390 407 { 391 dadl_section s= val[1]408 dadl_section = val[1] 392 409 result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new 393 410 } … … 808 825 { 809 826 @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") 827 result = val[0] 810 828 } 811 829 … … 817 835 { 818 836 @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") 837 result = val[0] 819 838 } 820 839 … … 1087 1106 1088 1107 duration_pattern: V_ISO8601_DURATION_CONSTRAINT_PATTERN 1108 { 1109 result = val[0] 1110 } 1089 1111 1090 1112 … … 1096 1118 require 'lib/util.rb' 1097 1119 require 'lib/scanner.rb' 1098 #require 'lib/model.rb'1099 1120 require 'rubygems' 1100 1121 require 'am.rb'
Note:
See TracChangeset
for help on using the changeset viewer.