Changeset 22


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

integrating am and adl_parser

Location:
ruby/trunk/adl_parser
Files:
3 edited

Legend:

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

    r21 r22  
    2727    class Parser < Racc::Parser
    2828
    29 module_eval <<'..end lib/parser.y modeval..id0eaae3c06b', 'lib/parser.y', 758
     29module_eval <<'..end lib/parser.y modeval..idc7c14292e8', 'lib/parser.y', 1010
     30
     31def assert_at(file,line, message = "")
     32  unless yield
     33    raise "Assertion failed !: #{file}, #{line}: #{message}"
     34  end
     35end
    3036
    3137@@log = Logger.new('log/parser.log','daily')
     
    814820
    815821
    816 ..end lib/parser.y modeval..id0eaae3c06b
     822..end lib/parser.y modeval..idc7c14292e8
    817823
    818824##### racc 1.4.5 generates ###
     
    853859 2, 115, :_reduce_32,
    854860 1, 114, :_reduce_none,
    855  1, 114, :_reduce_none,
    856  1, 120, :_reduce_none,
    857  1, 120, :_reduce_none,
    858  1, 120, :_reduce_none,
    859  1, 120, :_reduce_none,
    860  1, 120, :_reduce_none,
    861  1, 120, :_reduce_none,
    862  1, 120, :_reduce_none,
    863  1, 120, :_reduce_none,
     861 1, 114, :_reduce_34,
     862 1, 120, :_reduce_35,
     863 1, 120, :_reduce_36,
     864 1, 120, :_reduce_37,
     865 1, 120, :_reduce_38,
     866 1, 120, :_reduce_39,
     867 1, 120, :_reduce_40,
     868 1, 120, :_reduce_41,
     869 1, 120, :_reduce_42,
    864870 1, 120, :_reduce_none,
    865871 1, 120, :_reduce_none,
     
    872878 3, 132, :_reduce_none,
    873879 2, 132, :_reduce_none,
    874  1, 127, :_reduce_none,
     880 1, 127, :_reduce_53,
    875881 1, 133, :_reduce_54,
    876  1, 133, :_reduce_none,
    877  1, 133, :_reduce_none,
    878  1, 133, :_reduce_none,
    879  1, 133, :_reduce_none,
    880  1, 133, :_reduce_none,
    881  1, 133, :_reduce_none,
    882  1, 133, :_reduce_none,
     882 1, 133, :_reduce_55,
     883 1, 133, :_reduce_56,
     884 1, 133, :_reduce_57,
     885 1, 133, :_reduce_58,
     886 1, 133, :_reduce_59,
     887 1, 133, :_reduce_60,
     888 1, 133, :_reduce_61,
    883889 1, 118, :_reduce_none,
    884  1, 119, :_reduce_none,
    885  2, 119, :_reduce_none,
    886  5, 142, :_reduce_none,
    887  5, 142, :_reduce_none,
    888  5, 142, :_reduce_none,
     890 1, 119, :_reduce_63,
     891 2, 119, :_reduce_64,
     892 5, 142, :_reduce_65,
     893 5, 142, :_reduce_66,
     894 5, 142, :_reduce_67,
    889895 2, 143, :_reduce_68,
    890896 3, 143, :_reduce_69,
    891  1, 144, :_reduce_none,
    892  2, 144, :_reduce_none,
    893  1, 144, :_reduce_none,
     897 1, 144, :_reduce_70,
     898 2, 144, :_reduce_71,
     899 1, 144, :_reduce_72,
    894900 0, 130, :_reduce_none,
    895901 2, 130, :_reduce_none,
     
    904910 2, 103, :_reduce_none,
    905911 2, 103, :_reduce_none,
    906  2, 104, :_reduce_none,
     912 2, 104, :_reduce_85,
    907913 2, 104, :_reduce_none,
    908914 1, 109, :_reduce_none,
     
    915921 1, 155, :_reduce_94,
    916922 2, 155, :_reduce_none,
    917  1, 156, :_reduce_none,
    918  1, 156, :_reduce_none,
    919  1, 153, :_reduce_none,
    920  1, 153, :_reduce_none,
    921  1, 159, :_reduce_none,
    922  2, 159, :_reduce_none,
    923  3, 160, :_reduce_none,
     923 1, 156, :_reduce_96,
     924 1, 156, :_reduce_97,
     925 1, 153, :_reduce_98,
     926 1, 153, :_reduce_99,
     927 1, 159, :_reduce_100,
     928 2, 159, :_reduce_101,
     929 3, 160, :_reduce_102,
    924930 1, 161, :_reduce_103,
    925931 1, 162, :_reduce_none,
     
    929935 1, 158, :_reduce_none,
    930936 2, 158, :_reduce_none,
    931  2, 166, :_reduce_none,
    932  3, 166, :_reduce_none,
     937 2, 166, :_reduce_110,
     938 3, 166, :_reduce_111,
    933939 1, 167, :_reduce_none,
    934  1, 157, :_reduce_none,
    935  2, 157, :_reduce_none,
     940 1, 157, :_reduce_113,
     941 2, 157, :_reduce_114,
    936942 3, 168, :_reduce_115,
    937  1, 169, :_reduce_none,
    938  1, 169, :_reduce_none,
    939  1, 169, :_reduce_none,
    940  1, 169, :_reduce_none,
    941  1, 169, :_reduce_none,
     943 1, 169, :_reduce_116,
     944 1, 169, :_reduce_117,
     945 1, 169, :_reduce_118,
     946 1, 169, :_reduce_119,
     947 1, 169, :_reduce_120,
    942948 1, 165, :_reduce_121,
    943949 1, 165, :_reduce_122,
     
    971977 3, 184, :_reduce_none,
    972978 3, 184, :_reduce_none,
    973  1, 175, :_reduce_none,
    974  2, 175, :_reduce_none,
    975  2, 175, :_reduce_none,
     979 1, 175, :_reduce_152,
     980 2, 175, :_reduce_153,
     981 2, 175, :_reduce_154,
    976982 3, 185, :_reduce_none,
    977983 3, 185, :_reduce_none,
     
    11091115 2, 206, :_reduce_288,
    11101116 1, 206, :_reduce_289,
    1111  0, 145, :_reduce_none,
    1112  5, 145, :_reduce_none,
    1113  1, 207, :_reduce_none,
    1114  3, 207, :_reduce_none,
    1115  5, 146, :_reduce_none,
     1117 0, 145, :_reduce_290,
     1118 5, 145, :_reduce_291,
     1119 1, 207, :_reduce_292,
     1120 3, 207, :_reduce_293,
     1121 5, 146, :_reduce_294,
    11161122 1, 208, :_reduce_none,
    11171123 3, 208, :_reduce_none,
     
    11721178 3, 140, :_reduce_none,
    11731179 3, 140, :_reduce_none,
    1174  1, 219, :_reduce_none,
    1175  1, 219, :_reduce_none,
    1176  3, 219, :_reduce_none,
    1177  3, 219, :_reduce_none,
    1178  1, 141, :_reduce_none,
    1179  3, 141, :_reduce_none,
    1180  3, 141, :_reduce_none,
     1180 1, 219, :_reduce_353,
     1181 1, 219, :_reduce_354,
     1182 3, 219, :_reduce_355,
     1183 3, 219, :_reduce_356,
     1184 1, 141, :_reduce_357,
     1185 3, 141, :_reduce_358,
     1186 3, 141, :_reduce_359,
    11811187 1, 126, :_reduce_none,
    11821188 3, 126, :_reduce_none,
     
    20232029 # reduce 2 omitted
    20242030
    2025 module_eval <<'.,.,', 'lib/parser.y', 41
     2031module_eval <<'.,.,', 'lib/parser.y', 46
    20262032  def _reduce_3( val, _values, result )
     2033    assert_at(__FILE__,__LINE__) do
     2034      val[4].instance_of?(OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
     2035    end
     2036   
    20272037    result = OpenEHR::AM::Archetype::ARCHETYPE.new(
    20282038                                                   :description => val[4],
    2029                                                    :definition => val[5]
     2039                                                   :definition => val[5],
     2040                                                   :ontology => val[7]
    20302041                                                   )
    20312042   result
     
    20632074 # reduce 18 omitted
    20642075
    2065 module_eval <<'.,.,', 'lib/parser.y', 76
     2076module_eval <<'.,.,', 'lib/parser.y', 81
    20662077  def _reduce_19( val, _values, result )
    20672078    result = {:language => val[1]}
     
    20742085 # reduce 21 omitted
    20752086
    2076 module_eval <<'.,.,', 'lib/parser.y', 87
     2087module_eval <<'.,.,', 'lib/parser.y', 92
    20772088  def _reduce_22( val, _values, result )
    20782089    result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
     
    20832094 # reduce 23 omitted
    20842095
    2085 module_eval <<'.,.,', 'lib/parser.y', 95
     2096module_eval <<'.,.,', 'lib/parser.y', 100
    20862097  def _reduce_24( val, _values, result )
    20872098    result = val[1]
     
    20922103 # reduce 25 omitted
    20932104
    2094 module_eval <<'.,.,', 'lib/parser.y', 103
     2105module_eval <<'.,.,', 'lib/parser.y', 110
    20952106  def _reduce_26( val, _values, result )
     2107    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     2108                     
    20962109    result = val[0]
    20972110   result
     
    21012114 # reduce 27 omitted
    21022115
    2103 module_eval <<'.,.,', 'lib/parser.y', 111
     2116module_eval <<'.,.,', 'lib/parser.y', 118
    21042117  def _reduce_28( val, _values, result )
    21052118    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     
    21082121.,.,
    21092122
    2110 module_eval <<'.,.,', 'lib/parser.y', 115
     2123module_eval <<'.,.,', 'lib/parser.y', 125
    21112124  def _reduce_29( val, _values, result )
    2112     result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     2125    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(
     2126                                                                            :assumed_value => val[0],
     2127                                                                            :attributes => val[2]
     2128                                                                            )
    21132129   result
    21142130  end
     
    21172133 # reduce 30 omitted
    21182134
    2119 module_eval <<'.,.,', 'lib/parser.y', 124
     2135module_eval <<'.,.,', 'lib/parser.y', 134
    21202136  def _reduce_31( val, _values, result )
    2121     result = {:c_complex_object_id => {:type_identifier => val[0]}}
    2122    result
    2123   end
    2124 .,.,
    2125 
    2126 module_eval <<'.,.,', 'lib/parser.y', 128
     2137    result = val[0]
     2138   result
     2139  end
     2140.,.,
     2141
     2142module_eval <<'.,.,', 'lib/parser.y', 138
    21272143  def _reduce_32( val, _values, result )
    21282144    result = {:c_complex_object_id => {:type_identifier => val[0], :V_LOCAL_TERM_CODE_REF => val[1]}}
     
    21332149 # reduce 33 omitted
    21342150
    2135  # reduce 34 omitted
    2136 
    2137  # reduce 35 omitted
    2138 
    2139  # reduce 36 omitted
    2140 
    2141  # reduce 37 omitted
    2142 
    2143  # reduce 38 omitted
    2144 
    2145  # reduce 39 omitted
    2146 
    2147  # reduce 40 omitted
    2148 
    2149  # reduce 41 omitted
    2150 
    2151  # reduce 42 omitted
     2151module_eval <<'.,.,', 'lib/parser.y', 144
     2152  def _reduce_34( val, _values, result )
     2153    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     2154   result
     2155  end
     2156.,.,
     2157
     2158module_eval <<'.,.,', 'lib/parser.y', 152
     2159  def _reduce_35( val, _values, result )
     2160    result = val[0]
     2161   result
     2162  end
     2163.,.,
     2164
     2165module_eval <<'.,.,', 'lib/parser.y', 156
     2166  def _reduce_36( val, _values, result )
     2167    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     2168   result
     2169  end
     2170.,.,
     2171
     2172module_eval <<'.,.,', 'lib/parser.y', 160
     2173  def _reduce_37( val, _values, result )
     2174    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.new
     2175   result
     2176  end
     2177.,.,
     2178
     2179module_eval <<'.,.,', 'lib/parser.y', 164
     2180  def _reduce_38( val, _values, result )
     2181    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.new
     2182   result
     2183  end
     2184.,.,
     2185
     2186module_eval <<'.,.,', 'lib/parser.y', 168
     2187  def _reduce_39( val, _values, result )
     2188    result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.new
     2189   result
     2190  end
     2191.,.,
     2192
     2193module_eval <<'.,.,', 'lib/parser.y', 172
     2194  def _reduce_40( val, _values, result )
     2195    result = val[0]
     2196   result
     2197  end
     2198.,.,
     2199
     2200module_eval <<'.,.,', 'lib/parser.y', 176
     2201  def _reduce_41( val, _values, result )
     2202    result = val[0]
     2203   result
     2204  end
     2205.,.,
     2206
     2207module_eval <<'.,.,', 'lib/parser.y', 180
     2208  def _reduce_42( val, _values, result )
     2209    result = val[0]
     2210   result
     2211  end
     2212.,.,
    21522213
    21532214 # reduce 43 omitted
     
    21712232 # reduce 52 omitted
    21722233
    2173  # reduce 53 omitted
    2174 
    2175 module_eval <<'.,.,', 'lib/parser.y', 177
     2234module_eval <<'.,.,', 'lib/parser.y', 212
     2235  def _reduce_53( val, _values, result )
     2236    assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
     2237    result = OpenEHR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.new(:item => val[0])
     2238   result
     2239  end
     2240.,.,
     2241
     2242module_eval <<'.,.,', 'lib/parser.y', 218
    21762243  def _reduce_54( val, _values, result )
    2177     @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}")
    2178     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Integer.new
    2179    result
    2180   end
    2181 .,.,
    2182 
    2183  # reduce 55 omitted
    2184 
    2185  # reduce 56 omitted
    2186 
    2187  # reduce 57 omitted
    2188 
    2189  # reduce 58 omitted
    2190 
    2191  # reduce 59 omitted
    2192 
    2193  # reduce 60 omitted
    2194 
    2195  # reduce 61 omitted
     2244    @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     2245    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.new
     2246   result
     2247  end
     2248.,.,
     2249
     2250module_eval <<'.,.,', 'lib/parser.y', 223
     2251  def _reduce_55( val, _values, result )
     2252    @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     2253    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new
     2254   result
     2255  end
     2256.,.,
     2257
     2258module_eval <<'.,.,', 'lib/parser.y', 228
     2259  def _reduce_56( val, _values, result )
     2260    @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     2261    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new
     2262   result
     2263  end
     2264.,.,
     2265
     2266module_eval <<'.,.,', 'lib/parser.y', 233
     2267  def _reduce_57( val, _values, result )
     2268    @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     2269    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new
     2270   result
     2271  end
     2272.,.,
     2273
     2274module_eval <<'.,.,', 'lib/parser.y', 238
     2275  def _reduce_58( val, _values, result )
     2276    @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     2277    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new
     2278   result
     2279  end
     2280.,.,
     2281
     2282module_eval <<'.,.,', 'lib/parser.y', 243
     2283  def _reduce_59( val, _values, result )
     2284    @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     2285    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new
     2286   result
     2287  end
     2288.,.,
     2289
     2290module_eval <<'.,.,', 'lib/parser.y', 248
     2291  def _reduce_60( val, _values, result )
     2292    @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     2293    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new
     2294   result
     2295  end
     2296.,.,
     2297
     2298module_eval <<'.,.,', 'lib/parser.y', 254
     2299  def _reduce_61( val, _values, result )
     2300    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     2301    @@log.info("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
     2302    result = val[0]
     2303   result
     2304  end
     2305.,.,
    21962306
    21972307 # reduce 62 omitted
    21982308
    2199  # reduce 63 omitted
    2200 
    2201  # reduce 64 omitted
    2202 
    2203  # reduce 65 omitted
    2204 
    2205  # reduce 66 omitted
    2206 
    2207  # reduce 67 omitted
    2208 
    2209 module_eval <<'.,.,', 'lib/parser.y', 203
     2309module_eval <<'.,.,', 'lib/parser.y', 264
     2310  def _reduce_63( val, _values, result )
     2311    result = [val[0]]
     2312   result
     2313  end
     2314.,.,
     2315
     2316module_eval <<'.,.,', 'lib/parser.y', 268
     2317  def _reduce_64( val, _values, result )
     2318    result = (val[0] << val[1])
     2319   result
     2320  end
     2321.,.,
     2322
     2323module_eval <<'.,.,', 'lib/parser.y', 277
     2324  def _reduce_65( val, _values, result )
     2325    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     2326    c_attribute = val[0]
     2327    c_attribute.children = val[3]
     2328    result = c_attribute
     2329   result
     2330  end
     2331.,.,
     2332
     2333module_eval <<'.,.,', 'lib/parser.y', 282
     2334  def _reduce_66( val, _values, result )
     2335    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     2336    result = val[0]
     2337   result
     2338  end
     2339.,.,
     2340
     2341module_eval <<'.,.,', 'lib/parser.y', 287
     2342  def _reduce_67( val, _values, result )
     2343    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     2344    result = val[0]
     2345   result
     2346  end
     2347.,.,
     2348
     2349module_eval <<'.,.,', 'lib/parser.y', 298
    22102350  def _reduce_68( val, _values, result )
    22112351    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
    2212    result
    2213   end
    2214 .,.,
    2215 
    2216 module_eval <<'.,.,', 'lib/parser.y', 207
     2352    result = OpenEHR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(
     2353                                                                              :rm_attribute_name => val[0],
     2354                                                                              :existence => val[1]
     2355                                                                              )
     2356   result
     2357  end
     2358.,.,
     2359
     2360module_eval <<'.,.,', 'lib/parser.y', 308
    22172361  def _reduce_69( val, _values, result )
    2218     @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
    2219    result
    2220   end
    2221 .,.,
    2222 
    2223  # reduce 70 omitted
    2224 
    2225  # reduce 71 omitted
    2226 
    2227  # reduce 72 omitted
     2362    assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
     2363    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
     2364    result = OpenEHR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(
     2365                                                                                :rm_attribute_name => val[0],
     2366                                                                                :existence => val[1],
     2367                                                                                :cardinality => val[2]
     2368                                                                                )
     2369   result
     2370  end
     2371.,.,
     2372
     2373module_eval <<'.,.,', 'lib/parser.y', 313
     2374  def _reduce_70( val, _values, result )
     2375    result = Array[val[0]]
     2376   result
     2377  end
     2378.,.,
     2379
     2380module_eval <<'.,.,', 'lib/parser.y', 317
     2381  def _reduce_71( val, _values, result )
     2382    result = (val[0] << val[1])
     2383   result
     2384  end
     2385.,.,
     2386
     2387module_eval <<'.,.,', 'lib/parser.y', 321
     2388  def _reduce_72( val, _values, result )
     2389    result = Array[val[0]]
     2390   result
     2391  end
     2392.,.,
    22282393
    22292394 # reduce 73 omitted
     
    22512416 # reduce 84 omitted
    22522417
    2253  # reduce 85 omitted
     2418module_eval <<'.,.,', 'lib/parser.y', 351
     2419  def _reduce_85( val, _values, result )
     2420    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
     2421   result
     2422  end
     2423.,.,
    22542424
    22552425 # reduce 86 omitted
     
    22672437 # reduce 92 omitted
    22682438
    2269 module_eval <<'.,.,', 'lib/parser.y', 257
     2439module_eval <<'.,.,', 'lib/parser.y', 370
    22702440  def _reduce_93( val, _values, result )
    22712441    @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    22742444.,.,
    22752445
    2276 module_eval <<'.,.,', 'lib/parser.y', 262
     2446module_eval <<'.,.,', 'lib/parser.y', 376
    22772447  def _reduce_94( val, _values, result )
    22782448    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
     2449    result = val[0]
    22792450   result
    22802451  end
     
    22832454 # reduce 95 omitted
    22842455
    2285  # reduce 96 omitted
    2286 
    2287  # reduce 97 omitted
    2288 
    2289  # reduce 98 omitted
    2290 
    2291  # reduce 99 omitted
    2292 
    2293  # reduce 100 omitted
    2294 
    2295  # reduce 101 omitted
    2296 
    2297  # reduce 102 omitted
    2298 
    2299 module_eval <<'.,.,', 'lib/parser.y', 279
     2456module_eval <<'.,.,', 'lib/parser.y', 382
     2457  def _reduce_96( val, _values, result )
     2458    result = val[0]
     2459   result
     2460  end
     2461.,.,
     2462
     2463module_eval <<'.,.,', 'lib/parser.y', 386
     2464  def _reduce_97( val, _values, result )
     2465    result = val[0]
     2466   result
     2467  end
     2468.,.,
     2469
     2470module_eval <<'.,.,', 'lib/parser.y', 391
     2471  def _reduce_98( val, _values, result )
     2472    result = val[0]
     2473   result
     2474  end
     2475.,.,
     2476
     2477module_eval <<'.,.,', 'lib/parser.y', 395
     2478  def _reduce_99( val, _values, result )
     2479    result = val[0]
     2480   result
     2481  end
     2482.,.,
     2483
     2484module_eval <<'.,.,', 'lib/parser.y', 400
     2485  def _reduce_100( val, _values, result )
     2486    result = val[0]
     2487   result
     2488  end
     2489.,.,
     2490
     2491module_eval <<'.,.,', 'lib/parser.y', 404
     2492  def _reduce_101( val, _values, result )
     2493    result = val[0]
     2494   result
     2495  end
     2496.,.,
     2497
     2498module_eval <<'.,.,', 'lib/parser.y', 409
     2499  def _reduce_102( val, _values, result )
     2500    result = val[0]
     2501   result
     2502  end
     2503.,.,
     2504
     2505module_eval <<'.,.,', 'lib/parser.y', 415
    23002506  def _reduce_103( val, _values, result )
    23012507    @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
     2508    result = val[0]
    23022509   result
    23032510  end
     
    23082515 # reduce 105 omitted
    23092516
    2310 module_eval <<'.,.,', 'lib/parser.y', 287
     2517module_eval <<'.,.,', 'lib/parser.y', 423
    23112518  def _reduce_106( val, _values, result )
    23122519    @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
     
    23152522.,.,
    23162523
    2317 module_eval <<'.,.,', 'lib/parser.y', 292
     2524module_eval <<'.,.,', 'lib/parser.y', 429
    23182525  def _reduce_107( val, _values, result )
    23192526    @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     2527    result = val[1]
    23202528   result
    23212529  end
     
    23262534 # reduce 109 omitted
    23272535
    2328  # reduce 110 omitted
    2329 
    2330  # reduce 111 omitted
     2536module_eval <<'.,.,', 'lib/parser.y', 437
     2537  def _reduce_110( val, _values, result )
     2538    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     2539    result = val[0]
     2540   result
     2541  end
     2542.,.,
     2543
     2544module_eval <<'.,.,', 'lib/parser.y', 442
     2545  def _reduce_111( val, _values, result )
     2546    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
     2547    result = val[0]
     2548   result
     2549  end
     2550.,.,
    23312551
    23322552 # reduce 112 omitted
    23332553
    2334  # reduce 113 omitted
    2335 
    2336  # reduce 114 omitted
    2337 
    2338 module_eval <<'.,.,', 'lib/parser.y', 304
     2554module_eval <<'.,.,', 'lib/parser.y', 448
     2555  def _reduce_113( val, _values, result )
     2556    @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
     2557    result = val[0]
     2558   result
     2559  end
     2560.,.,
     2561
     2562module_eval <<'.,.,', 'lib/parser.y', 453
     2563  def _reduce_114( val, _values, result )
     2564    @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
     2565    result = val[0]
     2566   result
     2567  end
     2568.,.,
     2569
     2570module_eval <<'.,.,', 'lib/parser.y', 458
    23392571  def _reduce_115( val, _values, result )
    2340     @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[2]}> at #{@filename}:#{@lineno}")
    2341    result
    2342   end
    2343 .,.,
    2344 
    2345  # reduce 116 omitted
    2346 
    2347  # reduce 117 omitted
    2348 
    2349  # reduce 118 omitted
    2350 
    2351  # reduce 119 omitted
    2352 
    2353  # reduce 120 omitted
    2354 
    2355 module_eval <<'.,.,', 'lib/parser.y', 313
     2572    @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     2573    result = val[1]
     2574   result
     2575  end
     2576.,.,
     2577
     2578module_eval <<'.,.,', 'lib/parser.y', 462
     2579  def _reduce_116( val, _values, result )
     2580    result = val[0]
     2581   result
     2582  end
     2583.,.,
     2584
     2585module_eval <<'.,.,', 'lib/parser.y', 466
     2586  def _reduce_117( val, _values, result )
     2587    result = val[0]
     2588   result
     2589  end
     2590.,.,
     2591
     2592module_eval <<'.,.,', 'lib/parser.y', 470
     2593  def _reduce_118( val, _values, result )
     2594    result = val[0]
     2595   result
     2596  end
     2597.,.,
     2598
     2599module_eval <<'.,.,', 'lib/parser.y', 474
     2600  def _reduce_119( val, _values, result )
     2601    result = val[0]
     2602   result
     2603  end
     2604.,.,
     2605
     2606module_eval <<'.,.,', 'lib/parser.y', 478
     2607  def _reduce_120( val, _values, result )
     2608    result = val[0]
     2609   result
     2610  end
     2611.,.,
     2612
     2613module_eval <<'.,.,', 'lib/parser.y', 483
    23562614  def _reduce_121( val, _values, result )
    23572615    @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
    2358    result
    2359   end
    2360 .,.,
    2361 
    2362 module_eval <<'.,.,', 'lib/parser.y', 317
     2616    result = val[0]
     2617   result
     2618  end
     2619.,.,
     2620
     2621module_eval <<'.,.,', 'lib/parser.y', 488
    23632622  def _reduce_122( val, _values, result )
    23642623    @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
    2365    result
    2366   end
    2367 .,.,
    2368 
    2369 module_eval <<'.,.,', 'lib/parser.y', 321
     2624    result = val[0]
     2625   result
     2626  end
     2627.,.,
     2628
     2629module_eval <<'.,.,', 'lib/parser.y', 493
    23702630  def _reduce_123( val, _values, result )
    23712631    @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
    2372    result
    2373   end
    2374 .,.,
    2375 
    2376 module_eval <<'.,.,', 'lib/parser.y', 325
     2632    result = val[0]
     2633   result
     2634  end
     2635.,.,
     2636
     2637module_eval <<'.,.,', 'lib/parser.y', 498
    23772638  def _reduce_124( val, _values, result )
    23782639    @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
    2379    result
    2380   end
    2381 .,.,
    2382 
    2383 module_eval <<'.,.,', 'lib/parser.y', 329
     2640    result = val[0]
     2641   result
     2642  end
     2643.,.,
     2644
     2645module_eval <<'.,.,', 'lib/parser.y', 503
    23842646  def _reduce_125( val, _values, result )
    23852647    @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
    2386    result
    2387   end
    2388 .,.,
    2389 
    2390 module_eval <<'.,.,', 'lib/parser.y', 333
     2648    result = val[0]
     2649   result
     2650  end
     2651.,.,
     2652
     2653module_eval <<'.,.,', 'lib/parser.y', 508
    23912654  def _reduce_126( val, _values, result )
    23922655    @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
    2393    result
    2394   end
    2395 .,.,
    2396 
    2397 module_eval <<'.,.,', 'lib/parser.y', 337
     2656    result = val[0]
     2657   result
     2658  end
     2659.,.,
     2660
     2661module_eval <<'.,.,', 'lib/parser.y', 513
    23982662  def _reduce_127( val, _values, result )
    23992663    @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
    2400    result
    2401   end
    2402 .,.,
    2403 
    2404 module_eval <<'.,.,', 'lib/parser.y', 341
     2664    result = val[0]
     2665   result
     2666  end
     2667.,.,
     2668
     2669module_eval <<'.,.,', 'lib/parser.y', 518
    24052670  def _reduce_128( val, _values, result )
    24062671    @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
    2407    result
    2408   end
    2409 .,.,
    2410 
    2411 module_eval <<'.,.,', 'lib/parser.y', 345
     2672    result = val[0]
     2673   result
     2674  end
     2675.,.,
     2676
     2677module_eval <<'.,.,', 'lib/parser.y', 523
    24122678  def _reduce_129( val, _values, result )
    24132679    @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
    2414    result
    2415   end
    2416 .,.,
    2417 
    2418 module_eval <<'.,.,', 'lib/parser.y', 349
     2680    result = val[0]
     2681   result
     2682  end
     2683.,.,
     2684
     2685module_eval <<'.,.,', 'lib/parser.y', 528
    24192686  def _reduce_130( val, _values, result )
    24202687    @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
     2688    result = val[0]
    24212689   result
    24222690  end
     
    24532721 # reduce 145 omitted
    24542722
    2455 module_eval <<'.,.,', 'lib/parser.y', 370
     2723module_eval <<'.,.,', 'lib/parser.y', 551
    24562724  def _reduce_146( val, _values, result )
    24572725    @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
    2458    result
    2459   end
    2460 .,.,
    2461 
    2462 module_eval <<'.,.,', 'lib/parser.y', 374
     2726    result = val[0]
     2727   result
     2728  end
     2729.,.,
     2730
     2731module_eval <<'.,.,', 'lib/parser.y', 556
    24632732  def _reduce_147( val, _values, result )
    24642733    @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
    2465    result
    2466   end
    2467 .,.,
    2468 
    2469 module_eval <<'.,.,', 'lib/parser.y', 379
     2734    result = val[0]
     2735   result
     2736  end
     2737.,.,
     2738
     2739module_eval <<'.,.,', 'lib/parser.y', 562
    24702740  def _reduce_148( val, _values, result )
    24712741    @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     2742    result = val[0]
    24722743   result
    24732744  end
     
    24802751 # reduce 151 omitted
    24812752
    2482  # reduce 152 omitted
    2483 
    2484  # reduce 153 omitted
    2485 
    2486  # reduce 154 omitted
     2753module_eval <<'.,.,', 'lib/parser.y', 576
     2754  def _reduce_152( val, _values, result )
     2755    begin
     2756      integer = Integer(val[0])
     2757    rescue
     2758      raise
     2759    end
     2760    result = integer
     2761   result
     2762  end
     2763.,.,
     2764
     2765module_eval <<'.,.,', 'lib/parser.y', 585
     2766  def _reduce_153( val, _values, result )
     2767    begin
     2768      integer = Integer(val[0])
     2769    rescue
     2770      raise
     2771    end
     2772    result = integer
     2773   result
     2774  end
     2775.,.,
     2776
     2777module_eval <<'.,.,', 'lib/parser.y', 594
     2778  def _reduce_154( val, _values, result )
     2779    begin
     2780      integer = Integer(val[0])
     2781    rescue
     2782      raise
     2783    end
     2784    result = - integer
     2785   result
     2786  end
     2787.,.,
    24872788
    24882789 # reduce 155 omitted
     
    26362937 # reduce 229 omitted
    26372938
    2638 module_eval <<'.,.,', 'lib/parser.y', 490
     2939module_eval <<'.,.,', 'lib/parser.y', 698
    26392940  def _reduce_230( val, _values, result )
    26402941    @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     2942    result = val[0]
    26412943   result
    26422944  end
     
    26672969 # reduce 242 omitted
    26682970
    2669 module_eval <<'.,.,', 'lib/parser.y', 509
     2971module_eval <<'.,.,', 'lib/parser.y', 717
    26702972  def _reduce_243( val, _values, result )
    26712973    @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     
    26802982 # reduce 246 omitted
    26812983
    2682 module_eval <<'.,.,', 'lib/parser.y', 518
     2984module_eval <<'.,.,', 'lib/parser.y', 726
    26832985  def _reduce_247( val, _values, result )
    26842986    @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     
    27673069 # reduce 287 omitted
    27683070
    2769 module_eval <<'.,.,', 'lib/parser.y', 587
     3071module_eval <<'.,.,', 'lib/parser.y', 795
    27703072  def _reduce_288( val, _values, result )
    27713073    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    27743076.,.,
    27753077
    2776 module_eval <<'.,.,', 'lib/parser.y', 591
     3078module_eval <<'.,.,', 'lib/parser.y', 799
    27773079  def _reduce_289( val, _values, result )
    27783080    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    27813083.,.,
    27823084
    2783  # reduce 290 omitted
    2784 
    2785  # reduce 291 omitted
    2786 
    2787  # reduce 292 omitted
    2788 
    2789  # reduce 293 omitted
    2790 
    2791  # reduce 294 omitted
     3085module_eval <<'.,.,', 'lib/parser.y', 810
     3086  def _reduce_290( val, _values, result )
     3087    result = Range.new(1,1)
     3088   result
     3089  end
     3090.,.,
     3091
     3092module_eval <<'.,.,', 'lib/parser.y', 814
     3093  def _reduce_291( val, _values, result )
     3094    result = val[3]
     3095   result
     3096  end
     3097.,.,
     3098
     3099module_eval <<'.,.,', 'lib/parser.y', 824
     3100  def _reduce_292( val, _values, result )
     3101    begin
     3102      integer = Integer(val[0])
     3103    rescue
     3104      raise
     3105    end
     3106    result = integer
     3107   result
     3108  end
     3109.,.,
     3110
     3111module_eval <<'.,.,', 'lib/parser.y', 834
     3112  def _reduce_293( val, _values, result )
     3113    begin
     3114      from_integer = Integer(val[0])
     3115      to_integer = Integer(val[2])
     3116    rescue
     3117      raise
     3118    end
     3119    result = Range.new(from_integer,to_integer)
     3120   result
     3121  end
     3122.,.,
     3123
     3124module_eval <<'.,.,', 'lib/parser.y', 839
     3125  def _reduce_294( val, _values, result )
     3126    result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
     3127   result
     3128  end
     3129.,.,
    27923130
    27933131 # reduce 295 omitted
     
    29073245 # reduce 352 omitted
    29083246
    2909  # reduce 353 omitted
    2910 
    2911  # reduce 354 omitted
    2912 
    2913  # reduce 355 omitted
    2914 
    2915  # reduce 356 omitted
    2916 
    2917  # reduce 357 omitted
    2918 
    2919  # reduce 358 omitted
    2920 
    2921  # reduce 359 omitted
     3247module_eval <<'.,.,', 'lib/parser.y', 925
     3248  def _reduce_353( val, _values, result )
     3249    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     3250   result
     3251  end
     3252.,.,
     3253
     3254module_eval <<'.,.,', 'lib/parser.y', 929
     3255  def _reduce_354( val, _values, result )
     3256    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     3257   result
     3258  end
     3259.,.,
     3260
     3261module_eval <<'.,.,', 'lib/parser.y', 933
     3262  def _reduce_355( val, _values, result )
     3263    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     3264   result
     3265  end
     3266.,.,
     3267
     3268module_eval <<'.,.,', 'lib/parser.y', 937
     3269  def _reduce_356( val, _values, result )
     3270    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     3271   result
     3272  end
     3273.,.,
     3274
     3275module_eval <<'.,.,', 'lib/parser.y', 942
     3276  def _reduce_357( val, _values, result )
     3277    result = val[0]
     3278   result
     3279  end
     3280.,.,
     3281
     3282module_eval <<'.,.,', 'lib/parser.y', 946
     3283  def _reduce_358( val, _values, result )
     3284    raise 'Not implemented yet'
     3285   result
     3286  end
     3287.,.,
     3288
     3289module_eval <<'.,.,', 'lib/parser.y', 950
     3290  def _reduce_359( val, _values, result )
     3291    raise 'Not implemented yet'
     3292   result
     3293  end
     3294.,.,
    29223295
    29233296 # reduce 360 omitted
     
    29313304 # reduce 364 omitted
    29323305
    2933 module_eval <<'.,.,', 'lib/parser.y', 711
     3306module_eval <<'.,.,', 'lib/parser.y', 963
    29343307  def _reduce_365( val, _values, result )
    29353308    @in_interval = false
     
    29553328 # reduce 373 omitted
    29563329
    2957 module_eval <<'.,.,', 'lib/parser.y', 733
     3330module_eval <<'.,.,', 'lib/parser.y', 985
    29583331  def _reduce_374( val, _values, result )
    29593332    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
  • ruby/trunk/adl_parser/lib/parser.y

    r21 r22  
    3535archetype: arch_identification arch_specialisation arch_concept arch_language arch_description arch_definition arch_invariant arch_ontology
    3636  {
     37    assert_at(__FILE__,__LINE__) do
     38      val[4].instance_of?(OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
     39    end
     40   
    3741    result = OpenEHR::AM::Archetype::ARCHETYPE.new(
    3842                                                   :description => val[4],
    39                                                    :definition => val[5]
     43                                                   :definition => val[5],
     44                                                   :ontology => val[7]
    4045                                                   )
    4146  }
     
    100105cadl_section: c_complex_object
    101106  {
     107    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     108                     
    102109    result = val[0]
    103110  }
     
    112119    | c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body SYM_END_CBLOCK
    113120  {
    114     result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     121    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(
     122                                                                            :assumed_value => val[0],
     123                                                                            :attributes => val[2]
     124                                                                            )
    115125  }
    116126#    | c_complex_object_head error SYM_END_CBLOCK
     
    121131c_complex_object_id: type_identifier
    122132  {
    123     result = {:c_complex_object_id => {:type_identifier => val[0]}}
     133    result = val[0]
    124134  }
    125135  | type_identifier V_LOCAL_TERM_CODE_REF
     
    130140c_complex_object_body: c_any #-- used to indicate that any value of a type is ok
    131141  | c_attributes
     142  {
     143    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     144  }
    132145
    133146
     
    135148
    136149c_object: v_c_domain_type
     150  {
     151    result = val[0]
     152  }
    137153  | c_complex_object
     154  {
     155    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new
     156  }
    138157  | archetype_internal_ref
     158  {
     159    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.new
     160  }
    139161  | archetype_slot
     162  {
     163    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.new
     164  }
    140165  | constraint_ref
     166  {
     167    result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.new
     168  }
    141169  | c_code_phrase
     170  {
     171    result = val[0]
     172  }
    142173  | c_ordinal
     174  {
     175    result = val[0]
     176  }
    143177  | c_primitive_object
     178  {
     179    result = val[0]
     180  }
    144181#  | v_c_domain_type
    145182#  | V_C_DOMAIN_TYPE
     
    170207# 'c_primitive_object' is an node representing a constraint on a primitive object type.
    171208c_primitive_object: c_primitive
     209  {
     210    assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
     211    result = OpenEHR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.new(:item => val[0])
     212  }
    172213
    173214c_primitive: c_integer
    174215  {
    175     @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}")
    176     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Integer.new
     216    @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     217    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.new
    177218  }
    178219  | c_real
     220  {
     221    @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     222    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new
     223  }
    179224  | c_date
     225  {
     226    @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     227    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new
     228  }
    180229  | c_time
     230  {
     231    @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     232    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new
     233  }
    181234  | c_date_time
     235  {
     236    @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     237    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new
     238  }
    182239  | c_duration
     240  {
     241    @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     242    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new
     243  }
    183244  | c_string
     245  {
     246    @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     247    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new
     248  }
    184249  | c_boolean
     250  {
     251    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     252    @@log.info("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
     253    result = val[0]
     254  }
    185255
    186256c_any: Star_code
     
    190260
    191261c_attributes: c_attribute
     262  {
     263    result = [val[0]]
     264  }
    192265  | c_attributes c_attribute
     266  {
     267    result = (val[0] << val[1])
     268  }
    193269
    194270# 'c_attribute' is a node representing a constraint on an attribute in an object model.
    195271c_attribute: c_attr_head SYM_MATCHES SYM_START_CBLOCK c_attr_values SYM_END_CBLOCK
     272  {
     273    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     274    c_attribute = val[0]
     275    c_attribute.children = val[3]
     276    result = c_attribute
     277  }
    196278  | c_attr_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi
     279  {
     280    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     281    result = val[0]
     282  }
    197283  | c_attr_head SYM_MATCHES SYM_START_CBLOCK error SYM_END_CBLOCK
     284  {
     285    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     286    result = val[0]
     287  }
    198288
    199289
     
    201291  {
    202292    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
     293    result = OpenEHR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(
     294                                                                              :rm_attribute_name => val[0],
     295                                                                              :existence => val[1]
     296                                                                              )
     297
    203298  }
    204299  | V_ATTRIBUTE_IDENTIFIER c_existence c_cardinality
    205300  {
     301    assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
    206302    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
     303    result = OpenEHR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(
     304                                                                                :rm_attribute_name => val[0],
     305                                                                                :existence => val[1],
     306                                                                                :cardinality => val[2]
     307                                                                                )
    207308  }
    208309
    209310c_attr_values: c_object
     311  {
     312    result = Array[val[0]]
     313  }
    210314  | c_attr_values c_object
     315  {
     316    result = (val[0] << val[1])
     317  }
    211318  | c_any # -- to allow a property to have any value
     319  {
     320    result = Array[val[0]]
     321  }
    212322
    213323### c_includes: #-- Empty
     
    237347
    238348arch_ontology: SYM_ONTOLOGY dadl_section
     349  {
     350    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
     351  }
    239352  | SYM_ONTOLOGY error
    240353
     
    260373  {
    261374    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
     375    result = val[0]
    262376  }
    263377  | V_ATTRIBUTE_IDENTIFIER error
    264378
    265379object_block: complex_object_block
     380  {
     381    result = val[0]
     382  }
    266383  | primitive_object_block
     384  {
     385    result = val[0]
     386  }
    267387
    268388complex_object_block: single_attr_object_block
     389  {
     390    result = val[0]
     391  }
    269392  | multiple_attr_object_block
     393  {
     394    result = val[0]
     395  }
    270396
    271397multiple_attr_object_block: untyped_multiple_attr_object_block
     398  {
     399    result = val[0]
     400  }
    272401  | type_identifier untyped_multiple_attr_object_block
     402  {
     403    result = val[0]
     404  }
    273405
    274406untyped_multiple_attr_object_block: multiple_attr_object_block_head keyed_objects SYM_END_DBLOCK
     407  {
     408    result = val[0]
     409  }
    275410
    276411multiple_attr_object_block_head: SYM_START_DBLOCK
    277   {
     412  { 
    278413    @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
     414    result = val[0]
    279415  }
    280416
     
    290426  {
    291427    @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     428    result = val[1]
    292429  }
    293430
     
    295432  | type_identifier untyped_single_attr_object_block
    296433untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # <>
     434  {
     435    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     436    result = val[0]
     437  }
    297438  | single_attr_object_complex_head attr_vals SYM_END_DBLOCK
     439  {
     440    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
     441    result = val[0]
     442  }
    298443single_attr_object_complex_head: SYM_START_DBLOCK
    299444primitive_object_block: untyped_primitive_object_block
     445  {
     446    @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
     447    result = val[0]
     448  }
    300449  | type_identifier untyped_primitive_object_block
     450  {
     451    @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
     452    result = val[0]
     453  }
    301454untyped_primitive_object_block: SYM_START_DBLOCK primitive_object_value SYM_END_DBLOCK
    302455  {
    303     @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[2]}> at #{@filename}:#{@lineno}")
     456    @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     457    result = val[1]
    304458  }
    305459primitive_object_value: simple_value
     460  {
     461    result = val[0]
     462  }
    306463  | simple_list_value
     464  {
     465    result = val[0]
     466  }
    307467  | simple_interval_value
     468  {
     469    result = val[0]
     470  }
    308471  | term_code
     472  {
     473    result = val[0]
     474  }
    309475  | term_code_list_value
     476  {
     477    result = val[0]
     478  }
    310479simple_value: string_value
    311480  {
    312481    @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
     482    result = val[0]
    313483  }
    314484  | integer_value
    315485  {
    316486    @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
     487    result = val[0]
    317488  }
    318489  | real_value
    319490  {
    320491    @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
     492    result = val[0]
    321493  }
    322494  | boolean_value
    323495  {
    324496    @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
     497    result = val[0]
    325498  }
    326499  | character_value
    327500  {
    328501    @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
     502    result = val[0]
    329503  }
    330504  | date_value
    331505  {
    332506    @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
     507    result = val[0]
    333508  }
    334509  | time_value
    335510  {
    336511    @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
     512    result = val[0]
    337513  }
    338514  | date_time_value
    339515  {
    340516    @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
     517    result = val[0]
    341518  }
    342519  | duration_value
    343520  {
    344521    @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
     522    result = val[0]
    345523  }
    346524  | uri_value
    347525  {
    348526    @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
    349   }
     527    result = val[0]
     528  }
     529
    350530simple_list_value: string_list_value
    351531  | integer_list_value
     
    368548  {
    369549    @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     550    result = val[0]
    370551  }
    371552  | V_GENERIC_TYPE_IDENTIFIER
    372553  {
    373554    @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     555    result = val[0]
    374556  }
    375557
     
    377559  {
    378560    @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     561    result = val[0]
    379562  }
    380563
     
    384567
    385568integer_value: V_INTEGER
     569  {
     570    begin
     571      integer = Integer(val[0])
     572    rescue
     573      raise
     574    end
     575    result = integer
     576  }
    386577  | Plus_code V_INTEGER
     578  {
     579    begin
     580      integer = Integer(val[0])
     581    rescue
     582      raise
     583    end
     584    result = integer
     585  }
    387586  | Minus_code V_INTEGER
     587  {
     588    begin
     589      integer = Integer(val[0])
     590    rescue
     591      raise
     592    end
     593    result = - integer
     594  }
    388595###   | '+' V_INTEGER
    389596###   | '-' V_INTEGER
     
    488695  {
    489696    @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     697    result = val[0]
    490698  }
    491699
     
    598806
    599807c_existence: #-- default to 1..1
    600     | SYM_EXISTENCE SYM_MATCHES SYM_START_CBLOCK existence_spec SYM_END_CBLOCK
     808    {
     809    result = Range.new(1,1)
     810  }
     811  | SYM_EXISTENCE SYM_MATCHES SYM_START_CBLOCK existence_spec SYM_END_CBLOCK
     812  {
     813    result = val[3]
     814  }
    601815
    602816existence_spec:  V_INTEGER #-- can only be 0 or 1
     817  {
     818    begin
     819      integer = Integer(val[0])
     820    rescue
     821      raise
     822    end
     823    result = integer
     824  }
    603825  | V_INTEGER SYM_ELLIPSIS V_INTEGER #-- can only be 0..0, 0..1, 1..1
     826  {
     827    begin
     828      from_integer = Integer(val[0])
     829      to_integer = Integer(val[2])
     830    rescue
     831      raise
     832    end
     833    result = Range.new(from_integer,to_integer)
     834  }
    604835
    605836c_cardinality: SYM_CARDINALITY SYM_MATCHES SYM_START_CBLOCK cardinality_spec SYM_END_CBLOCK
     837  {
     838    result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
     839  }
    606840
    607841cardinality_spec: occurrence_spec
     
    687921
    688922c_boolean_spec: SYM_TRUE
     923  {
     924    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     925  }
    689926  | SYM_FALSE
     927  {
     928    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     929  }
    690930  | SYM_TRUE Comma_code SYM_FALSE
     931  {
     932    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     933  }
    691934  | SYM_FALSE Comma_code SYM_TRUE
     935  {
     936    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     937  }
    692938
    693939c_boolean: c_boolean_spec
     940  {
     941    result = val[0]
     942  }
    694943  | c_boolean_spec Semicolon_code boolean_value
     944  {
     945    raise 'Not implemented yet'
     946  }
    695947  | c_boolean_spec Semicolon_code error
    696 #  | c_boolean_spec ';' error
     948  {
     949    raise 'Not implemented yet'
     950  }
    697951
    698952c_ordinal: c_ordinal_spec
    699953  | c_ordinal_spec Semicolon_code integer_value
    700954  | c_ordinal_spec Semicolon_code error
    701 #  | c_ordinal_spec ';' error
    702955
    703956c_ordinal_spec: ordinal
    704957  | c_ordinal_spec Comma_code ordinal
    705 #  | c_ordinal_spec ',' ordinal
    706958
    707959ordinal: integer_value SYM_INTERVAL_DELIM V_QUALIFIED_TERM_CODE_REF
     
    7561008
    7571009---- inner
     1010
     1011def assert_at(file,line, message = "")
     1012  unless yield
     1013    raise "Assertion failed !: #{file}, #{line}: #{message}"
     1014  end
     1015end
    7581016
    7591017@@log = Logger.new('log/parser.log','daily')
  • ruby/trunk/adl_parser/tests/parser_test.rb

    r21 r22  
    2020    end
    2121
    22 #     apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl')
    23 #     assert_nothing_raised do
    24 #       result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl')
    25 #       #       assert_equal "", result
    26 #     end
     22    apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl')
     23    assert_nothing_raised do
     24      result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl')
     25      assert_instance_of OpenEHR::AM::Archetype::ARCHETYPE, result
     26      assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION, result.description
     27      assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, result.definition
     28    end
    2729
    28 #     evaluation = File.read('tests/openEHR-EHR-EVALUATION.adverse.v1.adl')
    29 #     assert_nothing_raised do
    30 #       @parser.parse(evaluation, 'openEHR-EHR-EVALUATION.adverse.v1.adl')
    31 #     end
     30    evaluation = File.read('tests/openEHR-EHR-EVALUATION.adverse.v1.adl')
     31    assert_nothing_raised do
     32      @parser.parse(evaluation, 'openEHR-EHR-EVALUATION.adverse.v1.adl')
     33    end
    3234
    3335
    3436
    35 #     referral = File.read('tests/openEHR-EHR-ITEM_TREE.referral.v1.adl')
    36 #     assert_nothing_raised do
    37 #       @parser.parse(referral, 'openEHR-EHR-ITEM_TREE.referral.v1.adl')
    38 #     end
     37    referral = File.read('tests/openEHR-EHR-ITEM_TREE.referral.v1.adl')
     38    assert_nothing_raised do
     39      @parser.parse(referral, 'openEHR-EHR-ITEM_TREE.referral.v1.adl')
     40    end
    3941
    40 #     exam_fetus = File.read('tests/openEHR-EHR-CLUSTER.exam-fetus.v1.adl')
    41 #     assert_nothing_raised do
    42 #       @parser.parse(exam_fetus, 'openEHR-EHR-CLUSTER.exam-fetus.v1.adl')
    43 #     end
     42    exam_fetus = File.read('tests/openEHR-EHR-CLUSTER.exam-fetus.v1.adl')
     43    assert_nothing_raised do
     44      @parser.parse(exam_fetus, 'openEHR-EHR-CLUSTER.exam-fetus.v1.adl')
     45    end
    4446
    45 #     exam_uterine_cervix = File.read('tests/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')
    46 #     assert_nothing_raised do
    47 #       @parser.parse(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')
    48 #     end
     47    exam_uterine_cervix = File.read('tests/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')
     48    assert_nothing_raised do
     49      @parser.parse(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')
     50    end
    4951
    50 #     imaging = File.read('tests/openEHR-EHR-ACTION.imaging.v1.adl')
    51 #     assert_nothing_raised do
    52 #       @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1.adl')
    53 #     end
     52    imaging = File.read('tests/openEHR-EHR-ACTION.imaging.v1.adl')
     53    assert_nothing_raised do
     54      @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1.adl')
     55    end
    5456
    55 #     exam_nervous_system = File.read('tests/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')
    56 #     assert_nothing_raised do
    57 #       @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')
    58 #     end
    59 #     exam_generic = File.read('tests/openEHR-EHR-CLUSTER.exam-generic.v1.adl')
    60 #     assert_nothing_raised do
    61 #       @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1.adl')
    62 #     end
    63 #     exam_generic_mass = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
    64 #     assert_nothing_raised do
    65 #       @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
    66 #     end
    67 #     exam_generic_lymphnode = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
    68 #     assert_nothing_raised do
    69 #       @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
    70 #     end
    71 #     exam_generic_joint = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
    72 #     assert_nothing_raised do
    73 #       @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
    74 #     end
    75 #     exam_chest = File.read('tests/openEHR-EHR-CLUSTER.exam-chest.v1.adl')
    76 #     assert_nothing_raised do
    77 #       @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl')
    78 #     end
    79 #     exam_abdomen = File.read('tests/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
    80 #     assert_nothing_raised do
    81 #       @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
    82 #     end
    83 #     cluster_auscultation = File.read('tests/openEHR-EHR-CLUSTER.auscultation.v1.adl')
    84 #     assert_nothing_raised do
    85 #       @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl')
    86 #     end
    87 #     cluster_auscultation_chest = File.read('tests/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
    88 #     assert_nothing_raised do
    89 #       @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
    90 #     end
    91 #     vital_signs = File.read('tests/openEHR-EHR-SECTION.vital_signs.v1.adl')
    92 #     assert_nothing_raised do
    93 #       @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1')
    94 #     end
    95 #     summary = File.read('tests/openEHR-EHR-SECTION.summary.v1.adl')
    96 #     assert_nothing_raised do
    97 #       @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl')
    98 #     end
     57    exam_nervous_system = File.read('tests/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')
     58    assert_nothing_raised do
     59      @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')
     60    end
     61    exam_generic = File.read('tests/openEHR-EHR-CLUSTER.exam-generic.v1.adl')
     62    assert_nothing_raised do
     63      @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1.adl')
     64    end
     65    exam_generic_mass = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
     66    assert_nothing_raised do
     67      @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')
     68    end
     69    exam_generic_lymphnode = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
     70    assert_nothing_raised do
     71      @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')
     72    end
     73    exam_generic_joint = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
     74    assert_nothing_raised do
     75      @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')
     76    end
     77    exam_chest = File.read('tests/openEHR-EHR-CLUSTER.exam-chest.v1.adl')
     78    assert_nothing_raised do
     79      @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl')
     80    end
     81    exam_abdomen = File.read('tests/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
     82    assert_nothing_raised do
     83      @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')
     84    end
     85    cluster_auscultation = File.read('tests/openEHR-EHR-CLUSTER.auscultation.v1.adl')
     86    assert_nothing_raised do
     87      @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl')
     88    end
     89    cluster_auscultation_chest = File.read('tests/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
     90    assert_nothing_raised do
     91      @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')
     92    end
     93    vital_signs = File.read('tests/openEHR-EHR-SECTION.vital_signs.v1.adl')
     94    assert_nothing_raised do
     95      @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1')
     96    end
     97    summary = File.read('tests/openEHR-EHR-SECTION.summary.v1.adl')
     98    assert_nothing_raised do
     99      @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl')
     100    end
    99101
    100 #     findings = File.read('tests/openEHR-EHR-SECTION.findings.v1.adl')
    101 #     assert_nothing_raised do
    102 #       @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl')
    103 #     end
     102    findings = File.read('tests/openEHR-EHR-SECTION.findings.v1.adl')
     103    assert_nothing_raised do
     104      @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl')
     105    end
    104106
    105 #     reason_for_encounter = File.read('tests/openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
    106 #     assert_nothing_raised do
    107 #       @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
    108 #     end
     107    reason_for_encounter = File.read('tests/openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
     108    assert_nothing_raised do
     109      @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl')
     110    end
    109111
    110 #     imaging = File.read('tests/openEHR-EHR-ITEM_TREE.imaging.v1.adl')
    111 #     assert_nothing_raised do
    112 #       @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl')
    113 #     end
    114 #     instruction_referral = File.read('tests/openEHR-EHR-INSTRUCTION.referral.v1.adl')
    115 #     assert_nothing_raised do
    116 #       @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl')
    117 #     end
    118 #     instruction_medication = File.read('tests/openEHR-EHR-INSTRUCTION.medication.v1.adl')
    119 #     assert_nothing_raised do
    120 #       @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl')
    121 #     end
    122 #     action_referral = File.read('tests/openEHR-EHR-ACTION.referral.v1.adl')
    123 #     assert_nothing_raised do
    124 #       @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl')
    125 #     end
     112    imaging = File.read('tests/openEHR-EHR-ITEM_TREE.imaging.v1.adl')
     113    assert_nothing_raised do
     114      @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl')
     115    end
     116    instruction_referral = File.read('tests/openEHR-EHR-INSTRUCTION.referral.v1.adl')
     117    assert_nothing_raised do
     118      @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl')
     119    end
     120    instruction_medication = File.read('tests/openEHR-EHR-INSTRUCTION.medication.v1.adl')
     121    assert_nothing_raised do
     122      @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl')
     123    end
     124    action_referral = File.read('tests/openEHR-EHR-ACTION.referral.v1.adl')
     125    assert_nothing_raised do
     126      @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl')
     127    end
    126128
    127 #     dimensions_circumference = File.read('tests/openEHR-EHR-CLUSTER.dimensions.v1.adl')
    128 #     assert_nothing_raised do
    129 #       @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl')
    130 #     end
     129    dimensions_circumference = File.read('tests/openEHR-EHR-CLUSTER.dimensions.v1.adl')
     130    assert_nothing_raised do
     131      @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl')
     132    end
    131133
    132 #     discharge = File.read('tests/openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
    133 #     assert_nothing_raised do
    134 #       @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
    135 #     end
     134    discharge = File.read('tests/openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
     135    assert_nothing_raised do
     136      @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl')
     137    end
    136138
    137 #     encounter = File.read('tests/openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
    138 #     assert_nothing_raised do
    139 #       @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
    140 #     end
     139    encounter = File.read('tests/openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
     140    assert_nothing_raised do
     141      @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl')
     142    end
    141143
    142144
Note: See TracChangeset for help on using the changeset viewer.