Changeset 26


Ignore:
Timestamp:
May 2, 2008, 1:47:51 AM (16 years ago)
Author:
Tatsukawa, Akimichi
Message:

fixed parser.y

Location:
ruby/trunk
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/adl_parser/Rakefile

    r21 r26  
    9292  s.extra_rdoc_files = ["README"]
    9393  s.add_dependency("yaparc", ">= 0.2.0")
     94  s.add_dependency("openehr_models", ">= 0.0.1")
    9495end
    9596
  • ruby/trunk/adl_parser/lib/parser.rb

    r25 r26  
    1313require 'lib/util.rb'
    1414require 'lib/scanner.rb'
    15 #require 'lib/model.rb'
    1615require 'rubygems'
    1716require 'am.rb'
     
    2726    class Parser < Racc::Parser
    2827
    29 module_eval <<'..end lib/parser.y modeval..iddb76fb97bf', 'lib/parser.y', 1106
     28module_eval <<'..end lib/parser.y modeval..id3b9eed63e6', 'lib/parser.y', 1127
    3029
    3130def assert_at(file,line, message = "")
     
    820819
    821820
    822 ..end lib/parser.y modeval..iddb76fb97bf
     821..end lib/parser.y modeval..id3b9eed63e6
    823822
    824823##### racc 1.4.5 generates ###
     
    841840 2, 98, :_reduce_none,
    842841 2, 98, :_reduce_none,
     842 2, 99, :_reduce_16,
    843843 2, 99, :_reduce_none,
    844  2, 99, :_reduce_none,
    845  0, 100, :_reduce_none,
     844 0, 100, :_reduce_18,
    846845 2, 100, :_reduce_19,
    847846 2, 100, :_reduce_none,
     
    12001199 1, 149, :_reduce_none,
    12011200 1, 149, :_reduce_374,
    1202  1, 217, :_reduce_none ]
     1201 1, 217, :_reduce_375 ]
    12031202
    12041203racc_reduce_n = 376
     
    20292028 # reduce 2 omitted
    20302029
    2031 module_eval <<'.,.,', 'lib/parser.y', 46
     2030module_eval <<'.,.,', 'lib/parser.y', 57
    20322031  def _reduce_3( val, _values, result )
    20332032    assert_at(__FILE__,__LINE__) do
     
    20352034    end
    20362035   
    2037     result = OpenEHR::AM::Archetype::ARCHETYPE.new(
    2038                                                    :description => val[4],
    2039                                                    :definition => val[5],
    2040                                                    :ontology => val[7]
    2041                                                    )
    2042    result
    2043   end
    2044 .,.,
    2045 
    2046 module_eval <<'.,.,', 'lib/parser.y', 52
     2036    archetype_id = val[0][:archetype_id]
     2037    adl_version = val[0][:arch_head][:arch_meta_data][:adl_version]
     2038    concept = val[2]
     2039    language = val[3][:arch_language]
     2040    archetype = OpenEHR::AM::Archetype::ARCHETYPE.create(
     2041                                                         :archetype_id => archetype_id,
     2042                                                         :adl_version => adl_version,
     2043                                                         :concept => concept,
     2044                                                         :description => val[4],
     2045                                                         :definition => val[5],
     2046                                                         :ontology => val[7]
     2047                                                         ) do |archetype|
     2048      archetype.original_language = language
     2049    end
     2050    @@log.info("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}")
     2051    result = archetype
     2052   result
     2053  end
     2054.,.,
     2055
     2056module_eval <<'.,.,', 'lib/parser.y', 63
    20472057  def _reduce_4( val, _values, result )
    20482058    result = {:arch_head => val[0], :archetype_id => val[1] }
     
    20512061.,.,
    20522062
    2053 module_eval <<'.,.,', 'lib/parser.y', 56
     2063module_eval <<'.,.,', 'lib/parser.y', 67
    20542064  def _reduce_5( val, _values, result )
    20552065    raise
     
    20582068.,.,
    20592069
    2060 module_eval <<'.,.,', 'lib/parser.y', 61
     2070module_eval <<'.,.,', 'lib/parser.y', 72
    20612071  def _reduce_6( val, _values, result )
    20622072    result = {:arch_meta_data => nil }
     
    20652075.,.,
    20662076
    2067 module_eval <<'.,.,', 'lib/parser.y', 65
     2077module_eval <<'.,.,', 'lib/parser.y', 76
    20682078  def _reduce_7( val, _values, result )
     2079    result = val[1]
     2080   result
     2081  end
     2082.,.,
     2083
     2084module_eval <<'.,.,', 'lib/parser.y', 81
     2085  def _reduce_8( val, _values, result )
    20692086    result = {:arch_meta_data => val[1] }
    20702087   result
     
    20722089.,.,
    20732090
    2074 module_eval <<'.,.,', 'lib/parser.y', 70
    2075   def _reduce_8( val, _values, result )
    2076     result = {:arch_meta_data_items => val[1] }
    2077    result
    2078   end
    2079 .,.,
    2080 
    2081 module_eval <<'.,.,', 'lib/parser.y', 75
     2091module_eval <<'.,.,', 'lib/parser.y', 86
    20822092  def _reduce_9( val, _values, result )
    2083     result = Array[val[0]]
    2084    result
    2085   end
    2086 .,.,
    2087 
    2088 module_eval <<'.,.,', 'lib/parser.y', 79
     2093    result = val[0]
     2094   result
     2095  end
     2096.,.,
     2097
     2098module_eval <<'.,.,', 'lib/parser.y', 90
    20892099  def _reduce_10( val, _values, result )
    2090     result = (val[0] << val[2])
    2091    result
    2092   end
    2093 .,.,
    2094 
    2095 module_eval <<'.,.,', 'lib/parser.y', 85
     2100    result = val[0].merge(val[2])
     2101   result
     2102  end
     2103.,.,
     2104
     2105module_eval <<'.,.,', 'lib/parser.y', 96
    20962106  def _reduce_11( val, _values, result )
    2097     result = {:adl_version => val[2] }
    2098    result
    2099   end
    2100 .,.,
    2101 
    2102 module_eval <<'.,.,', 'lib/parser.y', 89
     2107    result = {:adl_version => val[2], :is_controlled => false }
     2108   result
     2109  end
     2110.,.,
     2111
     2112module_eval <<'.,.,', 'lib/parser.y', 100
    21032113  def _reduce_12( val, _values, result )
    2104     result = val[0]
     2114    result = {:is_controlled => true }
    21052115   result
    21062116  end
     
    21132123 # reduce 15 omitted
    21142124
    2115  # reduce 16 omitted
     2125module_eval <<'.,.,', 'lib/parser.y', 111
     2126  def _reduce_16( val, _values, result )
     2127    result = {:arch_concept => val[1] }
     2128   result
     2129  end
     2130.,.,
    21162131
    21172132 # reduce 17 omitted
    21182133
    2119  # reduce 18 omitted
    2120 
    2121 module_eval <<'.,.,', 'lib/parser.y', 108
     2134module_eval <<'.,.,', 'lib/parser.y', 121
     2135  def _reduce_18( val, _values, result )
     2136    result = {:arch_language => nil}
     2137   result
     2138  end
     2139.,.,
     2140
     2141module_eval <<'.,.,', 'lib/parser.y', 125
    21222142  def _reduce_19( val, _values, result )
    2123     result = {:language => val[1]}
     2143    result = {:arch_language => val[1]}
    21242144   result
    21252145  end
     
    21302150 # reduce 21 omitted
    21312151
    2132 module_eval <<'.,.,', 'lib/parser.y', 119
     2152module_eval <<'.,.,', 'lib/parser.y', 136
    21332153  def _reduce_22( val, _values, result )
    21342154    result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
     
    21392159 # reduce 23 omitted
    21402160
    2141 module_eval <<'.,.,', 'lib/parser.y', 127
     2161module_eval <<'.,.,', 'lib/parser.y', 144
    21422162  def _reduce_24( val, _values, result )
    21432163    result = val[1]
     
    21482168 # reduce 25 omitted
    21492169
    2150 module_eval <<'.,.,', 'lib/parser.y', 137
     2170module_eval <<'.,.,', 'lib/parser.y', 154
    21512171  def _reduce_26( val, _values, result )
    21522172    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     
    21572177.,.,
    21582178
    2159 module_eval <<'.,.,', 'lib/parser.y', 141
     2179module_eval <<'.,.,', 'lib/parser.y', 158
    21602180  def _reduce_27( val, _values, result )
    21612181    result = val[0]
     
    21642184.,.,
    21652185
    2166 module_eval <<'.,.,', 'lib/parser.y', 152
     2186module_eval <<'.,.,', 'lib/parser.y', 169
    21672187  def _reduce_28( val, _values, result )
    21682188    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     
    21752195.,.,
    21762196
    2177 module_eval <<'.,.,', 'lib/parser.y', 160
     2197module_eval <<'.,.,', 'lib/parser.y', 177
    21782198  def _reduce_29( val, _values, result )
    21792199    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     
    21862206.,.,
    21872207
    2188 module_eval <<'.,.,', 'lib/parser.y', 167
     2208module_eval <<'.,.,', 'lib/parser.y', 184
    21892209  def _reduce_30( val, _values, result )
    21902210    result = {:c_complex_object_id => val[0], :c_occurrences => val[1]}
     
    21932213.,.,
    21942214
    2195 module_eval <<'.,.,', 'lib/parser.y', 172
     2215module_eval <<'.,.,', 'lib/parser.y', 189
    21962216  def _reduce_31( val, _values, result )
    21972217    result = {:type_identifier => val[0]}
     
    22002220.,.,
    22012221
    2202 module_eval <<'.,.,', 'lib/parser.y', 176
     2222module_eval <<'.,.,', 'lib/parser.y', 193
    22032223  def _reduce_32( val, _values, result )
    22042224    result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
     
    22092229 # reduce 33 omitted
    22102230
    2211 module_eval <<'.,.,', 'lib/parser.y', 182
     2231module_eval <<'.,.,', 'lib/parser.y', 199
    22122232  def _reduce_34( val, _values, result )
    22132233    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     
    22162236.,.,
    22172237
    2218 module_eval <<'.,.,', 'lib/parser.y', 190
     2238module_eval <<'.,.,', 'lib/parser.y', 207
    22192239  def _reduce_35( val, _values, result )
    22202240    result = val[0]
     
    22232243.,.,
    22242244
    2225 module_eval <<'.,.,', 'lib/parser.y', 194
     2245module_eval <<'.,.,', 'lib/parser.y', 211
    22262246  def _reduce_36( val, _values, result )
    22272247    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     
    22302250.,.,
    22312251
    2232 module_eval <<'.,.,', 'lib/parser.y', 198
     2252module_eval <<'.,.,', 'lib/parser.y', 215
    22332253  def _reduce_37( val, _values, result )
    22342254    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.new
     
    22372257.,.,
    22382258
    2239 module_eval <<'.,.,', 'lib/parser.y', 202
     2259module_eval <<'.,.,', 'lib/parser.y', 219
    22402260  def _reduce_38( val, _values, result )
    22412261    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.new
     
    22442264.,.,
    22452265
    2246 module_eval <<'.,.,', 'lib/parser.y', 206
     2266module_eval <<'.,.,', 'lib/parser.y', 223
    22472267  def _reduce_39( val, _values, result )
    22482268    result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.new
     
    22512271.,.,
    22522272
    2253 module_eval <<'.,.,', 'lib/parser.y', 210
     2273module_eval <<'.,.,', 'lib/parser.y', 227
    22542274  def _reduce_40( val, _values, result )
    22552275    result = val[0]
     
    22582278.,.,
    22592279
    2260 module_eval <<'.,.,', 'lib/parser.y', 214
     2280module_eval <<'.,.,', 'lib/parser.y', 231
    22612281  def _reduce_41( val, _values, result )
    22622282    result = val[0]
     
    22652285.,.,
    22662286
    2267 module_eval <<'.,.,', 'lib/parser.y', 218
     2287module_eval <<'.,.,', 'lib/parser.y', 235
    22682288  def _reduce_42( val, _values, result )
    22692289    result = val[0]
     
    22762296 # reduce 44 omitted
    22772297
    2278 module_eval <<'.,.,', 'lib/parser.y', 233
     2298module_eval <<'.,.,', 'lib/parser.y', 250
    22792299  def _reduce_45( val, _values, result )
    22802300    result = val[1]
     
    22972317 # reduce 52 omitted
    22982318
    2299 module_eval <<'.,.,', 'lib/parser.y', 253
     2319module_eval <<'.,.,', 'lib/parser.y', 270
    23002320  def _reduce_53( val, _values, result )
    23012321    assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
     
    23052325.,.,
    23062326
    2307 module_eval <<'.,.,', 'lib/parser.y', 259
     2327module_eval <<'.,.,', 'lib/parser.y', 276
    23082328  def _reduce_54( val, _values, result )
    23092329    @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     
    23132333.,.,
    23142334
    2315 module_eval <<'.,.,', 'lib/parser.y', 264
     2335module_eval <<'.,.,', 'lib/parser.y', 281
    23162336  def _reduce_55( val, _values, result )
    23172337    @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     
    23212341.,.,
    23222342
    2323 module_eval <<'.,.,', 'lib/parser.y', 269
     2343module_eval <<'.,.,', 'lib/parser.y', 286
    23242344  def _reduce_56( val, _values, result )
    23252345    @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     
    23292349.,.,
    23302350
    2331 module_eval <<'.,.,', 'lib/parser.y', 274
     2351module_eval <<'.,.,', 'lib/parser.y', 291
    23322352  def _reduce_57( val, _values, result )
    23332353    @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    23372357.,.,
    23382358
    2339 module_eval <<'.,.,', 'lib/parser.y', 279
     2359module_eval <<'.,.,', 'lib/parser.y', 296
    23402360  def _reduce_58( val, _values, result )
    23412361    @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    23452365.,.,
    23462366
    2347 module_eval <<'.,.,', 'lib/parser.y', 284
     2367module_eval <<'.,.,', 'lib/parser.y', 301
    23482368  def _reduce_59( val, _values, result )
    23492369    @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     
    23532373.,.,
    23542374
    2355 module_eval <<'.,.,', 'lib/parser.y', 289
     2375module_eval <<'.,.,', 'lib/parser.y', 306
    23562376  def _reduce_60( val, _values, result )
    23572377    @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     
    23612381.,.,
    23622382
    2363 module_eval <<'.,.,', 'lib/parser.y', 295
     2383module_eval <<'.,.,', 'lib/parser.y', 312
    23642384  def _reduce_61( val, _values, result )
    23652385    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     
    23722392 # reduce 62 omitted
    23732393
    2374 module_eval <<'.,.,', 'lib/parser.y', 305
     2394module_eval <<'.,.,', 'lib/parser.y', 322
    23752395  def _reduce_63( val, _values, result )
    23762396    result = [val[0]]
     
    23792399.,.,
    23802400
    2381 module_eval <<'.,.,', 'lib/parser.y', 309
     2401module_eval <<'.,.,', 'lib/parser.y', 326
    23822402  def _reduce_64( val, _values, result )
    23832403    result = (val[0] << val[1])
     
    23862406.,.,
    23872407
    2388 module_eval <<'.,.,', 'lib/parser.y', 318
     2408module_eval <<'.,.,', 'lib/parser.y', 335
    23892409  def _reduce_65( val, _values, result )
    23902410    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    23962416.,.,
    23972417
    2398 module_eval <<'.,.,', 'lib/parser.y', 323
     2418module_eval <<'.,.,', 'lib/parser.y', 340
    23992419  def _reduce_66( val, _values, result )
    24002420    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    24042424.,.,
    24052425
    2406 module_eval <<'.,.,', 'lib/parser.y', 328
     2426module_eval <<'.,.,', 'lib/parser.y', 345
    24072427  def _reduce_67( val, _values, result )
    24082428    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    24122432.,.,
    24132433
    2414 module_eval <<'.,.,', 'lib/parser.y', 339
     2434module_eval <<'.,.,', 'lib/parser.y', 356
    24152435  def _reduce_68( val, _values, result )
    24162436    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
     
    24232443.,.,
    24242444
    2425 module_eval <<'.,.,', 'lib/parser.y', 349
     2445module_eval <<'.,.,', 'lib/parser.y', 366
    24262446  def _reduce_69( val, _values, result )
    24272447    assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
     
    24362456.,.,
    24372457
    2438 module_eval <<'.,.,', 'lib/parser.y', 354
     2458module_eval <<'.,.,', 'lib/parser.y', 371
    24392459  def _reduce_70( val, _values, result )
    24402460    result = Array[val[0]]
     
    24432463.,.,
    24442464
    2445 module_eval <<'.,.,', 'lib/parser.y', 358
     2465module_eval <<'.,.,', 'lib/parser.y', 375
    24462466  def _reduce_71( val, _values, result )
    24472467    result = (val[0] << val[1])
     
    24502470.,.,
    24512471
    2452 module_eval <<'.,.,', 'lib/parser.y', 362
     2472module_eval <<'.,.,', 'lib/parser.y', 379
    24532473  def _reduce_72( val, _values, result )
    24542474    result = Array[val[0]]
     
    24812501 # reduce 84 omitted
    24822502
    2483 module_eval <<'.,.,', 'lib/parser.y', 393
     2503module_eval <<'.,.,', 'lib/parser.y', 410
    24842504  def _reduce_85( val, _values, result )
    2485     dadl_sections = val[1]
     2505    dadl_section = val[1]
    24862506    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
    24872507   result
     
    24972517 # reduce 89 omitted
    24982518
    2499 module_eval <<'.,.,', 'lib/parser.y', 407
     2519module_eval <<'.,.,', 'lib/parser.y', 424
    25002520  def _reduce_90( val, _values, result )
    25012521    result = Array[val[0]]
     
    25042524.,.,
    25052525
    2506 module_eval <<'.,.,', 'lib/parser.y', 411
     2526module_eval <<'.,.,', 'lib/parser.y', 428
    25072527  def _reduce_91( val, _values, result )
    25082528    result = (val[0] << val[1])
     
    25112531.,.,
    25122532
    2513 module_eval <<'.,.,', 'lib/parser.y', 415
     2533module_eval <<'.,.,', 'lib/parser.y', 432
    25142534  def _reduce_92( val, _values, result )
    25152535    result = (val[0] << val[2])
     
    25182538.,.,
    25192539
    2520 module_eval <<'.,.,', 'lib/parser.y', 421
     2540module_eval <<'.,.,', 'lib/parser.y', 438
    25212541  def _reduce_93( val, _values, result )
    25222542    @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    25262546.,.,
    25272547
    2528 module_eval <<'.,.,', 'lib/parser.y', 427
     2548module_eval <<'.,.,', 'lib/parser.y', 444
    25292549  def _reduce_94( val, _values, result )
    25302550    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
     
    25362556 # reduce 95 omitted
    25372557
    2538 module_eval <<'.,.,', 'lib/parser.y', 433
     2558module_eval <<'.,.,', 'lib/parser.y', 450
    25392559  def _reduce_96( val, _values, result )
    25402560    result = val[0]
     
    25432563.,.,
    25442564
    2545 module_eval <<'.,.,', 'lib/parser.y', 437
     2565module_eval <<'.,.,', 'lib/parser.y', 454
    25462566  def _reduce_97( val, _values, result )
    25472567    result = val[0]
     
    25502570.,.,
    25512571
    2552 module_eval <<'.,.,', 'lib/parser.y', 442
     2572module_eval <<'.,.,', 'lib/parser.y', 459
    25532573  def _reduce_98( val, _values, result )
    25542574    result = val[0]
     
    25572577.,.,
    25582578
    2559 module_eval <<'.,.,', 'lib/parser.y', 446
     2579module_eval <<'.,.,', 'lib/parser.y', 463
    25602580  def _reduce_99( val, _values, result )
    25612581    result = val[0]
     
    25642584.,.,
    25652585
    2566 module_eval <<'.,.,', 'lib/parser.y', 451
     2586module_eval <<'.,.,', 'lib/parser.y', 468
    25672587  def _reduce_100( val, _values, result )
    25682588    result = {:untyped_multiple_attr_object_block => val[0]}
     
    25712591.,.,
    25722592
    2573 module_eval <<'.,.,', 'lib/parser.y', 455
     2593module_eval <<'.,.,', 'lib/parser.y', 472
    25742594  def _reduce_101( val, _values, result )
    25752595    result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
     
    25782598.,.,
    25792599
    2580 module_eval <<'.,.,', 'lib/parser.y', 460
     2600module_eval <<'.,.,', 'lib/parser.y', 477
    25812601  def _reduce_102( val, _values, result )
    25822602    result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
     
    25852605.,.,
    25862606
    2587 module_eval <<'.,.,', 'lib/parser.y', 466
     2607module_eval <<'.,.,', 'lib/parser.y', 483
    25882608  def _reduce_103( val, _values, result )
    25892609    @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
     
    25932613.,.,
    25942614
    2595 module_eval <<'.,.,', 'lib/parser.y', 471
     2615module_eval <<'.,.,', 'lib/parser.y', 488
    25962616  def _reduce_104( val, _values, result )
    25972617    result = Array[val[0]]
     
    26002620.,.,
    26012621
    2602 module_eval <<'.,.,', 'lib/parser.y', 475
     2622module_eval <<'.,.,', 'lib/parser.y', 492
    26032623  def _reduce_105( val, _values, result )
    26042624    result = (val[0] << val[1])
     
    26072627.,.,
    26082628
    2609 module_eval <<'.,.,', 'lib/parser.y', 481
     2629module_eval <<'.,.,', 'lib/parser.y', 498
    26102630  def _reduce_106( val, _values, result )
    26112631    @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    26152635.,.,
    26162636
    2617 module_eval <<'.,.,', 'lib/parser.y', 487
     2637module_eval <<'.,.,', 'lib/parser.y', 504
    26182638  def _reduce_107( val, _values, result )
    26192639    @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     
    26232643.,.,
    26242644
    2625 module_eval <<'.,.,', 'lib/parser.y', 492
     2645module_eval <<'.,.,', 'lib/parser.y', 509
    26262646  def _reduce_108( val, _values, result )
    26272647    result = {:untyped_single_attr_object_block => val[0]}
     
    26302650.,.,
    26312651
    2632 module_eval <<'.,.,', 'lib/parser.y', 496
     2652module_eval <<'.,.,', 'lib/parser.y', 513
    26332653  def _reduce_109( val, _values, result )
    26342654    result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
     
    26372657.,.,
    26382658
    2639 module_eval <<'.,.,', 'lib/parser.y', 502
     2659module_eval <<'.,.,', 'lib/parser.y', 519
    26402660  def _reduce_110( val, _values, result )
    26412661    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     
    26452665.,.,
    26462666
    2647 module_eval <<'.,.,', 'lib/parser.y', 507
     2667module_eval <<'.,.,', 'lib/parser.y', 524
    26482668  def _reduce_111( val, _values, result )
    26492669    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
     
    26552675 # reduce 112 omitted
    26562676
    2657 module_eval <<'.,.,', 'lib/parser.y', 513
     2677module_eval <<'.,.,', 'lib/parser.y', 530
    26582678  def _reduce_113( val, _values, result )
    26592679    @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
     
    26632683.,.,
    26642684
    2665 module_eval <<'.,.,', 'lib/parser.y', 518
     2685module_eval <<'.,.,', 'lib/parser.y', 535
    26662686  def _reduce_114( val, _values, result )
    26672687    @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
     
    26712691.,.,
    26722692
    2673 module_eval <<'.,.,', 'lib/parser.y', 523
     2693module_eval <<'.,.,', 'lib/parser.y', 540
    26742694  def _reduce_115( val, _values, result )
    26752695    @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     
    26792699.,.,
    26802700
    2681 module_eval <<'.,.,', 'lib/parser.y', 527
     2701module_eval <<'.,.,', 'lib/parser.y', 544
    26822702  def _reduce_116( val, _values, result )
    26832703    result = val[0]
     
    26862706.,.,
    26872707
    2688 module_eval <<'.,.,', 'lib/parser.y', 531
     2708module_eval <<'.,.,', 'lib/parser.y', 548
    26892709  def _reduce_117( val, _values, result )
    26902710    result = val[0]
     
    26932713.,.,
    26942714
    2695 module_eval <<'.,.,', 'lib/parser.y', 535
     2715module_eval <<'.,.,', 'lib/parser.y', 552
    26962716  def _reduce_118( val, _values, result )
    26972717    result = val[0]
     
    27002720.,.,
    27012721
    2702 module_eval <<'.,.,', 'lib/parser.y', 539
     2722module_eval <<'.,.,', 'lib/parser.y', 556
    27032723  def _reduce_119( val, _values, result )
    27042724    result = val[0]
     
    27072727.,.,
    27082728
    2709 module_eval <<'.,.,', 'lib/parser.y', 543
     2729module_eval <<'.,.,', 'lib/parser.y', 560
    27102730  def _reduce_120( val, _values, result )
    27112731    result = val[0]
     
    27142734.,.,
    27152735
    2716 module_eval <<'.,.,', 'lib/parser.y', 548
     2736module_eval <<'.,.,', 'lib/parser.y', 565
    27172737  def _reduce_121( val, _values, result )
    27182738    @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27222742.,.,
    27232743
    2724 module_eval <<'.,.,', 'lib/parser.y', 553
     2744module_eval <<'.,.,', 'lib/parser.y', 570
    27252745  def _reduce_122( val, _values, result )
    27262746    @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27302750.,.,
    27312751
    2732 module_eval <<'.,.,', 'lib/parser.y', 558
     2752module_eval <<'.,.,', 'lib/parser.y', 575
    27332753  def _reduce_123( val, _values, result )
    27342754    @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27382758.,.,
    27392759
    2740 module_eval <<'.,.,', 'lib/parser.y', 563
     2760module_eval <<'.,.,', 'lib/parser.y', 580
    27412761  def _reduce_124( val, _values, result )
    27422762    @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27462766.,.,
    27472767
    2748 module_eval <<'.,.,', 'lib/parser.y', 568
     2768module_eval <<'.,.,', 'lib/parser.y', 585
    27492769  def _reduce_125( val, _values, result )
    27502770    @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27542774.,.,
    27552775
    2756 module_eval <<'.,.,', 'lib/parser.y', 573
     2776module_eval <<'.,.,', 'lib/parser.y', 590
    27572777  def _reduce_126( val, _values, result )
    27582778    @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27622782.,.,
    27632783
    2764 module_eval <<'.,.,', 'lib/parser.y', 578
     2784module_eval <<'.,.,', 'lib/parser.y', 595
    27652785  def _reduce_127( val, _values, result )
    27662786    @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27702790.,.,
    27712791
    2772 module_eval <<'.,.,', 'lib/parser.y', 583
     2792module_eval <<'.,.,', 'lib/parser.y', 600
    27732793  def _reduce_128( val, _values, result )
    27742794    @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27782798.,.,
    27792799
    2780 module_eval <<'.,.,', 'lib/parser.y', 588
     2800module_eval <<'.,.,', 'lib/parser.y', 605
    27812801  def _reduce_129( val, _values, result )
    27822802    @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    27862806.,.,
    27872807
    2788 module_eval <<'.,.,', 'lib/parser.y', 593
     2808module_eval <<'.,.,', 'lib/parser.y', 610
    27892809  def _reduce_130( val, _values, result )
    27902810    @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    28242844 # reduce 145 omitted
    28252845
    2826 module_eval <<'.,.,', 'lib/parser.y', 616
     2846module_eval <<'.,.,', 'lib/parser.y', 633
    28272847  def _reduce_146( val, _values, result )
    28282848    @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    28322852.,.,
    28332853
    2834 module_eval <<'.,.,', 'lib/parser.y', 621
     2854module_eval <<'.,.,', 'lib/parser.y', 638
    28352855  def _reduce_147( val, _values, result )
    28362856    @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    28402860.,.,
    28412861
    2842 module_eval <<'.,.,', 'lib/parser.y', 627
     2862module_eval <<'.,.,', 'lib/parser.y', 644
    28432863  def _reduce_148( val, _values, result )
    28442864    @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     
    28542874 # reduce 151 omitted
    28552875
    2856 module_eval <<'.,.,', 'lib/parser.y', 641
     2876module_eval <<'.,.,', 'lib/parser.y', 658
    28572877  def _reduce_152( val, _values, result )
    28582878    begin
     
    28662886.,.,
    28672887
    2868 module_eval <<'.,.,', 'lib/parser.y', 650
     2888module_eval <<'.,.,', 'lib/parser.y', 667
    28692889  def _reduce_153( val, _values, result )
    28702890    begin
     
    28782898.,.,
    28792899
    2880 module_eval <<'.,.,', 'lib/parser.y', 659
     2900module_eval <<'.,.,', 'lib/parser.y', 676
    28812901  def _reduce_154( val, _values, result )
    28822902    begin
     
    29142934 # reduce 166 omitted
    29152935
    2916 module_eval <<'.,.,', 'lib/parser.y', 685
     2936module_eval <<'.,.,', 'lib/parser.y', 702
    29172937  def _reduce_167( val, _values, result )
    29182938    begin
     
    29262946.,.,
    29272947
    2928 module_eval <<'.,.,', 'lib/parser.y', 694
     2948module_eval <<'.,.,', 'lib/parser.y', 711
    29292949  def _reduce_168( val, _values, result )
    29302950    begin
     
    29382958.,.,
    29392959
    2940 module_eval <<'.,.,', 'lib/parser.y', 703
     2960module_eval <<'.,.,', 'lib/parser.y', 720
    29412961  def _reduce_169( val, _values, result )
    29422962    begin
     
    29742994 # reduce 181 omitted
    29752995
    2976 module_eval <<'.,.,', 'lib/parser.y', 723
     2996module_eval <<'.,.,', 'lib/parser.y', 740
    29772997  def _reduce_182( val, _values, result )
    29782998    result = true
     
    29813001.,.,
    29823002
    2983 module_eval <<'.,.,', 'lib/parser.y', 727
     3003module_eval <<'.,.,', 'lib/parser.y', 744
    29843004  def _reduce_183( val, _values, result )
    29853005    result = false
     
    30803100 # reduce 229 omitted
    30813101
    3082 module_eval <<'.,.,', 'lib/parser.y', 791
     3102module_eval <<'.,.,', 'lib/parser.y', 808
    30833103  def _reduce_230( val, _values, result )
    30843104    @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     
    31123132 # reduce 242 omitted
    31133133
    3114 module_eval <<'.,.,', 'lib/parser.y', 810
     3134module_eval <<'.,.,', 'lib/parser.y', 828
    31153135  def _reduce_243( val, _values, result )
    31163136    @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     3137    result = val[0]
    31173138   result
    31183139  end
     
    31253146 # reduce 246 omitted
    31263147
    3127 module_eval <<'.,.,', 'lib/parser.y', 819
     3148module_eval <<'.,.,', 'lib/parser.y', 838
    31283149  def _reduce_247( val, _values, result )
    31293150    @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     3151    result = val[0]
    31303152   result
    31313153  end
     
    32123234 # reduce 287 omitted
    32133235
    3214 module_eval <<'.,.,', 'lib/parser.y', 888
     3236module_eval <<'.,.,', 'lib/parser.y', 907
    32153237  def _reduce_288( val, _values, result )
    32163238    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    32193241.,.,
    32203242
    3221 module_eval <<'.,.,', 'lib/parser.y', 892
     3243module_eval <<'.,.,', 'lib/parser.y', 911
    32223244  def _reduce_289( val, _values, result )
    32233245    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    32263248.,.,
    32273249
    3228 module_eval <<'.,.,', 'lib/parser.y', 903
     3250module_eval <<'.,.,', 'lib/parser.y', 922
    32293251  def _reduce_290( val, _values, result )
    32303252    result = Range.new(1,1)
     
    32333255.,.,
    32343256
    3235 module_eval <<'.,.,', 'lib/parser.y', 907
     3257module_eval <<'.,.,', 'lib/parser.y', 926
    32363258  def _reduce_291( val, _values, result )
    32373259    result = val[3]
     
    32403262.,.,
    32413263
    3242 module_eval <<'.,.,', 'lib/parser.y', 917
     3264module_eval <<'.,.,', 'lib/parser.y', 936
    32433265  def _reduce_292( val, _values, result )
    32443266    begin
     
    32523274.,.,
    32533275
    3254 module_eval <<'.,.,', 'lib/parser.y', 927
     3276module_eval <<'.,.,', 'lib/parser.y', 946
    32553277  def _reduce_293( val, _values, result )
    32563278    begin
     
    32653287.,.,
    32663288
    3267 module_eval <<'.,.,', 'lib/parser.y', 932
     3289module_eval <<'.,.,', 'lib/parser.y', 951
    32683290  def _reduce_294( val, _values, result )
    32693291    result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
     
    32943316 # reduce 305 omitted
    32953317
    3296 module_eval <<'.,.,', 'lib/parser.y', 951
     3318module_eval <<'.,.,', 'lib/parser.y', 970
    32973319  def _reduce_306( val, _values, result )
    32983320    result = val[3]
     
    33933415 # reduce 352 omitted
    33943416
    3395 module_eval <<'.,.,', 'lib/parser.y', 1021
     3417module_eval <<'.,.,', 'lib/parser.y', 1040
    33963418  def _reduce_353( val, _values, result )
    33973419    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     
    34003422.,.,
    34013423
    3402 module_eval <<'.,.,', 'lib/parser.y', 1025
     3424module_eval <<'.,.,', 'lib/parser.y', 1044
    34033425  def _reduce_354( val, _values, result )
    34043426    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     
    34073429.,.,
    34083430
    3409 module_eval <<'.,.,', 'lib/parser.y', 1029
     3431module_eval <<'.,.,', 'lib/parser.y', 1048
    34103432  def _reduce_355( val, _values, result )
    34113433    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     
    34143436.,.,
    34153437
    3416 module_eval <<'.,.,', 'lib/parser.y', 1033
     3438module_eval <<'.,.,', 'lib/parser.y', 1052
    34173439  def _reduce_356( val, _values, result )
    34183440    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     
    34213443.,.,
    34223444
    3423 module_eval <<'.,.,', 'lib/parser.y', 1038
     3445module_eval <<'.,.,', 'lib/parser.y', 1057
    34243446  def _reduce_357( val, _values, result )
    34253447    result = val[0]
     
    34283450.,.,
    34293451
    3430 module_eval <<'.,.,', 'lib/parser.y', 1042
     3452module_eval <<'.,.,', 'lib/parser.y', 1061
    34313453  def _reduce_358( val, _values, result )
    34323454    raise 'Not implemented yet'
     
    34353457.,.,
    34363458
    3437 module_eval <<'.,.,', 'lib/parser.y', 1046
     3459module_eval <<'.,.,', 'lib/parser.y', 1065
    34383460  def _reduce_359( val, _values, result )
    34393461    raise 'Not implemented yet'
     
    34523474 # reduce 364 omitted
    34533475
    3454 module_eval <<'.,.,', 'lib/parser.y', 1059
     3476module_eval <<'.,.,', 'lib/parser.y', 1078
    34553477  def _reduce_365( val, _values, result )
    34563478    @in_interval = false
     
    34763498 # reduce 373 omitted
    34773499
    3478 module_eval <<'.,.,', 'lib/parser.y', 1081
     3500module_eval <<'.,.,', 'lib/parser.y', 1100
    34793501  def _reduce_374( val, _values, result )
    34803502    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
     
    34833505.,.,
    34843506
    3485  # reduce 375 omitted
     3507module_eval <<'.,.,', 'lib/parser.y', 1110
     3508  def _reduce_375( val, _values, result )
     3509    result = val[0]
     3510   result
     3511  end
     3512.,.,
    34863513
    34873514 def _reduce_none( val, _values, result )
  • ruby/trunk/adl_parser/lib/parser.y

    r25 r26  
    3939    end
    4040   
    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
    4657  }
    4758
     
    6273  | SYM_ARCHETYPE arch_meta_data
    6374  {
     75    result = val[1]
     76  }
     77
     78arch_meta_data: Left_parenthesis_code arch_meta_data_items Right_parenthesis_code
     79  {
    6480    result = {:arch_meta_data => val[1] }
    6581  }
    6682
    67 arch_meta_data: Left_parenthesis_code arch_meta_data_items Right_parenthesis_code
    68   {
    69     result = {:arch_meta_data_items => val[1] }
    70   }
    71 
    7283arch_meta_data_items: arch_meta_data_item
    7384  {
    74     result = Array[val[0]]
     85    result = val[0]
    7586  }
    7687  | arch_meta_data_items Semicolon_code arch_meta_data_item
    7788  {
    78     result = (val[0] << val[2])
     89    result = val[0].merge(val[2])
    7990  }
    8091
     
    8293arch_meta_data_item: SYM_ADL_VERSION SYM_EQ V_VERSION_STRING
    8394  {
    84     result = {:adl_version => val[2] }
     95    result = {:adl_version => val[2], :is_controlled => false }
    8596  }
    8697  | SYM_IS_CONTROLLED
    8798  {
    88     result = val[0]
     99    result = {:is_controlled => true }
    89100  }
    90101
     
    96107
    97108arch_concept: SYM_CONCEPT V_LOCAL_TERM_CODE_REF
     109  {
     110    result = {:arch_concept => val[1] }
     111  }
    98112  | SYM_CONCEPT error
    99113
     
    103117
    104118arch_language: #-- empty is ok for ADL 1.4 tools
     119  {
     120    result = {:arch_language => nil}
     121  }
    105122    | SYM_LANGUAGE dadl_section
    106123  {
    107     result = {:language => val[1]}
     124    result = {:arch_language => val[1]}
    108125  }
    109126  | SYM_LANGUAGE error
     
    389406arch_ontology: SYM_ONTOLOGY dadl_section
    390407  {
    391     dadl_sections = val[1]
     408    dadl_section = val[1]
    392409    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
    393410  }
     
    808825  {
    809826    @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     827    result = val[0]
    810828  }
    811829
     
    817835  {
    818836    @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     837    result = val[0]
    819838  }
    820839
     
    10871106
    10881107duration_pattern: V_ISO8601_DURATION_CONSTRAINT_PATTERN
     1108  {
     1109    result = val[0]
     1110  }
    10891111
    10901112
     
    10961118require 'lib/util.rb'
    10971119require 'lib/scanner.rb'
    1098 #require 'lib/model.rb'
    10991120require 'rubygems'
    11001121require 'am.rb'
  • ruby/trunk/adl_parser/lib/scanner.rb

    r25 r26  
    115115              Yaparc::Apply.new(
    116116                                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])?/),
    117                                                 Yaparc::Regex.new(/AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match|
    118 #                                 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])?/),
    119 #                                                 Yaparc::Regex.new(/AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?/))) do |match|
     117                                                Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match|
    120118                LOG.info("V_ISO8601_DURATION: #{match}")
    121119                [:V_ISO8601_DURATION, match]
     
    250248        end
    251249
     250        #V_ISO8601_DURATION_CONSTRAINT_PATTERN
     251        class V_ISO8601_DURATION_CONSTRAINT_PATTERN
     252          include Yaparc::Parsable
     253          def initialize
     254            @parser = lambda do |input|
     255              Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/),
     256                                                Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match|
     257                OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")
     258                [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match]
     259              end
     260            end
     261          end
     262        end
     263
    252264        #V_C_DOMAIN_TYPE /\A[A-Z][a-zA-Z0-9_]*[ \n]*\</
    253265        class V_C_DOMAIN_TYPE
     
    272284                              OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new,
    273285                              V_C_DOMAIN_TYPE.new,
     286                              V_ISO8601_DURATION_CONSTRAINT_PATTERN.new,
    274287                              Reserved.new,
    275288                              OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new,
  • ruby/trunk/models/am/archetype/archetype.rb

    r24 r26  
    1414        attr_accessor :archetype_id, :concept_code, :is_controlled, :original_language, :parent_archtype_id, :uid
    1515
    16         attr_reader :id, :parent_id,:concept, :definition, :ontology
     16        attr_reader :parent_id,:concept, :definition, :ontology
    1717        attr_accessor :adl_version,:description,:original_language
    1818        attr_accessor :revision_history, :translation
     
    2020        def initialize(args = {})
    2121          @adl_version = args[:adl_version] if args[:adl_version]
    22           @id = args[:id] ? args[:id] : nil
     22          @archetype_id = args[:archetype_id] ? args[:archetype_id] : nil
    2323          @parent_id = args[:parent_id] if args[:parent_id]
    2424          @concept = args[:concept] if args[:concept]
    25 #          @original_language = args[:original_language] ? args[:original_language] : nil
    26 #          @translation = args[:translation] ? args[:translation] : nil
    27 #          @description = args[:description] if args[:description]
    28 #          @revision_history = args[:revision_history] if args[:revision_history]
    2925          @is_controled = args[:is_controled] if args[:is_controled]
    30           @definition = args[:definition] if args[:definition] 
     26          @definition = args[:definition] if args[:definition]
    3127          @ontology = args[:ontology] if args[:ontology]
    3228 #         loadMaps(definition)
  • ruby/trunk/models/am/archetype/constraint_model/primitive.rb

    r23 r26  
    8787
    8888          class C_DURATION < C_PRIMITIVE
    89            
     89            attr_accessor :years_allowed, :months_allowed, :weeks_allowed, :days_allowed, :hours_allowed, :minutes_allowed, :seconds_allowed, :fractional_seconds_allowed, :range, :assumed_value
    9090          end
    9191
  • ruby/trunk/models/rm.rb

    r7 r26  
    1313  module RM
    1414    autoload :Demographic, "rm/demographic.rb"
     15
    1516    module Common
    1617      autoload :Resource, "rm/common/resource.rb"
    1718    end
     19
    1820    module Support
    1921      autoload :Definition, "rm/support/definition.rb"
     22
     23      module Identification
     24        autoload :OBJECT_ID, "rm/support/identification.rb"
     25      end
     26
    2027      module Terminology
    2128        autoload :Terminology, "rm/support/terminology.rb"
    2229      end
    2330    end
     31
    2432    module Data_Types
    2533      autoload :Basic, "rm/data_types/basic.rb"
  • ruby/trunk/models/rm/support/identification.rb

    r4 r26  
    22  module RM
    33    module Support
    4       module Definition
    5         class Object_ID
     4      module Identification
     5
     6        class OBJECT_ID
    67          attr_accessor :value
     8
    79          def initiallize(value)
    8             if value == nil
    9               raise Exception.new("empty value")
    10             end
     10            raise "empty value" unless value
    1111            @value = value
    1212          end
    1313        end # of ObjectID
    14         class Terminology_ID < Object_ID
     14
     15        class ARCHETYPE_ID < OBJECT_ID
     16        end
     17
     18        class TERMINOLOGY_ID < OBJECT_ID
    1519          attr_reader :name
    16           def initialize(arg0, arg1=nil)
    17             if arg1 == nil
    18               super(arg0)
    19             else
    20               super(toValue(arg0, arg1))
    21               @name = arg0
    22               @version = arg1     
    23             end
     20
     21          def initialize(name , version_id)
     22            @name , @version_id = name , version_id
     23#             if arg1 == nil
     24#               super(arg0)
     25#             else
     26#               super(toValue(arg0, arg1))
     27#               @name = arg0
     28#               @version = arg1     
     29#             end
    2430          end
     31
    2532          def setValue(value)
    2633            loadValue(value)
    2734            super.value = value
    2835          end
     36
    2937          def version_id
    3038            @version
    3139          end
     40
    3241          private
     42
    3343          def loadValue(value)
    3444            if /\(.*\)$/ =~ value
    35               @name, @version = value.split(\())
     45#              @name, @version = value.split(\())
    3646              @version.chop!
    3747            else
     
    4050            end
    4151          end
     52
    4253          def toValue(name, version)
    4354            if name == ""
  • ruby/trunk/models/tests/test_reference_model.rb

    r24 r26  
    3131    assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
    3232  end
     33
    3334  def test_constant
    3435    assert_equal("\r", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::CR)
     
    3738    assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF)
    3839  end
     40
    3941  def test_dv_boolean
    4042    assert @dv_boolean.value?
     
    4547    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
    4648  end
     49
    4750  def test_dv_state
    4851    assert_equal("code1", @dv_state.value)
     
    5457    assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
    5558  end
     59
    5660  def test_dv_identifier
    5761    assert_equal("Ruby Hospital", @dv_identifier.assigner)
     
    6973    assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
    7074  end
     75
    7176  def test_dv_uri
    7277    assert_equal("file0", @dv_uri.fragment_id)
     
    7984    assert_equal("/openehr-jp/", @dv_uri.path)
    8085  end
     86
    8187  def test_dv_ehr_uri
    8288    assert_equal("ehr", @dv_ehr_uri.scheme)
     
    8490      @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
    8591  end
     92
    8693  def test_dv_text
    8794    assert_equal("valid value", @dv_text.value)
    88     assert_raise(ArgumentError){
    89       @dv_text.value = "not valid value\n"}
    90     assert_raise(ArgumentError){
    91       @dv_text.value = nil }
    92     assert_raise(ArgumentError){
    93       @dv_text.value = "" }
    94     assert_raise(ArgumentError){
    95       @dv_text.formatting = "" }
    96     assert_raise(ArgumentError){
    97       @dv_text.encoding = ""}
    98     assert_raise(ArgumentError){
    99       @dv_text.language = ""}
    100     assert_raise(ArgumentError){
    101       @dv_text.mappings = Set.new}
    102     assert_raise(ArgumentError){
    103       @dv_text.mappings = ""}
    104     assert_raise(ArgumentError){
    105       @dv_text.language = ""}
     95    assert_raise(ArgumentError){@dv_text.value = "not valid value\n"}
     96    assert_raise(ArgumentError){@dv_text.value = nil }
     97    assert_raise(ArgumentError){@dv_text.value = "" }
     98    assert_raise(ArgumentError){@dv_text.formatting = "" }
     99    assert_raise(ArgumentError){@dv_text.encoding = ""}
     100    assert_raise(ArgumentError){@dv_text.language = ""}
     101    assert_raise(ArgumentError){@dv_text.mappings = Set.new}
     102    assert_raise(ArgumentError){@dv_text.mappings = ""}
     103    assert_raise(ArgumentError){@dv_text.language = ""}
    106104  end
     105
    107106  def test_dv_coded_text
    108107    assert_equal("valid value", @dv_coded_text.value)
    109108    assert_equal("AT1000", @dv_coded_text.defining_code)
    110     assert_raise(ArgumentError){
    111       @dv_coded_text.defining_code=nil}
     109    assert_raise(ArgumentError){@dv_coded_text.defining_code=nil}
    112110  end
     111
    113112  def test_dv_paragraph
    114113    assert_equal((Set.new ["test1", "test2"]), @dv_paragraph.items)
    115     assert_raise(ArgumentError){
    116       @dv_paragraph.items=Set.new}
     114    assert_raise(ArgumentError){@dv_paragraph.items=Set.new}
    117115  end
     116
    118117  def test_terminology_mapping
    119118   
     
    121120end
    122121
     122
     123class ReferenceModelSupportIdentificationTest < Test::Unit::TestCase
     124  def setup
     125    @object_id = OpenEHR::RM::Support::Identification::OBJECT_ID.new
     126    @terminology_id = OpenEHR::RM::Support::Identification::TERMINOLOGY_ID.new('terminology','version')
     127    @archetype_id = OpenEHR::RM::Support::Identification::ARCHETYPE_ID.new
     128  end
     129 
     130  def test_init
     131    assert_instance_of OpenEHR::RM::Support::Identification::OBJECT_ID, @object_id
     132    assert_instance_of OpenEHR::RM::Support::Identification::TERMINOLOGY_ID, @terminology_id
     133    assert_instance_of OpenEHR::RM::Support::Identification::ARCHETYPE_ID, @archetype_id
     134
     135  end
     136end
Note: See TracChangeset for help on using the changeset viewer.