Changeset 257


Ignore:
Timestamp:
Sep 13, 2009, 12:58:21 AM (11 years ago)
Author:
Tatsukawa, Akimichi
Message:

generated openehr_models_0.0.3 gem and working on bridge between adl and rm

Location:
ruby/trunk/lib
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/adl_parser/lib/parser.rb

    r116 r257  
    1111$:.unshift File.join(File.dirname(__FILE__))
    1212require 'logger'
    13 #require 'lib/util.rb'
    14 #require 'lib/scanner.rb'
    15 require 'lib/adl_parser.rb'
     13#require 'lib/adl_parser.rb'
    1614require 'rubygems'
     15require 'adl_parser.rb'
    1716require 'am.rb'
    18 $DEBUG = false
     17require 'rm.rb'
    1918
    2019
     
    2423    class Parser < Racc::Parser
    2524
    26 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1183)
     25module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1187)
    2726
    2827def assert_at(file,line, message = "")
     
    152151      when /\A[A-Z][a-zA-Z0-9_]*/
    153152        yield :V_TYPE_IDENTIFIER, $&
    154       when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
    155         yield :V_ARCHETYPE_ID, $&
     153#      when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
     154      when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v[0-9]+)/   #V_ARCHETYPE_ID
     155        object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6
     156        archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id)
     157#        yield :V_ARCHETYPE_ID, $&
     158        yield :V_ARCHETYPE_ID, archetype_id
    156159      when /\A[a-z][a-zA-Z0-9_]*/
    157160#        word = $&.downcase
     
    235238        yield :Question_mark_code, :Question_mark_code
    236239      when /\A[0-9]+\.[0-9]+(\.[0-9]+)*/   # ?
    237         yield :V_VERSION_STRING, :V_VERSION_STRING
     240        yield :V_VERSION_STRING, $&
    238241      when /\A\|/   # |
    239242        if @in_interval
     
    253256        yield :Right_bracket_code, :Right_bracket_code
    254257
     258      when /\A"([^"]*)"/m #V_STRING
     259        yield :V_STRING, $1
    255260      when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
    256261        yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
     
    270275        yield :V_REAL, $&
    271276        #    when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
    272       when /\A"([^"]*)"/m #V_STRING
    273         yield :V_STRING, $1
    274277      when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
    275278        yield :V_URI, $&
     
    13061309  1, 109, :_reduce_12,
    13071310  0, 99, :_reduce_none,
    1308   2, 99, :_reduce_none,
     1311  2, 99, :_reduce_14,
    13091312  2, 99, :_reduce_none,
    13101313  2, 100, :_reduce_16,
     
    20402043   
    20412044    archetype_id = val[0][:archetype_id]
     2045    parent_archtype_id = val[1][:parent_archtype_id] if val[1]
    20422046    adl_version = val[0][:arch_head][:arch_meta_data][:adl_version]
    20432047    concept = val[2]
     
    20452049    archetype = OpenEHR::AM::Archetype::ARCHETYPE.create(
    20462050                                                         :archetype_id => archetype_id,
     2051                                                         :parent_archtype_id => parent_archtype_id,
    20472052                                                         :adl_version => adl_version,
    20482053                                                         :concept => concept,
     
    20602065.,.,
    20612066
    2062 module_eval(<<'.,.,', 'parser.y', 61)
     2067module_eval(<<'.,.,', 'parser.y', 63)
    20632068  def _reduce_4(val, _values, result)
    20642069        result = {:arch_head => val[0], :archetype_id => val[1] }
     
    20682073.,.,
    20692074
    2070 module_eval(<<'.,.,', 'parser.y', 65)
     2075module_eval(<<'.,.,', 'parser.y', 67)
    20712076  def _reduce_5(val, _values, result)
    20722077        raise
     
    20762081.,.,
    20772082
    2078 module_eval(<<'.,.,', 'parser.y', 70)
     2083module_eval(<<'.,.,', 'parser.y', 72)
    20792084  def _reduce_6(val, _values, result)
    20802085        result = {:arch_meta_data => nil }
     
    20842089.,.,
    20852090
    2086 module_eval(<<'.,.,', 'parser.y', 74)
     2091module_eval(<<'.,.,', 'parser.y', 76)
    20872092  def _reduce_7(val, _values, result)
    20882093        result = val[1]
     
    20922097.,.,
    20932098
    2094 module_eval(<<'.,.,', 'parser.y', 79)
     2099module_eval(<<'.,.,', 'parser.y', 81)
    20952100  def _reduce_8(val, _values, result)
    20962101        result = {:arch_meta_data => val[1] }
     
    21002105.,.,
    21012106
    2102 module_eval(<<'.,.,', 'parser.y', 84)
     2107module_eval(<<'.,.,', 'parser.y', 86)
    21032108  def _reduce_9(val, _values, result)
    21042109        result = val[0]
     
    21082113.,.,
    21092114
    2110 module_eval(<<'.,.,', 'parser.y', 88)
     2115module_eval(<<'.,.,', 'parser.y', 90)
    21112116  def _reduce_10(val, _values, result)
    21122117        result = val[0].merge(val[2])
     
    21162121.,.,
    21172122
    2118 module_eval(<<'.,.,', 'parser.y', 94)
     2123module_eval(<<'.,.,', 'parser.y', 96)
    21192124  def _reduce_11(val, _values, result)
    21202125        result = {:adl_version => val[2], :is_controlled => false }
     
    21242129.,.,
    21252130
    2126 module_eval(<<'.,.,', 'parser.y', 98)
     2131module_eval(<<'.,.,', 'parser.y', 100)
    21272132  def _reduce_12(val, _values, result)
    21282133        result = {:is_controlled => true }
     
    21342139# reduce 13 omitted
    21352140
    2136 # reduce 14 omitted
     2141module_eval(<<'.,.,', 'parser.y', 108)
     2142  def _reduce_14(val, _values, result)
     2143        result = {:parent_archtype_id => val[1]}
     2144 
     2145    result
     2146  end
     2147.,.,
    21372148
    21382149# reduce 15 omitted
    21392150
    2140 module_eval(<<'.,.,', 'parser.y', 109)
     2151module_eval(<<'.,.,', 'parser.y', 114)
    21412152  def _reduce_16(val, _values, result)
    21422153        result = {:arch_concept => val[1] }
     
    21482159# reduce 17 omitted
    21492160
    2150 module_eval(<<'.,.,', 'parser.y', 119)
     2161module_eval(<<'.,.,', 'parser.y', 124)
    21512162  def _reduce_18(val, _values, result)
    21522163        result = {:arch_language => nil}
     
    21562167.,.,
    21572168
    2158 module_eval(<<'.,.,', 'parser.y', 123)
     2169module_eval(<<'.,.,', 'parser.y', 128)
    21592170  def _reduce_19(val, _values, result)
    21602171        result = {:arch_language => val[1]}
     
    21682179# reduce 21 omitted
    21692180
    2170 module_eval(<<'.,.,', 'parser.y', 134)
     2181module_eval(<<'.,.,', 'parser.y', 139)
    21712182  def _reduce_22(val, _values, result)
    21722183        result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
     
    21782189# reduce 23 omitted
    21792190
    2180 module_eval(<<'.,.,', 'parser.y', 142)
     2191module_eval(<<'.,.,', 'parser.y', 147)
    21812192  def _reduce_24(val, _values, result)
    21822193        result = val[1]
     
    21882199# reduce 25 omitted
    21892200
    2190 module_eval(<<'.,.,', 'parser.y', 150)
     2201module_eval(<<'.,.,', 'parser.y', 155)
    21912202  def _reduce_26(val, _values, result)
    21922203        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     
    21982209.,.,
    21992210
    2200 module_eval(<<'.,.,', 'parser.y', 156)
     2211module_eval(<<'.,.,', 'parser.y', 161)
    22012212  def _reduce_27(val, _values, result)
    22022213        result = val[0]
     
    22062217.,.,
    22072218
    2208 module_eval(<<'.,.,', 'parser.y', 163)
     2219module_eval(<<'.,.,', 'parser.y', 168)
    22092220  def _reduce_28(val, _values, result)
    22102221        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     
    22182229.,.,
    22192230
    2220 module_eval(<<'.,.,', 'parser.y', 171)
     2231module_eval(<<'.,.,', 'parser.y', 176)
    22212232  def _reduce_29(val, _values, result)
    22222233        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     
    22302241.,.,
    22312242
    2232 module_eval(<<'.,.,', 'parser.y', 182)
     2243module_eval(<<'.,.,', 'parser.y', 187)
    22332244  def _reduce_30(val, _values, result)
    22342245        result = {:c_complex_object_id => val[0], :c_occurrences => val[1]}
     
    22382249.,.,
    22392250
    2240 module_eval(<<'.,.,', 'parser.y', 187)
     2251module_eval(<<'.,.,', 'parser.y', 192)
    22412252  def _reduce_31(val, _values, result)
    22422253        result = {:type_identifier => val[0]}
     
    22462257.,.,
    22472258
    2248 module_eval(<<'.,.,', 'parser.y', 191)
     2259module_eval(<<'.,.,', 'parser.y', 196)
    22492260  def _reduce_32(val, _values, result)
    22502261        result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
     
    22562267# reduce 33 omitted
    22572268
    2258 module_eval(<<'.,.,', 'parser.y', 197)
     2269module_eval(<<'.,.,', 'parser.y', 202)
    22592270  def _reduce_34(val, _values, result)
    22602271        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     
    22642275.,.,
    22652276
    2266 module_eval(<<'.,.,', 'parser.y', 205)
     2277module_eval(<<'.,.,', 'parser.y', 210)
    22672278  def _reduce_35(val, _values, result)
    22682279        result = val[0]
     
    22722283.,.,
    22732284
    2274 module_eval(<<'.,.,', 'parser.y', 209)
     2285module_eval(<<'.,.,', 'parser.y', 214)
    22752286  def _reduce_36(val, _values, result)
    22762287        @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")
     
    22812292.,.,
    22822293
    2283 module_eval(<<'.,.,', 'parser.y', 214)
     2294module_eval(<<'.,.,', 'parser.y', 219)
    22842295  def _reduce_37(val, _values, result)
    22852296        result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
     
    22932304.,.,
    22942305
    2295 module_eval(<<'.,.,', 'parser.y', 222)
     2306module_eval(<<'.,.,', 'parser.y', 227)
    22962307  def _reduce_38(val, _values, result)
    22972308        result = val[0]
     
    23012312.,.,
    23022313
    2303 module_eval(<<'.,.,', 'parser.y', 226)
     2314module_eval(<<'.,.,', 'parser.y', 231)
    23042315  def _reduce_39(val, _values, result)
    23052316        result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|
     
    23112322.,.,
    23122323
    2313 module_eval(<<'.,.,', 'parser.y', 232)
     2324module_eval(<<'.,.,', 'parser.y', 237)
    23142325  def _reduce_40(val, _values, result)
    23152326        result = val[0]
     
    23192330.,.,
    23202331
    2321 module_eval(<<'.,.,', 'parser.y', 236)
     2332module_eval(<<'.,.,', 'parser.y', 241)
    23222333  def _reduce_41(val, _values, result)
    23232334        result = val[0]
     
    23272338.,.,
    23282339
    2329 module_eval(<<'.,.,', 'parser.y', 240)
     2340module_eval(<<'.,.,', 'parser.y', 245)
    23302341  def _reduce_42(val, _values, result)
    23312342        result = val[0]
     
    23392350# reduce 44 omitted
    23402351
    2341 module_eval(<<'.,.,', 'parser.y', 255)
     2352module_eval(<<'.,.,', 'parser.y', 260)
    23422353  def _reduce_45(val, _values, result)
    23432354        result = val[1]
     
    23472358.,.,
    23482359
    2349 module_eval(<<'.,.,', 'parser.y', 261)
     2360module_eval(<<'.,.,', 'parser.y', 266)
    23502361  def _reduce_46(val, _values, result)
    23512362        result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] }
     
    23572368# reduce 47 omitted
    23582369
    2359 module_eval(<<'.,.,', 'parser.y', 268)
     2370module_eval(<<'.,.,', 'parser.y', 273)
    23602371  def _reduce_48(val, _values, result)
    23612372        result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|
     
    23702381.,.,
    23712382
    2372 module_eval(<<'.,.,', 'parser.y', 277)
     2383module_eval(<<'.,.,', 'parser.y', 282)
    23732384  def _reduce_49(val, _values, result)
    23742385        result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]}
     
    23782389.,.,
    23792390
    2380 module_eval(<<'.,.,', 'parser.y', 282)
     2391module_eval(<<'.,.,', 'parser.y', 287)
    23812392  def _reduce_50(val, _values, result)
    23822393        result = val[1]
     
    23902401# reduce 52 omitted
    23912402
    2392 module_eval(<<'.,.,', 'parser.y', 290)
     2403module_eval(<<'.,.,', 'parser.y', 295)
    23932404  def _reduce_53(val, _values, result)
    23942405        assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
     
    24012412.,.,
    24022413
    2403 module_eval(<<'.,.,', 'parser.y', 298)
     2414module_eval(<<'.,.,', 'parser.y', 303)
    24042415  def _reduce_54(val, _values, result)
    24052416        @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     
    24142425.,.,
    24152426
    2416 module_eval(<<'.,.,', 'parser.y', 307)
     2427module_eval(<<'.,.,', 'parser.y', 312)
    24172428  def _reduce_55(val, _values, result)
    24182429        @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     
    24232434.,.,
    24242435
    2425 module_eval(<<'.,.,', 'parser.y', 312)
     2436module_eval(<<'.,.,', 'parser.y', 317)
    24262437  def _reduce_56(val, _values, result)
    24272438        @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     
    24322443.,.,
    24332444
    2434 module_eval(<<'.,.,', 'parser.y', 317)
     2445module_eval(<<'.,.,', 'parser.y', 322)
    24352446  def _reduce_57(val, _values, result)
    24362447        @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    24412452.,.,
    24422453
    2443 module_eval(<<'.,.,', 'parser.y', 322)
     2454module_eval(<<'.,.,', 'parser.y', 327)
    24442455  def _reduce_58(val, _values, result)
    24452456        @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    24502461.,.,
    24512462
    2452 module_eval(<<'.,.,', 'parser.y', 327)
     2463module_eval(<<'.,.,', 'parser.y', 332)
    24532464  def _reduce_59(val, _values, result)
    24542465        @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     
    24592470.,.,
    24602471
    2461 module_eval(<<'.,.,', 'parser.y', 332)
     2472module_eval(<<'.,.,', 'parser.y', 337)
    24622473  def _reduce_60(val, _values, result)
    24632474        @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     
    24682479.,.,
    24692480
    2470 module_eval(<<'.,.,', 'parser.y', 337)
     2481module_eval(<<'.,.,', 'parser.y', 342)
    24712482  def _reduce_61(val, _values, result)
    24722483        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     
    24802491# reduce 62 omitted
    24812492
    2482 module_eval(<<'.,.,', 'parser.y', 349)
     2493module_eval(<<'.,.,', 'parser.y', 354)
    24832494  def _reduce_63(val, _values, result)
    24842495        result = [val[0]]
     
    24882499.,.,
    24892500
    2490 module_eval(<<'.,.,', 'parser.y', 353)
     2501module_eval(<<'.,.,', 'parser.y', 358)
    24912502  def _reduce_64(val, _values, result)
    24922503        result = (val[0] << val[1])
     
    24962507.,.,
    24972508
    2498 module_eval(<<'.,.,', 'parser.y', 359)
     2509module_eval(<<'.,.,', 'parser.y', 364)
    24992510  def _reduce_65(val, _values, result)
    25002511        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    25072518.,.,
    25082519
    2509 module_eval(<<'.,.,', 'parser.y', 366)
     2520module_eval(<<'.,.,', 'parser.y', 371)
    25102521  def _reduce_66(val, _values, result)
    25112522        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    25162527.,.,
    25172528
    2518 module_eval(<<'.,.,', 'parser.y', 371)
     2529module_eval(<<'.,.,', 'parser.y', 376)
    25192530  def _reduce_67(val, _values, result)
    25202531        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     
    25252536.,.,
    25262537
    2527 module_eval(<<'.,.,', 'parser.y', 378)
     2538module_eval(<<'.,.,', 'parser.y', 383)
    25282539  def _reduce_68(val, _values, result)
    25292540        @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
     
    25382549.,.,
    25392550
    2540 module_eval(<<'.,.,', 'parser.y', 387)
     2551module_eval(<<'.,.,', 'parser.y', 392)
    25412552  def _reduce_69(val, _values, result)
    25422553        assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
     
    25522563.,.,
    25532564
    2554 module_eval(<<'.,.,', 'parser.y', 398)
     2565module_eval(<<'.,.,', 'parser.y', 403)
    25552566  def _reduce_70(val, _values, result)
    25562567        result = Array[val[0]]
     
    25602571.,.,
    25612572
    2562 module_eval(<<'.,.,', 'parser.y', 402)
     2573module_eval(<<'.,.,', 'parser.y', 407)
    25632574  def _reduce_71(val, _values, result)
    25642575        result = (val[0] << val[1])
     
    25682579.,.,
    25692580
    2570 module_eval(<<'.,.,', 'parser.y', 406)
     2581module_eval(<<'.,.,', 'parser.y', 411)
    25712582  def _reduce_72(val, _values, result)
    25722583        result = Array[val[0]]
     
    25782589# reduce 73 omitted
    25792590
    2580 module_eval(<<'.,.,', 'parser.y', 414)
     2591module_eval(<<'.,.,', 'parser.y', 419)
    25812592  def _reduce_74(val, _values, result)
    25822593        result = val[1]
     
    25882599# reduce 75 omitted
    25892600
    2590 module_eval(<<'.,.,', 'parser.y', 422)
     2601module_eval(<<'.,.,', 'parser.y', 427)
    25912602  def _reduce_76(val, _values, result)
    25922603        result = val[1]
     
    26122623# reduce 84 omitted
    26132624
    2614 module_eval(<<'.,.,', 'parser.y', 442)
     2625module_eval(<<'.,.,', 'parser.y', 447)
    26152626  def _reduce_85(val, _values, result)
    26162627        dadl_section = val[1]
     
    26292640# reduce 89 omitted
    26302641
    2631 module_eval(<<'.,.,', 'parser.y', 457)
     2642module_eval(<<'.,.,', 'parser.y', 462)
    26322643  def _reduce_90(val, _values, result)
    26332644        result = Array[val[0]]
     
    26372648.,.,
    26382649
    2639 module_eval(<<'.,.,', 'parser.y', 461)
     2650module_eval(<<'.,.,', 'parser.y', 466)
    26402651  def _reduce_91(val, _values, result)
    26412652        result = (val[0] << val[1])
     
    26452656.,.,
    26462657
    2647 module_eval(<<'.,.,', 'parser.y', 465)
     2658module_eval(<<'.,.,', 'parser.y', 470)
    26482659  def _reduce_92(val, _values, result)
    26492660        result = (val[0] << val[2])
     
    26532664.,.,
    26542665
    2655 module_eval(<<'.,.,', 'parser.y', 470)
     2666module_eval(<<'.,.,', 'parser.y', 475)
    26562667  def _reduce_93(val, _values, result)
    26572668        @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    26622673.,.,
    26632674
    2664 module_eval(<<'.,.,', 'parser.y', 476)
     2675module_eval(<<'.,.,', 'parser.y', 481)
    26652676  def _reduce_94(val, _values, result)
    26662677        @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
     
    26732684# reduce 95 omitted
    26742685
    2675 module_eval(<<'.,.,', 'parser.y', 483)
     2686module_eval(<<'.,.,', 'parser.y', 488)
    26762687  def _reduce_96(val, _values, result)
    26772688        result = val[0]
     
    26812692.,.,
    26822693
    2683 module_eval(<<'.,.,', 'parser.y', 487)
     2694module_eval(<<'.,.,', 'parser.y', 492)
    26842695  def _reduce_97(val, _values, result)
    26852696        result = val[0]
     
    26892700.,.,
    26902701
    2691 module_eval(<<'.,.,', 'parser.y', 492)
     2702module_eval(<<'.,.,', 'parser.y', 497)
    26922703  def _reduce_98(val, _values, result)
    26932704        result = val[0]
     
    26972708.,.,
    26982709
    2699 module_eval(<<'.,.,', 'parser.y', 496)
     2710module_eval(<<'.,.,', 'parser.y', 501)
    27002711  def _reduce_99(val, _values, result)
    27012712        result = val[0]
     
    27052716.,.,
    27062717
    2707 module_eval(<<'.,.,', 'parser.y', 501)
     2718module_eval(<<'.,.,', 'parser.y', 506)
    27082719  def _reduce_100(val, _values, result)
    27092720        result = {:untyped_multiple_attr_object_block => val[0]}
     
    27132724.,.,
    27142725
    2715 module_eval(<<'.,.,', 'parser.y', 505)
     2726module_eval(<<'.,.,', 'parser.y', 510)
    27162727  def _reduce_101(val, _values, result)
    27172728        result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
     
    27212732.,.,
    27222733
    2723 module_eval(<<'.,.,', 'parser.y', 510)
     2734module_eval(<<'.,.,', 'parser.y', 515)
    27242735  def _reduce_102(val, _values, result)
    27252736        result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
     
    27292740.,.,
    27302741
    2731 module_eval(<<'.,.,', 'parser.y', 515)
     2742module_eval(<<'.,.,', 'parser.y', 520)
    27322743  def _reduce_103(val, _values, result)
    27332744        @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
     
    27382749.,.,
    27392750
    2740 module_eval(<<'.,.,', 'parser.y', 521)
     2751module_eval(<<'.,.,', 'parser.y', 526)
    27412752  def _reduce_104(val, _values, result)
    27422753        result = Array[val[0]]
     
    27462757.,.,
    27472758
    2748 module_eval(<<'.,.,', 'parser.y', 525)
     2759module_eval(<<'.,.,', 'parser.y', 530)
    27492760  def _reduce_105(val, _values, result)
    27502761        result = (val[0] << val[1])
     
    27542765.,.,
    27552766
    2756 module_eval(<<'.,.,', 'parser.y', 530)
     2767module_eval(<<'.,.,', 'parser.y', 535)
    27572768  def _reduce_106(val, _values, result)
    27582769        @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    27632774.,.,
    27642775
    2765 module_eval(<<'.,.,', 'parser.y', 536)
     2776module_eval(<<'.,.,', 'parser.y', 541)
    27662777  def _reduce_107(val, _values, result)
    27672778        @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     
    27722783.,.,
    27732784
    2774 module_eval(<<'.,.,', 'parser.y', 542)
     2785module_eval(<<'.,.,', 'parser.y', 547)
    27752786  def _reduce_108(val, _values, result)
    27762787        result = {:untyped_single_attr_object_block => val[0]}
     
    27802791.,.,
    27812792
    2782 module_eval(<<'.,.,', 'parser.y', 546)
     2793module_eval(<<'.,.,', 'parser.y', 551)
    27832794  def _reduce_109(val, _values, result)
    27842795        result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
     
    27882799.,.,
    27892800
    2790 module_eval(<<'.,.,', 'parser.y', 551)
     2801module_eval(<<'.,.,', 'parser.y', 556)
    27912802  def _reduce_110(val, _values, result)
    27922803        @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     
    27972808.,.,
    27982809
    2799 module_eval(<<'.,.,', 'parser.y', 556)
     2810module_eval(<<'.,.,', 'parser.y', 561)
    28002811  def _reduce_111(val, _values, result)
    28012812        @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
     
    28082819# reduce 112 omitted
    28092820
    2810 module_eval(<<'.,.,', 'parser.y', 562)
     2821module_eval(<<'.,.,', 'parser.y', 567)
    28112822  def _reduce_113(val, _values, result)
    28122823        @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
     
    28172828.,.,
    28182829
    2819 module_eval(<<'.,.,', 'parser.y', 567)
     2830module_eval(<<'.,.,', 'parser.y', 572)
    28202831  def _reduce_114(val, _values, result)
    28212832        @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
     
    28262837.,.,
    28272838
    2828 module_eval(<<'.,.,', 'parser.y', 572)
     2839module_eval(<<'.,.,', 'parser.y', 577)
    28292840  def _reduce_115(val, _values, result)
    28302841        @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     
    28352846.,.,
    28362847
    2837 module_eval(<<'.,.,', 'parser.y', 577)
     2848module_eval(<<'.,.,', 'parser.y', 582)
    28382849  def _reduce_116(val, _values, result)
    28392850        result = val[0]
     
    28432854.,.,
    28442855
    2845 module_eval(<<'.,.,', 'parser.y', 581)
     2856module_eval(<<'.,.,', 'parser.y', 586)
    28462857  def _reduce_117(val, _values, result)
    28472858        result = val[0]
     
    28512862.,.,
    28522863
    2853 module_eval(<<'.,.,', 'parser.y', 585)
     2864module_eval(<<'.,.,', 'parser.y', 590)
    28542865  def _reduce_118(val, _values, result)
    28552866        result = val[0]
     
    28592870.,.,
    28602871
    2861 module_eval(<<'.,.,', 'parser.y', 589)
     2872module_eval(<<'.,.,', 'parser.y', 594)
    28622873  def _reduce_119(val, _values, result)
    28632874        result = val[0]
     
    28672878.,.,
    28682879
    2869 module_eval(<<'.,.,', 'parser.y', 593)
     2880module_eval(<<'.,.,', 'parser.y', 598)
    28702881  def _reduce_120(val, _values, result)
    28712882        result = val[0]
     
    28752886.,.,
    28762887
    2877 module_eval(<<'.,.,', 'parser.y', 597)
     2888module_eval(<<'.,.,', 'parser.y', 602)
    28782889  def _reduce_121(val, _values, result)
    28792890        @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    28842895.,.,
    28852896
    2886 module_eval(<<'.,.,', 'parser.y', 602)
     2897module_eval(<<'.,.,', 'parser.y', 607)
    28872898  def _reduce_122(val, _values, result)
    28882899        @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    28932904.,.,
    28942905
    2895 module_eval(<<'.,.,', 'parser.y', 607)
     2906module_eval(<<'.,.,', 'parser.y', 612)
    28962907  def _reduce_123(val, _values, result)
    28972908        @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29022913.,.,
    29032914
    2904 module_eval(<<'.,.,', 'parser.y', 612)
     2915module_eval(<<'.,.,', 'parser.y', 617)
    29052916  def _reduce_124(val, _values, result)
    29062917        @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29112922.,.,
    29122923
    2913 module_eval(<<'.,.,', 'parser.y', 617)
     2924module_eval(<<'.,.,', 'parser.y', 622)
    29142925  def _reduce_125(val, _values, result)
    29152926        @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29202931.,.,
    29212932
    2922 module_eval(<<'.,.,', 'parser.y', 622)
     2933module_eval(<<'.,.,', 'parser.y', 627)
    29232934  def _reduce_126(val, _values, result)
    29242935        @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29292940.,.,
    29302941
    2931 module_eval(<<'.,.,', 'parser.y', 627)
     2942module_eval(<<'.,.,', 'parser.y', 632)
    29322943  def _reduce_127(val, _values, result)
    29332944        @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29382949.,.,
    29392950
    2940 module_eval(<<'.,.,', 'parser.y', 632)
     2951module_eval(<<'.,.,', 'parser.y', 637)
    29412952  def _reduce_128(val, _values, result)
    29422953        @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29472958.,.,
    29482959
    2949 module_eval(<<'.,.,', 'parser.y', 637)
     2960module_eval(<<'.,.,', 'parser.y', 642)
    29502961  def _reduce_129(val, _values, result)
    29512962        @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29562967.,.,
    29572968
    2958 module_eval(<<'.,.,', 'parser.y', 642)
     2969module_eval(<<'.,.,', 'parser.y', 647)
    29592970  def _reduce_130(val, _values, result)
    29602971        @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    29953006# reduce 145 omitted
    29963007
    2997 module_eval(<<'.,.,', 'parser.y', 665)
     3008module_eval(<<'.,.,', 'parser.y', 670)
    29983009  def _reduce_146(val, _values, result)
    29993010        @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    30043015.,.,
    30053016
    3006 module_eval(<<'.,.,', 'parser.y', 670)
     3017module_eval(<<'.,.,', 'parser.y', 675)
    30073018  def _reduce_147(val, _values, result)
    30083019        @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    30133024.,.,
    30143025
    3015 module_eval(<<'.,.,', 'parser.y', 676)
     3026module_eval(<<'.,.,', 'parser.y', 681)
    30163027  def _reduce_148(val, _values, result)
    30173028        @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     
    30283039# reduce 151 omitted
    30293040
    3030 module_eval(<<'.,.,', 'parser.y', 686)
     3041module_eval(<<'.,.,', 'parser.y', 691)
    30313042  def _reduce_152(val, _values, result)
    30323043        begin
     
    30413052.,.,
    30423053
    3043 module_eval(<<'.,.,', 'parser.y', 695)
     3054module_eval(<<'.,.,', 'parser.y', 700)
    30443055  def _reduce_153(val, _values, result)
    30453056        begin
     
    30543065.,.,
    30553066
    3056 module_eval(<<'.,.,', 'parser.y', 704)
     3067module_eval(<<'.,.,', 'parser.y', 709)
    30573068  def _reduce_154(val, _values, result)
    30583069        begin
     
    30913102# reduce 166 omitted
    30923103
    3093 module_eval(<<'.,.,', 'parser.y', 730)
     3104module_eval(<<'.,.,', 'parser.y', 735)
    30943105  def _reduce_167(val, _values, result)
    30953106        begin
     
    31043115.,.,
    31053116
    3106 module_eval(<<'.,.,', 'parser.y', 739)
     3117module_eval(<<'.,.,', 'parser.y', 744)
    31073118  def _reduce_168(val, _values, result)
    31083119        begin
     
    31173128.,.,
    31183129
    3119 module_eval(<<'.,.,', 'parser.y', 748)
     3130module_eval(<<'.,.,', 'parser.y', 753)
    31203131  def _reduce_169(val, _values, result)
    31213132        begin
     
    31543165# reduce 181 omitted
    31553166
    3156 module_eval(<<'.,.,', 'parser.y', 773)
     3167module_eval(<<'.,.,', 'parser.y', 778)
    31573168  def _reduce_182(val, _values, result)
    31583169        result = true
     
    31623173.,.,
    31633174
    3164 module_eval(<<'.,.,', 'parser.y', 777)
     3175module_eval(<<'.,.,', 'parser.y', 782)
    31653176  def _reduce_183(val, _values, result)
    31663177        result = false
     
    32623273# reduce 229 omitted
    32633274
    3264 module_eval(<<'.,.,', 'parser.y', 840)
     3275module_eval(<<'.,.,', 'parser.y', 845)
    32653276  def _reduce_230(val, _values, result)
    32663277        @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     
    32953306# reduce 242 omitted
    32963307
    3297 module_eval(<<'.,.,', 'parser.y', 860)
     3308module_eval(<<'.,.,', 'parser.y', 865)
    32983309  def _reduce_243(val, _values, result)
    32993310        @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     
    33103321# reduce 246 omitted
    33113322
    3312 module_eval(<<'.,.,', 'parser.y', 870)
     3323module_eval(<<'.,.,', 'parser.y', 875)
    33133324  def _reduce_247(val, _values, result)
    33143325        @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     
    33993410# reduce 287 omitted
    34003411
    3401 module_eval(<<'.,.,', 'parser.y', 940)
     3412module_eval(<<'.,.,', 'parser.y', 945)
    34023413  def _reduce_288(val, _values, result)
    34033414        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    34073418.,.,
    34083419
    3409 module_eval(<<'.,.,', 'parser.y', 944)
     3420module_eval(<<'.,.,', 'parser.y', 949)
    34103421  def _reduce_289(val, _values, result)
    34113422        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    34153426.,.,
    34163427
    3417 module_eval(<<'.,.,', 'parser.y', 955)
     3428module_eval(<<'.,.,', 'parser.y', 960)
    34183429  def _reduce_290(val, _values, result)
    34193430        result = Range.new(1,1)
     
    34233434.,.,
    34243435
    3425 module_eval(<<'.,.,', 'parser.y', 959)
     3436module_eval(<<'.,.,', 'parser.y', 964)
    34263437  def _reduce_291(val, _values, result)
    34273438        result = val[3]
     
    34313442.,.,
    34323443
    3433 module_eval(<<'.,.,', 'parser.y', 964)
     3444module_eval(<<'.,.,', 'parser.y', 969)
    34343445  def _reduce_292(val, _values, result)
    34353446        begin
     
    34443455.,.,
    34453456
    3446 module_eval(<<'.,.,', 'parser.y', 973)
     3457module_eval(<<'.,.,', 'parser.y', 978)
    34473458  def _reduce_293(val, _values, result)
    34483459        begin
     
    34583469.,.,
    34593470
    3460 module_eval(<<'.,.,', 'parser.y', 984)
     3471module_eval(<<'.,.,', 'parser.y', 989)
    34613472  def _reduce_294(val, _values, result)
    34623473        result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
     
    34823493# reduce 302 omitted
    34833494
    3484 module_eval(<<'.,.,', 'parser.y', 998)
     3495module_eval(<<'.,.,', 'parser.y', 1003)
    34853496  def _reduce_303(val, _values, result)
    34863497        result = val[0]
     
    34903501.,.,
    34913502
    3492 module_eval(<<'.,.,', 'parser.y', 1002)
     3503module_eval(<<'.,.,', 'parser.y', 1007)
    34933504  def _reduce_304(val, _values, result)
    34943505        result = val[0]
     
    35003511# reduce 305 omitted
    35013512
    3502 module_eval(<<'.,.,', 'parser.y', 1009)
     3513module_eval(<<'.,.,', 'parser.y', 1014)
    35033514  def _reduce_306(val, _values, result)
    35043515        result = val[3]
     
    36003611# reduce 352 omitted
    36013612
    3602 module_eval(<<'.,.,', 'parser.y', 1079)
     3613module_eval(<<'.,.,', 'parser.y', 1084)
    36033614  def _reduce_353(val, _values, result)
    36043615        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     
    36083619.,.,
    36093620
    3610 module_eval(<<'.,.,', 'parser.y', 1083)
     3621module_eval(<<'.,.,', 'parser.y', 1088)
    36113622  def _reduce_354(val, _values, result)
    36123623        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     
    36163627.,.,
    36173628
    3618 module_eval(<<'.,.,', 'parser.y', 1087)
     3629module_eval(<<'.,.,', 'parser.y', 1092)
    36193630  def _reduce_355(val, _values, result)
    36203631        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     
    36243635.,.,
    36253636
    3626 module_eval(<<'.,.,', 'parser.y', 1091)
     3637module_eval(<<'.,.,', 'parser.y', 1096)
    36273638  def _reduce_356(val, _values, result)
    36283639        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     
    36323643.,.,
    36333644
    3634 module_eval(<<'.,.,', 'parser.y', 1096)
     3645module_eval(<<'.,.,', 'parser.y', 1101)
    36353646  def _reduce_357(val, _values, result)
    36363647        result = val[0]
     
    36403651.,.,
    36413652
    3642 module_eval(<<'.,.,', 'parser.y', 1100)
     3653module_eval(<<'.,.,', 'parser.y', 1105)
    36433654  def _reduce_358(val, _values, result)
    36443655        raise 'Not implemented yet'
     
    36483659.,.,
    36493660
    3650 module_eval(<<'.,.,', 'parser.y', 1104)
     3661module_eval(<<'.,.,', 'parser.y', 1109)
    36513662  def _reduce_359(val, _values, result)
    36523663        raise 'Not implemented yet'
     
    36663677# reduce 364 omitted
    36673678
    3668 module_eval(<<'.,.,', 'parser.y', 1116)
     3679module_eval(<<'.,.,', 'parser.y', 1121)
    36693680  def _reduce_365(val, _values, result)
    36703681        @in_interval = false
     
    36753686.,.,
    36763687
    3677 module_eval(<<'.,.,', 'parser.y', 1123)
     3688module_eval(<<'.,.,', 'parser.y', 1128)
    36783689  def _reduce_366(val, _values, result)
    36793690          result = val[0]
     
    36833694.,.,
    36843695
    3685 module_eval(<<'.,.,', 'parser.y', 1127)
     3696module_eval(<<'.,.,', 'parser.y', 1132)
    36863697  def _reduce_367(val, _values, result)
    36873698          result = val[0]
     
    36993710# reduce 371 omitted
    37003711
    3701 module_eval(<<'.,.,', 'parser.y', 1142)
     3712module_eval(<<'.,.,', 'parser.y', 1147)
    37023713  def _reduce_372(val, _values, result)
    37033714          result = val[0]
     
    37073718.,.,
    37083719
    3709 module_eval(<<'.,.,', 'parser.y', 1147)
     3720module_eval(<<'.,.,', 'parser.y', 1152)
    37103721  def _reduce_373(val, _values, result)
    37113722          result = val[0]
     
    37153726.,.,
    37163727
    3717 module_eval(<<'.,.,', 'parser.y', 1151)
     3728module_eval(<<'.,.,', 'parser.y', 1156)
    37183729  def _reduce_374(val, _values, result)
    37193730        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
     
    37243735.,.,
    37253736
    3726 module_eval(<<'.,.,', 'parser.y', 1162)
     3737module_eval(<<'.,.,', 'parser.y', 1167)
    37273738  def _reduce_375(val, _values, result)
    37283739        result = val[0]
  • ruby/trunk/lib/adl_parser/lib/parser.y

    r116 r257  
    4040   
    4141    archetype_id = val[0][:archetype_id]
     42    parent_archtype_id = val[1][:parent_archtype_id] if val[1]
    4243    adl_version = val[0][:arch_head][:arch_meta_data][:adl_version]
    4344    concept = val[2]
     
    4546    archetype = OpenEHR::AM::Archetype::ARCHETYPE.create(
    4647                                                         :archetype_id => archetype_id,
     48                                                         :parent_archtype_id => parent_archtype_id,
    4749                                                         :adl_version => adl_version,
    4850                                                         :concept => concept,
     
    104106arch_specialisation: #-- empty is ok
    105107  | SYM_SPECIALIZE V_ARCHETYPE_ID
     108  {
     109    result = {:parent_archtype_id => val[1]}
     110  }
    106111  | SYM_SPECIALIZE error
    107112
     
    548553  }
    549554
    550 untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # <>
     555untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # >
    551556  {
    552557    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     
    11711176$:.unshift File.join(File.dirname(__FILE__))
    11721177require 'logger'
    1173 #require 'lib/util.rb'
    1174 #require 'lib/scanner.rb'
    1175 require 'lib/adl_parser.rb'
     1178#require 'lib/adl_parser.rb'
    11761179require 'rubygems'
     1180require 'adl_parser.rb'
    11771181require 'am.rb'
    1178 $DEBUG = false
     1182require 'rm.rb'
    11791183
    11801184
     
    13081312      when /\A[A-Z][a-zA-Z0-9_]*/
    13091313        yield :V_TYPE_IDENTIFIER, $&
    1310       when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
    1311         yield :V_ARCHETYPE_ID, $&
     1314#      when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
     1315      when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v[0-9]+)/   #V_ARCHETYPE_ID
     1316        object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6
     1317        archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id)
     1318#        yield :V_ARCHETYPE_ID, $&
     1319        yield :V_ARCHETYPE_ID, archetype_id
    13121320      when /\A[a-z][a-zA-Z0-9_]*/
    13131321#        word = $&.downcase
     
    13911399        yield :Question_mark_code, :Question_mark_code
    13921400      when /\A[0-9]+\.[0-9]+(\.[0-9]+)*/   # ?
    1393         yield :V_VERSION_STRING, :V_VERSION_STRING
     1401        yield :V_VERSION_STRING, $&
    13941402      when /\A\|/   # |
    13951403        if @in_interval
     
    14091417        yield :Right_bracket_code, :Right_bracket_code
    14101418
     1419      when /\A"([^"]*)"/m #V_STRING
     1420        yield :V_STRING, $1
    14111421      when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
    14121422        yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
     
    14261436        yield :V_REAL, $&
    14271437        #    when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
    1428       when /\A"([^"]*)"/m #V_STRING
    1429         yield :V_STRING, $1
    14301438      when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
    14311439        yield :V_URI, $&
  • ruby/trunk/lib/adl_parser/test/parser_test.rb

    r116 r257  
    1 #require 'lib/parser.rb'
    2 require 'lib/adl_parser.rb'
    3 require 'test/unit'
     1#require 'lib/adl_parser.rb'
     2require File.dirname(__FILE__) + '/test_helper.rb'
    43
    54class ADLParserTest < Test::Unit::TestCase
    65  def setup
    76    @parser = ::OpenEHR::ADL::Parser.new
     7    $DEBUG = false
    88  end
    99
     
    1313
    1414  def test_parse
     15#    body_mass_index = File.read(File.dirname(__FILE__) + '/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl')
     16    body_mass_index = File.read('test/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl')
     17    assert_nothing_raised do
     18      ast = @parser.parse(body_mass_index, 'openEHR-EHR-OBSERVATION.body_mass_index.v1.adl')
     19      assert_instance_of OpenEHR::RM::Support::Identification::Archetype_ID, ast.archetype_id
     20    end
     21
    1522    laboratory_request = File.read('test/adl/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl')
    1623    assert_nothing_raised do
     
    1926      assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION, result.description
    2027      assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, result.definition
    21 #      assert_equal '', result.definition
    2228    end
    2329
     
    6167      @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')
    6268    end
     69
    6370    exam_generic = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic.v1.adl')
    6471    assert_nothing_raised do
    6572      @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1.adl')
    6673    end
    67     exam_generic_mass = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
    68     assert_nothing_raised do
    69       @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
    70     end
    71     exam_generic_lymphnode = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
    72     assert_nothing_raised do
    73       @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
    74     end
    75     exam_generic_joint = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
    76     assert_nothing_raised do
    77       @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
    78     end
    79     exam_chest = File.read('test/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl')
    80     assert_nothing_raised do
    81       @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl')
    82     end
    83     exam_abdomen = File.read('test/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
    84     assert_nothing_raised do
    85       @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
    86     end
    87     cluster_auscultation = File.read('test/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl')
    88     assert_nothing_raised do
    89       @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl')
    90     end
    91     cluster_auscultation_chest = File.read('test/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
    92     assert_nothing_raised do
    93       @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
    94     end
    95     vital_signs = File.read('test/adl/openEHR-EHR-SECTION.vital_signs.v1.adl')
    96     assert_nothing_raised do
    97       @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1')
    98     end
    99     summary = File.read('test/adl/openEHR-EHR-SECTION.summary.v1.adl')
    100     assert_nothing_raised do
    101       @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl')
    102     end
    10374
    104     findings = File.read('test/adl/openEHR-EHR-SECTION.findings.v1.adl')
    105     assert_nothing_raised do
    106       @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl')
    107     end
     75#     exam_generic_mass = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
     76#     assert_nothing_raised do
     77#       @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
     78#     end
     79#     exam_generic_lymphnode = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
     80#     assert_nothing_raised do
     81#       @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
     82#     end
     83#     exam_generic_joint = File.read('test/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
     84#     assert_nothing_raised do
     85#       @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
     86#     end
     87#     exam_chest = File.read('test/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl')
     88#     assert_nothing_raised do
     89#       @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl')
     90#     end
     91#     exam_abdomen = File.read('test/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
     92#     assert_nothing_raised do
     93#       @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
     94#     end
     95#     cluster_auscultation = File.read('test/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl')
     96#     assert_nothing_raised do
     97#       @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl')
     98#     end
     99#     cluster_auscultation_chest = File.read('test/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
     100#     assert_nothing_raised do
     101#       @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
     102#     end
     103#     vital_signs = File.read('test/adl/openEHR-EHR-SECTION.vital_signs.v1.adl')
     104#     assert_nothing_raised do
     105#       @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1')
     106#     end
     107#     summary = File.read('test/adl/openEHR-EHR-SECTION.summary.v1.adl')
     108#     assert_nothing_raised do
     109#       @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl')
     110#     end
    108111
    109     reason_for_encounter = File.read('test/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
    110     assert_nothing_raised do
    111       @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
    112     end
     112#     findings = File.read('test/adl/openEHR-EHR-SECTION.findings.v1.adl')
     113#     assert_nothing_raised do
     114#       @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl')
     115#     end
    113116
    114     imaging = File.read('test/adl/openEHR-EHR-ITEM_TREE.imaging.v1.adl')
    115     assert_nothing_raised do
    116       @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl')
    117     end
    118     instruction_referral = File.read('test/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl')
    119     assert_nothing_raised do
    120       @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl')
    121     end
    122     instruction_medication = File.read('test/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl')
    123     assert_nothing_raised do
    124       @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl')
    125     end
    126     action_referral = File.read('test/adl/openEHR-EHR-ACTION.referral.v1.adl')
    127     assert_nothing_raised do
    128       @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl')
    129     end
     117#     reason_for_encounter = File.read('test/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
     118#     assert_nothing_raised do
     119#       @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
     120#     end
    130121
    131     dimensions_circumference = File.read('test/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl')
    132     assert_nothing_raised do
    133       @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl')
    134     end
     122#     imaging = File.read('test/adl/openEHR-EHR-ITEM_TREE.imaging.v1.adl')
     123#     assert_nothing_raised do
     124#       @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl')
     125#     end
     126#     instruction_referral = File.read('test/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl')
     127#     assert_nothing_raised do
     128#       @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl')
     129#     end
     130#     instruction_medication = File.read('test/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl')
     131#     assert_nothing_raised do
     132#       @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl')
     133#     end
     134#     action_referral = File.read('test/adl/openEHR-EHR-ACTION.referral.v1.adl')
     135#     assert_nothing_raised do
     136#       @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl')
     137#     end
    135138
    136     discharge = File.read('test/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
    137     assert_nothing_raised do
    138       @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
    139     end
     139#     dimensions_circumference = File.read('test/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl')
     140#     assert_nothing_raised do
     141#       @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl')
     142#     end
    140143
    141     encounter = File.read('test/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
    142     assert_nothing_raised do
    143       @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
    144     end
     144#     discharge = File.read('test/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
     145#     assert_nothing_raised do
     146#       @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
     147#     end
     148
     149#     encounter = File.read('test/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
     150#     assert_nothing_raised do
     151#       @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
     152#     end
    145153
    146154
  • ruby/trunk/lib/models/Rakefile

    r142 r257  
    4141  s.email = 'openehr-jp@openehr.jp'
    4242  s.test_files = FileList['tests/test_*.rb', '*.adl']
     43
    4344  candidates = Dir.glob("{am,rm,docs,tests}/**/*") + FileList['COPYING', 'Rakefile','am.rb','assumed_library_types.rb','rm.rb']
    4445  s.files = candidates.delete_if do |item|
  • ruby/trunk/lib/models/am/archetype/archetype.rb

    r163 r257  
    2121          @adl_version = args[:adl_version] if args[:adl_version]
    2222          @archetype_id = args[:archetype_id] ? args[:archetype_id] : nil
    23           @parent_id = args[:parent_id] if args[:parent_id]
     23          @parent_archtype_id = args[:parent_archtype_id] if args[:parent_archtype_id]
    2424          @concept = args[:concept] if args[:concept]
    2525          @is_controled = args[:is_controled] if args[:is_controled]
  • ruby/trunk/lib/models/rm/support/identification.rb

    r158 r257  
    8282
    8383          def specialisation=(specialisation)
    84             raise ArgumentError, "rm_specialisation not valid" if specialisation.nil? or specialisation.empty?
     84#            raise ArgumentError, "rm_specialisation not valid" if specialisation.nil? or specialisation.empty?
    8585            @specialisation = specialisation
    8686          end
Note: See TracChangeset for help on using the changeset viewer.