Changeset 329


Ignore:
Timestamp:
Nov 1, 2009, 10:15:02 AM (14 years ago)
Author:
Tatsukawa, Akimichi
Message:

commit after MOSS 9

Location:
ruby/trunk/lib/adl_parser/lib
Files:
2 edited

Legend:

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

    r328 r329  
    2222    class Parser < Racc::Parser
    2323
    24 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1417)
     24module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1450)
    2525
    2626def assert_at(file,line, message = "")
     
    14441444module_eval(<<'.,.,', 'parser.y', 150)
    14451445  def _reduce_22(val, _values, result)
    1446         args = Hash.new
    1447     val[1].each do |item|
    1448       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item = #{item.to_yaml} at #{@filename}:#{@lineno}")
    1449       case item
     1446        dadl_section = val[1]
     1447    args = Hash.new
     1448    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: val[1].class = \n#{val[1].class} at #{@filename}:#{@lineno}")
     1449#    val[1].each do |item|
     1450#      @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item = \n#{item.to_yaml} at #{@filename}:#{@lineno}")
     1451#      case item[:attr_id]
     1452      case dadl_section[:attr_id]
    14501453      when "original_author"
    1451         unless item[:object_block][:type_identifier]
    1452           args.merge!(Hash[:original_author => item[:untyped_multiple_attr_object_block]])
     1454#        unless item[:object_block][:type_identifier]
     1455        unless dadl_section[:object_block][:type_identifier]
     1456#          args.merge!(Hash[:original_author => item[:untyped_multiple_attr_object_block]])
     1457          args.merge!(Hash[:original_author => dadl_section[:untyped_multiple_attr_object_block]])
    14531458        else
    14541459          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    14551460        end
    14561461      when "details"
    1457         unless item[:type_identifier]
    1458           args.merge!(Hash[:details => item[:untyped_multiple_attr_object_block]])
     1462#        unless item[:type_identifier]
     1463        unless dadl_section[:type_identifier]
     1464#          args.merge!(Hash[:details => item[:untyped_multiple_attr_object_block]])
    14591465          #args.merge!(Hash[:details => item[:object_block]])
     1466          args.merge!(Hash[:details => dadl_section[:untyped_multiple_attr_object_block]])
    14601467        else
    14611468          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    14621469        end
    14631470      when "lifecycle_state"
    1464         unless item[:type_identifier]
    1465           args.merge!(Hash[:lifecycle_state => item[:untyped_primitive_object_block]])
     1471#        unless item[:type_identifier]
     1472        unless dadl_section[:type_identifier]
     1473#          args.merge!(Hash[:lifecycle_state => item[:untyped_primitive_object_block]])
     1474          args.merge!(Hash[:lifecycle_state => dadl_section[:untyped_primitive_object_block]])
    14661475        else
    14671476          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    14681477        end
    14691478      when "other_contributors"
    1470         unless item[:type_identifier]
    1471           args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     1479#        unless item[:type_identifier]
     1480        unless dadl_section[:type_identifier]
     1481#          args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     1482          args.merge!(Hash[:other_contributors => dadl_section[:untyped_multiple_attr_object_block]])
    14721483        else
    14731484          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    14741485        end
    14751486      when "other_details"
    1476         unless item[:type_identifier]
    1477           args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     1487#        unless item[:type_identifier]
     1488        unless dadl_section[:type_identifier]
     1489#          args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     1490          args.merge!(Hash[:other_contributors => dadl_section[:untyped_multiple_attr_object_block]])
    14781491        else
    14791492          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    14801493        end
    14811494      else
    1482         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item} at #{@filename}:#{@lineno} "
     1495#        raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item} at #{@filename}:#{@lineno} "
     1496        raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{dadl_section} at #{@filename}:#{@lineno} "
    14831497      end
    1484     end
     1498#    end
    14851499    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args  = \n#{args.to_yaml} at #{@filename}:#{@lineno}")
    14861500    result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args)
     
    14921506# reduce 23 omitted
    14931507
    1494 module_eval(<<'.,.,', 'parser.y', 198)
     1508module_eval(<<'.,.,', 'parser.y', 212)
    14951509  def _reduce_24(val, _values, result)
    14961510        result = val[1]
     
    15021516# reduce 25 omitted
    15031517
    1504 module_eval(<<'.,.,', 'parser.y', 206)
     1518module_eval(<<'.,.,', 'parser.y', 220)
    15051519  def _reduce_26(val, _values, result)
    15061520        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)}
     
    15121526.,.,
    15131527
    1514 module_eval(<<'.,.,', 'parser.y', 212)
     1528module_eval(<<'.,.,', 'parser.y', 226)
    15151529  def _reduce_27(val, _values, result)
    15161530        result = val[0]
     
    15201534.,.,
    15211535
    1522 module_eval(<<'.,.,', 'parser.y', 220)
     1536module_eval(<<'.,.,', 'parser.y', 234)
    15231537  def _reduce_28(val, _values, result)
    15241538        @@logger.debug("#{__FILE__}:#{__LINE__}:c_complx_object = \n c_complx_object_head = #{val[0].to_yaml}")
     
    15331547.,.,
    15341548
    1535 module_eval(<<'.,.,', 'parser.y', 230)
     1549module_eval(<<'.,.,', 'parser.y', 244)
    15361550  def _reduce_29(val, _values, result)
    15371551        result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     
    15451559.,.,
    15461560
    1547 module_eval(<<'.,.,', 'parser.y', 242)
     1561module_eval(<<'.,.,', 'parser.y', 256)
    15481562  def _reduce_30(val, _values, result)
    15491563        @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object_head: c_complex_object_id => #{val[0]}, c_occurrences => #{val[1]}")
     
    15541568.,.,
    15551569
    1556 module_eval(<<'.,.,', 'parser.y', 248)
     1570module_eval(<<'.,.,', 'parser.y', 262)
    15571571  def _reduce_31(val, _values, result)
    15581572        result = {:type_identifier => val[0]}
     
    15621576.,.,
    15631577
    1564 module_eval(<<'.,.,', 'parser.y', 252)
     1578module_eval(<<'.,.,', 'parser.y', 266)
    15651579  def _reduce_32(val, _values, result)
    15661580        result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
     
    15721586# reduce 33 omitted
    15731587
    1574 module_eval(<<'.,.,', 'parser.y', 258)
     1588module_eval(<<'.,.,', 'parser.y', 272)
    15751589  def _reduce_34(val, _values, result)
    15761590        result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0])
     
    15801594.,.,
    15811595
    1582 module_eval(<<'.,.,', 'parser.y', 276)
     1596module_eval(<<'.,.,', 'parser.y', 290)
    15831597  def _reduce_35(val, _values, result)
    15841598        @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")
     
    15891603.,.,
    15901604
    1591 module_eval(<<'.,.,', 'parser.y', 281)
     1605module_eval(<<'.,.,', 'parser.y', 295)
    15921606  def _reduce_36(val, _values, result)
    15931607        result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
     
    16011615.,.,
    16021616
    1603 module_eval(<<'.,.,', 'parser.y', 289)
     1617module_eval(<<'.,.,', 'parser.y', 303)
    16041618  def _reduce_37(val, _values, result)
    16051619        result = val[0]
     
    16091623.,.,
    16101624
    1611 module_eval(<<'.,.,', 'parser.y', 293)
     1625module_eval(<<'.,.,', 'parser.y', 307)
    16121626  def _reduce_38(val, _values, result)
    16131627        result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref|
     
    16191633.,.,
    16201634
    1621 module_eval(<<'.,.,', 'parser.y', 299)
     1635module_eval(<<'.,.,', 'parser.y', 313)
    16221636  def _reduce_39(val, _values, result)
    16231637        result = val[0]
     
    16271641.,.,
    16281642
    1629 module_eval(<<'.,.,', 'parser.y', 303)
     1643module_eval(<<'.,.,', 'parser.y', 317)
    16301644  def _reduce_40(val, _values, result)
    16311645        result = val[0]
     
    16351649.,.,
    16361650
    1637 module_eval(<<'.,.,', 'parser.y', 307)
     1651module_eval(<<'.,.,', 'parser.y', 321)
    16381652  def _reduce_41(val, _values, result)
    16391653        result = val[0]
     
    16431657.,.,
    16441658
    1645 module_eval(<<'.,.,', 'parser.y', 311)
     1659module_eval(<<'.,.,', 'parser.y', 325)
    16461660  def _reduce_42(val, _values, result)
    16471661        result = val[0]
     
    16551669# reduce 44 omitted
    16561670
    1657 module_eval(<<'.,.,', 'parser.y', 344)
     1671module_eval(<<'.,.,', 'parser.y', 358)
    16581672  def _reduce_45(val, _values, result)
    16591673        result = val[1]
     
    16631677.,.,
    16641678
    1665 module_eval(<<'.,.,', 'parser.y', 350)
     1679module_eval(<<'.,.,', 'parser.y', 364)
    16661680  def _reduce_46(val, _values, result)
    16671681        result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] }
     
    16731687# reduce 47 omitted
    16741688
    1675 module_eval(<<'.,.,', 'parser.y', 357)
     1689module_eval(<<'.,.,', 'parser.y', 371)
    16761690  def _reduce_48(val, _values, result)
    16771691        result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot|
     
    16861700.,.,
    16871701
    1688 module_eval(<<'.,.,', 'parser.y', 366)
     1702module_eval(<<'.,.,', 'parser.y', 380)
    16891703  def _reduce_49(val, _values, result)
    16901704        result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]}
     
    16941708.,.,
    16951709
    1696 module_eval(<<'.,.,', 'parser.y', 371)
     1710module_eval(<<'.,.,', 'parser.y', 385)
    16971711  def _reduce_50(val, _values, result)
    16981712        result = val[1]
     
    17061720# reduce 52 omitted
    17071721
    1708 module_eval(<<'.,.,', 'parser.y', 379)
     1722module_eval(<<'.,.,', 'parser.y', 393)
    17091723  def _reduce_53(val, _values, result)
    17101724        assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)}
     
    17171731.,.,
    17181732
    1719 module_eval(<<'.,.,', 'parser.y', 387)
     1733module_eval(<<'.,.,', 'parser.y', 401)
    17201734  def _reduce_54(val, _values, result)
    17211735        @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     
    17301744.,.,
    17311745
    1732 module_eval(<<'.,.,', 'parser.y', 396)
     1746module_eval(<<'.,.,', 'parser.y', 410)
    17331747  def _reduce_55(val, _values, result)
    17341748        @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     
    17391753.,.,
    17401754
    1741 module_eval(<<'.,.,', 'parser.y', 401)
     1755module_eval(<<'.,.,', 'parser.y', 415)
    17421756  def _reduce_56(val, _values, result)
    17431757        @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     
    17481762.,.,
    17491763
    1750 module_eval(<<'.,.,', 'parser.y', 406)
     1764module_eval(<<'.,.,', 'parser.y', 420)
    17511765  def _reduce_57(val, _values, result)
    17521766        @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    17571771.,.,
    17581772
    1759 module_eval(<<'.,.,', 'parser.y', 411)
     1773module_eval(<<'.,.,', 'parser.y', 425)
    17601774  def _reduce_58(val, _values, result)
    17611775        @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     
    17661780.,.,
    17671781
    1768 module_eval(<<'.,.,', 'parser.y', 416)
     1782module_eval(<<'.,.,', 'parser.y', 430)
    17691783  def _reduce_59(val, _values, result)
    17701784        @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     
    17751789.,.,
    17761790
    1777 module_eval(<<'.,.,', 'parser.y', 421)
     1791module_eval(<<'.,.,', 'parser.y', 435)
    17781792  def _reduce_60(val, _values, result)
    17791793        @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     
    17841798.,.,
    17851799
    1786 module_eval(<<'.,.,', 'parser.y', 426)
     1800module_eval(<<'.,.,', 'parser.y', 440)
    17871801  def _reduce_61(val, _values, result)
    17881802        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)}
     
    17961810# reduce 62 omitted
    17971811
    1798 module_eval(<<'.,.,', 'parser.y', 438)
     1812module_eval(<<'.,.,', 'parser.y', 452)
    17991813  def _reduce_63(val, _values, result)
    18001814        result = [val[0]]
     
    18041818.,.,
    18051819
    1806 module_eval(<<'.,.,', 'parser.y', 442)
     1820module_eval(<<'.,.,', 'parser.y', 456)
    18071821  def _reduce_64(val, _values, result)
    18081822        result = (val[0] << val[1])
     
    18121826.,.,
    18131827
    1814 module_eval(<<'.,.,', 'parser.y', 448)
     1828module_eval(<<'.,.,', 'parser.y', 462)
    18151829  def _reduce_65(val, _values, result)
    18161830        @@logger.debug("#{__FILE__}:#{__LINE__}:c_attribute: #{val[0]} matches #{val[3]}")
     
    18241838.,.,
    18251839
    1826 module_eval(<<'.,.,', 'parser.y', 456)
     1840module_eval(<<'.,.,', 'parser.y', 470)
    18271841  def _reduce_66(val, _values, result)
    18281842        @@logger.debug("c_attribute: #{val[0]} matches #{val[3]}}")
     
    18341848.,.,
    18351849
    1836 module_eval(<<'.,.,', 'parser.y', 463)
     1850module_eval(<<'.,.,', 'parser.y', 477)
    18371851  def _reduce_67(val, _values, result)
    18381852        @@logger.debug("c_attribute: #{val[0]} matches #{val[5]}}")
     
    18441858.,.,
    18451859
    1846 module_eval(<<'.,.,', 'parser.y', 469)
     1860module_eval(<<'.,.,', 'parser.y', 483)
    18471861  def _reduce_68(val, _values, result)
    18481862        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
     
    18531867.,.,
    18541868
    1855 module_eval(<<'.,.,', 'parser.y', 476)
     1869module_eval(<<'.,.,', 'parser.y', 490)
    18561870  def _reduce_69(val, _values, result)
    18571871        @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
     
    18661880.,.,
    18671881
    1868 module_eval(<<'.,.,', 'parser.y', 485)
     1882module_eval(<<'.,.,', 'parser.y', 499)
    18691883  def _reduce_70(val, _values, result)
    18701884        assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) }
     
    18801894.,.,
    18811895
    1882 module_eval(<<'.,.,', 'parser.y', 496)
     1896module_eval(<<'.,.,', 'parser.y', 510)
    18831897  def _reduce_71(val, _values, result)
    18841898        result = Array[val[0]]
     
    18881902.,.,
    18891903
    1890 module_eval(<<'.,.,', 'parser.y', 500)
     1904module_eval(<<'.,.,', 'parser.y', 514)
    18911905  def _reduce_72(val, _values, result)
    18921906        result = (val[0] << val[1])
     
    18961910.,.,
    18971911
    1898 module_eval(<<'.,.,', 'parser.y', 504)
     1912module_eval(<<'.,.,', 'parser.y', 518)
    18991913  def _reduce_73(val, _values, result)
    19001914        result = Array[val[0]]
     
    19061920# reduce 74 omitted
    19071921
    1908 module_eval(<<'.,.,', 'parser.y', 510)
     1922module_eval(<<'.,.,', 'parser.y', 524)
    19091923  def _reduce_75(val, _values, result)
    19101924        @@logger.debug("#{__FILE__}:#{__LINE__}: c_includes: assertions = #{val[1]}")
     
    19171931# reduce 76 omitted
    19181932
    1919 module_eval(<<'.,.,', 'parser.y', 519)
     1933module_eval(<<'.,.,', 'parser.y', 533)
    19201934  def _reduce_77(val, _values, result)
    19211935        @@logger.debug("#{__FILE__}:#{__LINE__}: c_excludes: assertions = #{val[1]}")
     
    19421956# reduce 85 omitted
    19431957
    1944 module_eval(<<'.,.,', 'parser.y', 542)
     1958module_eval(<<'.,.,', 'parser.y', 556)
    19451959  def _reduce_86(val, _values, result)
    19461960        dadl_section = val[1]
    1947     @@logger.debug("#{__FILE__}:#{__LINE__}: arch_ontology: dadl_section = #{val[1].to_yaml}")
     1961    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_ontology: dadl_section = \n#{dadl_section.to_yaml}")
    19481962    args = Hash.new
    1949     dadl_section.each do |item|
    1950       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}")
    1951       case item[:attr_id]
    1952       when "terminologies_available"
    1953         unless item[:object_block][:type_identifier]
    1954           args.merge!(Hash[:terminologies_available => item[:object_block][:untyped_primitive_object_block]])
    1955           #args.merge!(Hash[:terminologies_available => item[:object_block]])
    1956         else
    1957           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    1958         end
    1959       when "term_definitions"
    1960         unless item[:object_block][:type_identifier]
    1961           args.merge!(Hash[:term_definitions => item[:object_block][:untyped_multiple_attr_object_block]])
    1962           #args.merge!(Hash[:term_definitions => item[:object_block]])
    1963         else
    1964           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    1965         end
    1966       when "term_binding"
    1967         unless item[:object_block][:type_identifier]
    1968           args.merge!(Hash[:term_binding => item[:object_block][:untyped_multiple_attr_object_block]])
    1969           #args.merge!(Hash[:term_binding => item[:object_block]])
    1970         else
    1971           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    1972         end
     1963    case dadl_section[:attr_id]
     1964    when "terminologies_available"
     1965      unless dadl_section[:object_block][:type_identifier]
     1966        args.merge!(Hash[:terminologies_available => dadl_section[:object_block][:untyped_primitive_object_block]])
    19731967      else
    1974         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} "
     1968        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    19751969      end
     1970    when "term_definitions"
     1971      unless dadl_section[:object_block][:type_identifier]
     1972        args.merge!(Hash[:term_definitions => dadl_section[:object_block][:untyped_multiple_attr_object_block]])
     1973      else
     1974        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     1975      end
     1976    when "term_binding"
     1977      unless dadl_section[:object_block][:type_identifier]
     1978        args.merge!(Hash[:term_binding => dadl_section[:object_block][:untyped_multiple_attr_object_block]])
     1979      else
     1980        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     1981      end
     1982    else
     1983      raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{dadl_section[:attr_id]} at #{@filename}:#{@lineno} "
    19761984    end
     1985###     dadl_section.each do |item|
     1986###       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}")
     1987###       case item[:attr_id]
     1988###       when "terminologies_available"
     1989###         unless item[:object_block][:type_identifier]
     1990###           args.merge!(Hash[:terminologies_available => item[:object_block][:untyped_primitive_object_block]])
     1991###         else
     1992###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     1993###         end
     1994###       when "term_definitions"
     1995###         unless item[:object_block][:type_identifier]
     1996###           args.merge!(Hash[:term_definitions => item[:object_block][:untyped_multiple_attr_object_block]])
     1997###         else
     1998###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     1999###         end
     2000###       when "term_binding"
     2001###         unless item[:object_block][:type_identifier]
     2002###           args.merge!(Hash[:term_binding => item[:object_block][:untyped_multiple_attr_object_block]])
     2003###         else
     2004###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     2005###         end
     2006###       else
     2007###         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} "
     2008###       end
     2009###     end
    19772010
    19782011    result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new(args)
     
    19862019# reduce 88 omitted
    19872020
    1988 module_eval(<<'.,.,', 'parser.y', 583)
     2021module_eval(<<'.,.,', 'parser.y', 616)
    19892022  def _reduce_89(val, _values, result)
    19902023        @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section::attr_vals = \n#{val[0].to_yaml}")
     
    19952028.,.,
    19962029
    1997 module_eval(<<'.,.,', 'parser.y', 588)
     2030module_eval(<<'.,.,', 'parser.y', 621)
    19982031  def _reduce_90(val, _values, result)
    19992032        #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section::complex_object_block = \n#{val[0].to_yaml}")
     
    20042037.,.,
    20052038
    2006 module_eval(<<'.,.,', 'parser.y', 595)
     2039module_eval(<<'.,.,', 'parser.y', 628)
    20072040  def _reduce_91(val, _values, result)
    20082041        attr_val = val[0]
     
    20132046.,.,
    20142047
    2015 module_eval(<<'.,.,', 'parser.y', 600)
     2048module_eval(<<'.,.,', 'parser.y', 633)
    20162049  def _reduce_92(val, _values, result)
    20172050        result = val[0].merge!(val[1])
     
    20212054.,.,
    20222055
    2023 module_eval(<<'.,.,', 'parser.y', 604)
     2056module_eval(<<'.,.,', 'parser.y', 637)
    20242057  def _reduce_93(val, _values, result)
    20252058        result = val[0].merge!(val[2])
     
    20292062.,.,
    20302063
    2031 module_eval(<<'.,.,', 'parser.y', 621)
     2064module_eval(<<'.,.,', 'parser.y', 654)
    20322065  def _reduce_94(val, _values, result)
    20332066        @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0].to_yaml},\n object_block = #{val[2].to_yaml}")
     
    20382071.,.,
    20392072
    2040 module_eval(<<'.,.,', 'parser.y', 627)
     2073module_eval(<<'.,.,', 'parser.y', 660)
    20412074  def _reduce_95(val, _values, result)
    20422075        @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}")
     
    20492082# reduce 96 omitted
    20502083
    2051 module_eval(<<'.,.,', 'parser.y', 634)
     2084module_eval(<<'.,.,', 'parser.y', 667)
    20522085  def _reduce_97(val, _values, result)
    20532086        result = val[0]
     
    20572090.,.,
    20582091
    2059 module_eval(<<'.,.,', 'parser.y', 638)
     2092module_eval(<<'.,.,', 'parser.y', 671)
    20602093  def _reduce_98(val, _values, result)
    20612094        result = val[0]
     
    20652098.,.,
    20662099
    2067 module_eval(<<'.,.,', 'parser.y', 643)
     2100module_eval(<<'.,.,', 'parser.y', 676)
    20682101  def _reduce_99(val, _values, result)
    20692102        result = val[0]
     
    20732106.,.,
    20742107
    2075 module_eval(<<'.,.,', 'parser.y', 647)
     2108module_eval(<<'.,.,', 'parser.y', 680)
    20762109  def _reduce_100(val, _values, result)
    20772110        result = val[0]
     
    20812114.,.,
    20822115
    2083 module_eval(<<'.,.,', 'parser.y', 652)
     2116module_eval(<<'.,.,', 'parser.y', 685)
    20842117  def _reduce_101(val, _values, result)
    20852118        @@logger.debug("#{__FILE__}:#{__LINE__}:multiple_attr_object_block::attr_val\n untyped_multiple_attr_object_block = #{val[0].to_yaml}")
     
    20902123.,.,
    20912124
    2092 module_eval(<<'.,.,', 'parser.y', 657)
     2125module_eval(<<'.,.,', 'parser.y', 690)
    20932126  def _reduce_102(val, _values, result)
    20942127        result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
     
    20982131.,.,
    20992132
    2100 module_eval(<<'.,.,', 'parser.y', 662)
     2133module_eval(<<'.,.,', 'parser.y', 695)
    21012134  def _reduce_103(val, _values, result)
    21022135        @@logger.debug("#{__FILE__}:#{__LINE__}:untyped_multiple_attr_object_block::keyed_objects\n keyed_objects = #{val[1].to_yaml}")
     
    21072140.,.,
    21082141
    2109 module_eval(<<'.,.,', 'parser.y', 668)
     2142module_eval(<<'.,.,', 'parser.y', 701)
    21102143  def _reduce_104(val, _values, result)
    21112144        result = val[0]
     
    21152148.,.,
    21162149
    2117 module_eval(<<'.,.,', 'parser.y', 673)
     2150module_eval(<<'.,.,', 'parser.y', 706)
    21182151  def _reduce_105(val, _values, result)
    21192152        result = Array[val[0]]
     
    21232156.,.,
    21242157
    2125 module_eval(<<'.,.,', 'parser.y', 677)
     2158module_eval(<<'.,.,', 'parser.y', 710)
    21262159  def _reduce_106(val, _values, result)
    21272160        result = (val[0] << val[1])
     
    21312164.,.,
    21322165
    2133 module_eval(<<'.,.,', 'parser.y', 682)
     2166module_eval(<<'.,.,', 'parser.y', 715)
    21342167  def _reduce_107(val, _values, result)
    21352168        #@@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}")
     
    21462179.,.,
    21472180
    2148 module_eval(<<'.,.,', 'parser.y', 694)
     2181module_eval(<<'.,.,', 'parser.y', 727)
    21492182  def _reduce_108(val, _values, result)
    21502183        @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     
    21552188.,.,
    21562189
    2157 module_eval(<<'.,.,', 'parser.y', 700)
     2190module_eval(<<'.,.,', 'parser.y', 733)
    21582191  def _reduce_109(val, _values, result)
    21592192        result = {:untyped_single_attr_object_block => val[0]}
     
    21632196.,.,
    21642197
    2165 module_eval(<<'.,.,', 'parser.y', 704)
     2198module_eval(<<'.,.,', 'parser.y', 737)
    21662199  def _reduce_110(val, _values, result)
    21672200        result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
     
    21712204.,.,
    21722205
    2173 module_eval(<<'.,.,', 'parser.y', 709)
     2206module_eval(<<'.,.,', 'parser.y', 742)
    21742207  def _reduce_111(val, _values, result)
    21752208        @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     
    21802213.,.,
    21812214
    2182 module_eval(<<'.,.,', 'parser.y', 714)
     2215module_eval(<<'.,.,', 'parser.y', 747)
    21832216  def _reduce_112(val, _values, result)
    21842217        @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_single_attr_object_block::attr_vals = \n#{val[1].to_yaml} at #{@filename}:#{@lineno}")
     
    21912224# reduce 113 omitted
    21922225
    2193 module_eval(<<'.,.,', 'parser.y', 721)
     2226module_eval(<<'.,.,', 'parser.y', 754)
    21942227  def _reduce_114(val, _values, result)
    21952228        @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
     
    22002233.,.,
    22012234
    2202 module_eval(<<'.,.,', 'parser.y', 726)
     2235module_eval(<<'.,.,', 'parser.y', 759)
    22032236  def _reduce_115(val, _values, result)
    22042237        @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
     
    22092242.,.,
    22102243
    2211 module_eval(<<'.,.,', 'parser.y', 731)
     2244module_eval(<<'.,.,', 'parser.y', 764)
    22122245  def _reduce_116(val, _values, result)
    22132246        #@@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     
    22182251.,.,
    22192252
    2220 module_eval(<<'.,.,', 'parser.y', 736)
     2253module_eval(<<'.,.,', 'parser.y', 769)
    22212254  def _reduce_117(val, _values, result)
    22222255        result = val[0]
     
    22262259.,.,
    22272260
    2228 module_eval(<<'.,.,', 'parser.y', 740)
     2261module_eval(<<'.,.,', 'parser.y', 773)
    22292262  def _reduce_118(val, _values, result)
    22302263        result = val[0]
     
    22342267.,.,
    22352268
    2236 module_eval(<<'.,.,', 'parser.y', 744)
     2269module_eval(<<'.,.,', 'parser.y', 777)
    22372270  def _reduce_119(val, _values, result)
    22382271        result = val[0]
     
    22422275.,.,
    22432276
    2244 module_eval(<<'.,.,', 'parser.y', 748)
     2277module_eval(<<'.,.,', 'parser.y', 781)
    22452278  def _reduce_120(val, _values, result)
    22462279        result = val[0]
     
    22502283.,.,
    22512284
    2252 module_eval(<<'.,.,', 'parser.y', 752)
     2285module_eval(<<'.,.,', 'parser.y', 785)
    22532286  def _reduce_121(val, _values, result)
    22542287        result = val[0]
     
    22582291.,.,
    22592292
    2260 module_eval(<<'.,.,', 'parser.y', 756)
     2293module_eval(<<'.,.,', 'parser.y', 789)
    22612294  def _reduce_122(val, _values, result)
    22622295        @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    22672300.,.,
    22682301
    2269 module_eval(<<'.,.,', 'parser.y', 761)
     2302module_eval(<<'.,.,', 'parser.y', 794)
    22702303  def _reduce_123(val, _values, result)
    22712304        @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    22762309.,.,
    22772310
    2278 module_eval(<<'.,.,', 'parser.y', 766)
     2311module_eval(<<'.,.,', 'parser.y', 799)
    22792312  def _reduce_124(val, _values, result)
    22802313        @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    22852318.,.,
    22862319
    2287 module_eval(<<'.,.,', 'parser.y', 771)
     2320module_eval(<<'.,.,', 'parser.y', 804)
    22882321  def _reduce_125(val, _values, result)
    22892322        @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    22942327.,.,
    22952328
    2296 module_eval(<<'.,.,', 'parser.y', 776)
     2329module_eval(<<'.,.,', 'parser.y', 809)
    22972330  def _reduce_126(val, _values, result)
    22982331        @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23032336.,.,
    23042337
    2305 module_eval(<<'.,.,', 'parser.y', 781)
     2338module_eval(<<'.,.,', 'parser.y', 814)
    23062339  def _reduce_127(val, _values, result)
    23072340        @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23122345.,.,
    23132346
    2314 module_eval(<<'.,.,', 'parser.y', 786)
     2347module_eval(<<'.,.,', 'parser.y', 819)
    23152348  def _reduce_128(val, _values, result)
    23162349        @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23212354.,.,
    23222355
    2323 module_eval(<<'.,.,', 'parser.y', 791)
     2356module_eval(<<'.,.,', 'parser.y', 824)
    23242357  def _reduce_129(val, _values, result)
    23252358        @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23302363.,.,
    23312364
    2332 module_eval(<<'.,.,', 'parser.y', 796)
     2365module_eval(<<'.,.,', 'parser.y', 829)
    23332366  def _reduce_130(val, _values, result)
    23342367        @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23392372.,.,
    23402373
    2341 module_eval(<<'.,.,', 'parser.y', 801)
     2374module_eval(<<'.,.,', 'parser.y', 834)
    23422375  def _reduce_131(val, _values, result)
    23432376        @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23482381.,.,
    23492382
    2350 module_eval(<<'.,.,', 'parser.y', 807)
     2383module_eval(<<'.,.,', 'parser.y', 840)
    23512384  def _reduce_132(val, _values, result)
    23522385        @@logger.debug("string_list_value: #{val[0]} at #{@filename}:#{@lineno}")
     
    23572390.,.,
    23582391
    2359 module_eval(<<'.,.,', 'parser.y', 812)
     2392module_eval(<<'.,.,', 'parser.y', 845)
    23602393  def _reduce_133(val, _values, result)
    23612394        result = val[0]
     
    23652398.,.,
    23662399
    2367 module_eval(<<'.,.,', 'parser.y', 816)
     2400module_eval(<<'.,.,', 'parser.y', 849)
    23682401  def _reduce_134(val, _values, result)
    23692402        result = val[0]
     
    23732406.,.,
    23742407
    2375 module_eval(<<'.,.,', 'parser.y', 820)
     2408module_eval(<<'.,.,', 'parser.y', 853)
    23762409  def _reduce_135(val, _values, result)
    23772410        result = val[0]
     
    23812414.,.,
    23822415
    2383 module_eval(<<'.,.,', 'parser.y', 824)
     2416module_eval(<<'.,.,', 'parser.y', 857)
    23842417  def _reduce_136(val, _values, result)
    23852418        result = val[0]
     
    23892422.,.,
    23902423
    2391 module_eval(<<'.,.,', 'parser.y', 828)
     2424module_eval(<<'.,.,', 'parser.y', 861)
    23922425  def _reduce_137(val, _values, result)
    23932426        result = val[0]
     
    23972430.,.,
    23982431
    2399 module_eval(<<'.,.,', 'parser.y', 832)
     2432module_eval(<<'.,.,', 'parser.y', 865)
    24002433  def _reduce_138(val, _values, result)
    24012434        result = val[0]
     
    24052438.,.,
    24062439
    2407 module_eval(<<'.,.,', 'parser.y', 836)
     2440module_eval(<<'.,.,', 'parser.y', 869)
    24082441  def _reduce_139(val, _values, result)
    24092442        result = val[0]
     
    24132446.,.,
    24142447
    2415 module_eval(<<'.,.,', 'parser.y', 840)
     2448module_eval(<<'.,.,', 'parser.y', 873)
    24162449  def _reduce_140(val, _values, result)
    24172450        result = val[0]
     
    24332466# reduce 146 omitted
    24342467
    2435 module_eval(<<'.,.,', 'parser.y', 852)
     2468module_eval(<<'.,.,', 'parser.y', 885)
    24362469  def _reduce_147(val, _values, result)
    24372470        @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    24422475.,.,
    24432476
    2444 module_eval(<<'.,.,', 'parser.y', 857)
     2477module_eval(<<'.,.,', 'parser.y', 890)
    24452478  def _reduce_148(val, _values, result)
    24462479        @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     
    24512484.,.,
    24522485
    2453 module_eval(<<'.,.,', 'parser.y', 863)
     2486module_eval(<<'.,.,', 'parser.y', 896)
    24542487  def _reduce_149(val, _values, result)
    24552488        @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     
    24602493.,.,
    24612494
    2462 module_eval(<<'.,.,', 'parser.y', 869)
     2495module_eval(<<'.,.,', 'parser.y', 902)
    24632496  def _reduce_150(val, _values, result)
    24642497        result = [val[0],val[2]]
     
    24682501.,.,
    24692502
    2470 module_eval(<<'.,.,', 'parser.y', 873)
     2503module_eval(<<'.,.,', 'parser.y', 906)
    24712504  def _reduce_151(val, _values, result)
    24722505        result = val[0] << val[2]
     
    24762509.,.,
    24772510
    2478 module_eval(<<'.,.,', 'parser.y', 877)
     2511module_eval(<<'.,.,', 'parser.y', 910)
    24792512  def _reduce_152(val, _values, result)
    24802513        result = val[0]
     
    24842517.,.,
    24852518
    2486 module_eval(<<'.,.,', 'parser.y', 882)
     2519module_eval(<<'.,.,', 'parser.y', 915)
    24872520  def _reduce_153(val, _values, result)
    24882521        begin
     
    24972530.,.,
    24982531
    2499 module_eval(<<'.,.,', 'parser.y', 891)
     2532module_eval(<<'.,.,', 'parser.y', 924)
    25002533  def _reduce_154(val, _values, result)
    25012534        begin
     
    25102543.,.,
    25112544
    2512 module_eval(<<'.,.,', 'parser.y', 900)
     2545module_eval(<<'.,.,', 'parser.y', 933)
    25132546  def _reduce_155(val, _values, result)
    25142547        begin
     
    25472580# reduce 167 omitted
    25482581
    2549 module_eval(<<'.,.,', 'parser.y', 924)
     2582module_eval(<<'.,.,', 'parser.y', 957)
    25502583  def _reduce_168(val, _values, result)
    25512584        begin
     
    25602593.,.,
    25612594
    2562 module_eval(<<'.,.,', 'parser.y', 933)
     2595module_eval(<<'.,.,', 'parser.y', 966)
    25632596  def _reduce_169(val, _values, result)
    25642597        begin
     
    25732606.,.,
    25742607
    2575 module_eval(<<'.,.,', 'parser.y', 942)
     2608module_eval(<<'.,.,', 'parser.y', 975)
    25762609  def _reduce_170(val, _values, result)
    25772610        begin
     
    26102643# reduce 182 omitted
    26112644
    2612 module_eval(<<'.,.,', 'parser.y', 967)
     2645module_eval(<<'.,.,', 'parser.y', 1000)
    26132646  def _reduce_183(val, _values, result)
    26142647        result = true
     
    26182651.,.,
    26192652
    2620 module_eval(<<'.,.,', 'parser.y', 971)
     2653module_eval(<<'.,.,', 'parser.y', 1004)
    26212654  def _reduce_184(val, _values, result)
    26222655        result = false
     
    26402673# reduce 191 omitted
    26412674
    2642 module_eval(<<'.,.,', 'parser.y', 986)
     2675module_eval(<<'.,.,', 'parser.y', 1019)
    26432676  def _reduce_192(val, _values, result)
    26442677        result = val[0]
     
    26982731# reduce 217 omitted
    26992732
    2700 module_eval(<<'.,.,', 'parser.y', 1021)
     2733module_eval(<<'.,.,', 'parser.y', 1054)
    27012734  def _reduce_218(val, _values, result)
    27022735        @@logger.debug("V_ISO8601_EXTENDED_DATE_TIME: #{val[0]} at #{@filename}:#{@lineno}")
     
    27312764# reduce 230 omitted
    27322765
    2733 module_eval(<<'.,.,', 'parser.y', 1041)
     2766module_eval(<<'.,.,', 'parser.y', 1074)
    27342767  def _reduce_231(val, _values, result)
    27352768        @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     
    27642797# reduce 243 omitted
    27652798
    2766 module_eval(<<'.,.,', 'parser.y', 1061)
     2799module_eval(<<'.,.,', 'parser.y', 1094)
    27672800  def _reduce_244(val, _values, result)
    27682801        @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     
    27792812# reduce 247 omitted
    27802813
    2781 module_eval(<<'.,.,', 'parser.y', 1071)
     2814module_eval(<<'.,.,', 'parser.y', 1104)
    27822815  def _reduce_248(val, _values, result)
    27832816        @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     
    28042837# reduce 256 omitted
    28052838
    2806 module_eval(<<'.,.,', 'parser.y', 1094)
     2839module_eval(<<'.,.,', 'parser.y', 1127)
    28072840  def _reduce_257(val, _values, result)
    28082841        @@logger.debug("#{__FILE__}:#{__LINE__}, boolean_node:  relative_path = #{val[0]}, regexp_body => #{val[3]} at #{@filename}")
     
    28692902# reduce 285 omitted
    28702903
    2871 module_eval(<<'.,.,', 'parser.y', 1141)
     2904module_eval(<<'.,.,', 'parser.y', 1174)
    28722905  def _reduce_286(val, _values, result)
    28732906        @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}")
     
    28782911.,.,
    28792912
    2880 module_eval(<<'.,.,', 'parser.y', 1146)
     2913module_eval(<<'.,.,', 'parser.y', 1179)
    28812914  def _reduce_287(val, _values, result)
    28822915        @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}/#{val[2]}")
     
    28872920.,.,
    28882921
    2889 module_eval(<<'.,.,', 'parser.y', 1152)
     2922module_eval(<<'.,.,', 'parser.y', 1185)
    28902923  def _reduce_288(val, _values, result)
    28912924        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    28962929.,.,
    28972930
    2898 module_eval(<<'.,.,', 'parser.y', 1157)
     2931module_eval(<<'.,.,', 'parser.y', 1190)
    28992932  def _reduce_289(val, _values, result)
    29002933        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    29052938.,.,
    29062939
    2907 module_eval(<<'.,.,', 'parser.y', 1169)
     2940module_eval(<<'.,.,', 'parser.y', 1202)
    29082941  def _reduce_290(val, _values, result)
    29092942        result = Range.new(1,1)
     
    29132946.,.,
    29142947
    2915 module_eval(<<'.,.,', 'parser.y', 1173)
     2948module_eval(<<'.,.,', 'parser.y', 1206)
    29162949  def _reduce_291(val, _values, result)
    29172950        result = val[3]
     
    29212954.,.,
    29222955
    2923 module_eval(<<'.,.,', 'parser.y', 1178)
     2956module_eval(<<'.,.,', 'parser.y', 1211)
    29242957  def _reduce_292(val, _values, result)
    29252958        begin
     
    29342967.,.,
    29352968
    2936 module_eval(<<'.,.,', 'parser.y', 1187)
     2969module_eval(<<'.,.,', 'parser.y', 1220)
    29372970  def _reduce_293(val, _values, result)
    29382971        begin
     
    29482981.,.,
    29492982
    2950 module_eval(<<'.,.,', 'parser.y', 1198)
     2983module_eval(<<'.,.,', 'parser.y', 1231)
    29512984  def _reduce_294(val, _values, result)
    29522985        result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new
     
    29562989.,.,
    29572990
    2958 module_eval(<<'.,.,', 'parser.y', 1203)
     2991module_eval(<<'.,.,', 'parser.y', 1236)
    29592992  def _reduce_295(val, _values, result)
    29602993        result = val[0]
     
    29783011# reduce 302 omitted
    29793012
    2980 module_eval(<<'.,.,', 'parser.y', 1215)
     3013module_eval(<<'.,.,', 'parser.y', 1248)
    29813014  def _reduce_303(val, _values, result)
    29823015        result = val[0]
     
    29863019.,.,
    29873020
    2988 module_eval(<<'.,.,', 'parser.y', 1219)
     3021module_eval(<<'.,.,', 'parser.y', 1252)
    29893022  def _reduce_304(val, _values, result)
    29903023        result = val[0]
     
    29963029# reduce 305 omitted
    29973030
    2998 module_eval(<<'.,.,', 'parser.y', 1226)
     3031module_eval(<<'.,.,', 'parser.y', 1259)
    29993032  def _reduce_306(val, _values, result)
    30003033        case val[3]
     
    30113044# reduce 307 omitted
    30123045
    3013 module_eval(<<'.,.,', 'parser.y', 1237)
     3046module_eval(<<'.,.,', 'parser.y', 1270)
    30143047  def _reduce_308(val, _values, result)
    30153048        result = val[0]
     
    30193052.,.,
    30203053
    3021 module_eval(<<'.,.,', 'parser.y', 1241)
     3054module_eval(<<'.,.,', 'parser.y', 1274)
    30223055  def _reduce_309(val, _values, result)
    30233056        result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2])
     
    31133146# reduce 352 omitted
    31143147
    3115 module_eval(<<'.,.,', 'parser.y', 1307)
     3148module_eval(<<'.,.,', 'parser.y', 1340)
    31163149  def _reduce_353(val, _values, result)
    31173150        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true)
     
    31213154.,.,
    31223155
    3123 module_eval(<<'.,.,', 'parser.y', 1311)
     3156module_eval(<<'.,.,', 'parser.y', 1344)
    31243157  def _reduce_354(val, _values, result)
    31253158        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false)
     
    31293162.,.,
    31303163
    3131 module_eval(<<'.,.,', 'parser.y', 1315)
     3164module_eval(<<'.,.,', 'parser.y', 1348)
    31323165  def _reduce_355(val, _values, result)
    31333166        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     
    31373170.,.,
    31383171
    3139 module_eval(<<'.,.,', 'parser.y', 1319)
     3172module_eval(<<'.,.,', 'parser.y', 1352)
    31403173  def _reduce_356(val, _values, result)
    31413174        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     
    31453178.,.,
    31463179
    3147 module_eval(<<'.,.,', 'parser.y', 1324)
     3180module_eval(<<'.,.,', 'parser.y', 1357)
    31483181  def _reduce_357(val, _values, result)
    31493182        result = val[0]
     
    31533186.,.,
    31543187
    3155 module_eval(<<'.,.,', 'parser.y', 1328)
     3188module_eval(<<'.,.,', 'parser.y', 1361)
    31563189  def _reduce_358(val, _values, result)
    31573190        result = val[0]
     
    31623195.,.,
    31633196
    3164 module_eval(<<'.,.,', 'parser.y', 1333)
     3197module_eval(<<'.,.,', 'parser.y', 1366)
    31653198  def _reduce_359(val, _values, result)
    31663199        raise 'Not implemented yet'
     
    31803213# reduce 364 omitted
    31813214
    3182 module_eval(<<'.,.,', 'parser.y', 1345)
     3215module_eval(<<'.,.,', 'parser.y', 1378)
    31833216  def _reduce_365(val, _values, result)
    31843217        @in_interval = false
     
    31893222.,.,
    31903223
    3191 module_eval(<<'.,.,', 'parser.y', 1352)
     3224module_eval(<<'.,.,', 'parser.y', 1385)
    31923225  def _reduce_366(val, _values, result)
    31933226          result = val[0]
     
    31973230.,.,
    31983231
    3199 module_eval(<<'.,.,', 'parser.y', 1356)
     3232module_eval(<<'.,.,', 'parser.y', 1389)
    32003233  def _reduce_367(val, _values, result)
    32013234          result = val[0]
     
    32053238.,.,
    32063239
    3207 module_eval(<<'.,.,', 'parser.y', 1362)
     3240module_eval(<<'.,.,', 'parser.y', 1395)
    32083241  def _reduce_368(val, _values, result)
    32093242        @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}")
     
    32223255# reduce 371 omitted
    32233256
    3224 module_eval(<<'.,.,', 'parser.y', 1378)
     3257module_eval(<<'.,.,', 'parser.y', 1411)
    32253258  def _reduce_372(val, _values, result)
    32263259          result = val[0]
     
    32303263.,.,
    32313264
    3232 module_eval(<<'.,.,', 'parser.y', 1383)
     3265module_eval(<<'.,.,', 'parser.y', 1416)
    32333266  def _reduce_373(val, _values, result)
    32343267          result = val[0]
     
    32383271.,.,
    32393272
    3240 module_eval(<<'.,.,', 'parser.y', 1387)
     3273module_eval(<<'.,.,', 'parser.y', 1420)
    32413274  def _reduce_374(val, _values, result)
    32423275        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
     
    32473280.,.,
    32483281
    3249 module_eval(<<'.,.,', 'parser.y', 1398)
     3282module_eval(<<'.,.,', 'parser.y', 1431)
    32503283  def _reduce_375(val, _values, result)
    32513284        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0]
  • ruby/trunk/lib/adl_parser/lib/parser.y

    r328 r329  
    149149    | SYM_DESCRIPTION dadl_section
    150150  {
     151    dadl_section = val[1]
    151152    args = Hash.new
    152     val[1].each do |item|
    153       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item = #{item.to_yaml} at #{@filename}:#{@lineno}")
    154       case item
     153    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: val[1].class = \n#{val[1].class} at #{@filename}:#{@lineno}")
     154#    val[1].each do |item|
     155#      @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item = \n#{item.to_yaml} at #{@filename}:#{@lineno}")
     156#      case item[:attr_id]
     157      case dadl_section[:attr_id]
    155158      when "original_author"
    156         unless item[:object_block][:type_identifier]
    157           args.merge!(Hash[:original_author => item[:untyped_multiple_attr_object_block]])
     159#        unless item[:object_block][:type_identifier]
     160        unless dadl_section[:object_block][:type_identifier]
     161#          args.merge!(Hash[:original_author => item[:untyped_multiple_attr_object_block]])
     162          args.merge!(Hash[:original_author => dadl_section[:untyped_multiple_attr_object_block]])
    158163        else
    159164          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    160165        end
    161166      when "details"
    162         unless item[:type_identifier]
    163           args.merge!(Hash[:details => item[:untyped_multiple_attr_object_block]])
     167#        unless item[:type_identifier]
     168        unless dadl_section[:type_identifier]
     169#          args.merge!(Hash[:details => item[:untyped_multiple_attr_object_block]])
    164170          #args.merge!(Hash[:details => item[:object_block]])
     171          args.merge!(Hash[:details => dadl_section[:untyped_multiple_attr_object_block]])
    165172        else
    166173          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    167174        end
    168175      when "lifecycle_state"
    169         unless item[:type_identifier]
    170           args.merge!(Hash[:lifecycle_state => item[:untyped_primitive_object_block]])
     176#        unless item[:type_identifier]
     177        unless dadl_section[:type_identifier]
     178#          args.merge!(Hash[:lifecycle_state => item[:untyped_primitive_object_block]])
     179          args.merge!(Hash[:lifecycle_state => dadl_section[:untyped_primitive_object_block]])
    171180        else
    172181          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    173182        end
    174183      when "other_contributors"
    175         unless item[:type_identifier]
    176           args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     184#        unless item[:type_identifier]
     185        unless dadl_section[:type_identifier]
     186#          args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     187          args.merge!(Hash[:other_contributors => dadl_section[:untyped_multiple_attr_object_block]])
    177188        else
    178189          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    179190        end
    180191      when "other_details"
    181         unless item[:type_identifier]
    182           args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     192#        unless item[:type_identifier]
     193        unless dadl_section[:type_identifier]
     194#          args.merge!(Hash[:other_contributors => item[:untyped_multiple_attr_object_block]])
     195          args.merge!(Hash[:other_contributors => dadl_section[:untyped_multiple_attr_object_block]])
    183196        else
    184197          raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    185198        end
    186199      else
    187         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item} at #{@filename}:#{@lineno} "
     200#        raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item} at #{@filename}:#{@lineno} "
     201        raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{dadl_section} at #{@filename}:#{@lineno} "
    188202      end
    189     end
     203#    end
    190204    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args  = \n#{args.to_yaml} at #{@filename}:#{@lineno}")
    191205    result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args)
     
    542556  {
    543557    dadl_section = val[1]
    544     @@logger.debug("#{__FILE__}:#{__LINE__}: arch_ontology: dadl_section = #{val[1].to_yaml}")
     558    @@logger.debug("#{__FILE__}:#{__LINE__}: arch_ontology: dadl_section = \n#{dadl_section.to_yaml}")
    545559    args = Hash.new
    546     dadl_section.each do |item|
    547       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}")
    548       case item[:attr_id]
    549       when "terminologies_available"
    550         unless item[:object_block][:type_identifier]
    551           args.merge!(Hash[:terminologies_available => item[:object_block][:untyped_primitive_object_block]])
    552           #args.merge!(Hash[:terminologies_available => item[:object_block]])
    553         else
    554           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    555         end
    556       when "term_definitions"
    557         unless item[:object_block][:type_identifier]
    558           args.merge!(Hash[:term_definitions => item[:object_block][:untyped_multiple_attr_object_block]])
    559           #args.merge!(Hash[:term_definitions => item[:object_block]])
    560         else
    561           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    562         end
    563       when "term_binding"
    564         unless item[:object_block][:type_identifier]
    565           args.merge!(Hash[:term_binding => item[:object_block][:untyped_multiple_attr_object_block]])
    566           #args.merge!(Hash[:term_binding => item[:object_block]])
    567         else
    568           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    569         end
     560    case dadl_section[:attr_id]
     561    when "terminologies_available"
     562      unless dadl_section[:object_block][:type_identifier]
     563        args.merge!(Hash[:terminologies_available => dadl_section[:object_block][:untyped_primitive_object_block]])
    570564      else
    571         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} "
     565        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
    572566      end
    573     end
     567    when "term_definitions"
     568      unless dadl_section[:object_block][:type_identifier]
     569        args.merge!(Hash[:term_definitions => dadl_section[:object_block][:untyped_multiple_attr_object_block]])
     570      else
     571        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     572      end
     573    when "term_binding"
     574      unless dadl_section[:object_block][:type_identifier]
     575        args.merge!(Hash[:term_binding => dadl_section[:object_block][:untyped_multiple_attr_object_block]])
     576      else
     577        raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     578      end
     579    else
     580      raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{dadl_section[:attr_id]} at #{@filename}:#{@lineno} "
     581    end
     582###     dadl_section.each do |item|
     583###       @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}")
     584###       case item[:attr_id]
     585###       when "terminologies_available"
     586###         unless item[:object_block][:type_identifier]
     587###           args.merge!(Hash[:terminologies_available => item[:object_block][:untyped_primitive_object_block]])
     588###         else
     589###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     590###         end
     591###       when "term_definitions"
     592###         unless item[:object_block][:type_identifier]
     593###           args.merge!(Hash[:term_definitions => item[:object_block][:untyped_multiple_attr_object_block]])
     594###         else
     595###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     596###         end
     597###       when "term_binding"
     598###         unless item[:object_block][:type_identifier]
     599###           args.merge!(Hash[:term_binding => item[:object_block][:untyped_multiple_attr_object_block]])
     600###         else
     601###           raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} "
     602###         end
     603###       else
     604###         raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} "
     605###       end
     606###     end
    574607
    575608    result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new(args)
Note: See TracChangeset for help on using the changeset viewer.