Changeset 329 for ruby/trunk/lib
- Timestamp:
- Nov 1, 2009, 10:15:02 AM (15 years ago)
- Location:
- ruby/trunk/lib/adl_parser/lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/lib/parser.rb
r328 r329 22 22 class Parser < Racc::Parser 23 23 24 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 14 17)24 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1450) 25 25 26 26 def assert_at(file,line, message = "") … … 1444 1444 module_eval(<<'.,.,', 'parser.y', 150) 1445 1445 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] 1450 1453 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]]) 1453 1458 else 1454 1459 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1455 1460 end 1456 1461 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]]) 1459 1465 #args.merge!(Hash[:details => item[:object_block]]) 1466 args.merge!(Hash[:details => dadl_section[:untyped_multiple_attr_object_block]]) 1460 1467 else 1461 1468 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1462 1469 end 1463 1470 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]]) 1466 1475 else 1467 1476 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1468 1477 end 1469 1478 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]]) 1472 1483 else 1473 1484 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1474 1485 end 1475 1486 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]]) 1478 1491 else 1479 1492 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1480 1493 end 1481 1494 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} " 1483 1497 end 1484 end1498 # end 1485 1499 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args = \n#{args.to_yaml} at #{@filename}:#{@lineno}") 1486 1500 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args) … … 1492 1506 # reduce 23 omitted 1493 1507 1494 module_eval(<<'.,.,', 'parser.y', 198)1508 module_eval(<<'.,.,', 'parser.y', 212) 1495 1509 def _reduce_24(val, _values, result) 1496 1510 result = val[1] … … 1502 1516 # reduce 25 omitted 1503 1517 1504 module_eval(<<'.,.,', 'parser.y', 2 06)1518 module_eval(<<'.,.,', 'parser.y', 220) 1505 1519 def _reduce_26(val, _values, result) 1506 1520 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)} … … 1512 1526 .,., 1513 1527 1514 module_eval(<<'.,.,', 'parser.y', 2 12)1528 module_eval(<<'.,.,', 'parser.y', 226) 1515 1529 def _reduce_27(val, _values, result) 1516 1530 result = val[0] … … 1520 1534 .,., 1521 1535 1522 module_eval(<<'.,.,', 'parser.y', 2 20)1536 module_eval(<<'.,.,', 'parser.y', 234) 1523 1537 def _reduce_28(val, _values, result) 1524 1538 @@logger.debug("#{__FILE__}:#{__LINE__}:c_complx_object = \n c_complx_object_head = #{val[0].to_yaml}") … … 1533 1547 .,., 1534 1548 1535 module_eval(<<'.,.,', 'parser.y', 2 30)1549 module_eval(<<'.,.,', 'parser.y', 244) 1536 1550 def _reduce_29(val, _values, result) 1537 1551 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| … … 1545 1559 .,., 1546 1560 1547 module_eval(<<'.,.,', 'parser.y', 2 42)1561 module_eval(<<'.,.,', 'parser.y', 256) 1548 1562 def _reduce_30(val, _values, result) 1549 1563 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object_head: c_complex_object_id => #{val[0]}, c_occurrences => #{val[1]}") … … 1554 1568 .,., 1555 1569 1556 module_eval(<<'.,.,', 'parser.y', 2 48)1570 module_eval(<<'.,.,', 'parser.y', 262) 1557 1571 def _reduce_31(val, _values, result) 1558 1572 result = {:type_identifier => val[0]} … … 1562 1576 .,., 1563 1577 1564 module_eval(<<'.,.,', 'parser.y', 2 52)1578 module_eval(<<'.,.,', 'parser.y', 266) 1565 1579 def _reduce_32(val, _values, result) 1566 1580 result = {:type_identifier => val[0], :local_term_code_ref => val[1]} … … 1572 1586 # reduce 33 omitted 1573 1587 1574 module_eval(<<'.,.,', 'parser.y', 2 58)1588 module_eval(<<'.,.,', 'parser.y', 272) 1575 1589 def _reduce_34(val, _values, result) 1576 1590 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0]) … … 1580 1594 .,., 1581 1595 1582 module_eval(<<'.,.,', 'parser.y', 2 76)1596 module_eval(<<'.,.,', 'parser.y', 290) 1583 1597 def _reduce_35(val, _values, result) 1584 1598 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}") … … 1589 1603 .,., 1590 1604 1591 module_eval(<<'.,.,', 'parser.y', 2 81)1605 module_eval(<<'.,.,', 'parser.y', 295) 1592 1606 def _reduce_36(val, _values, result) 1593 1607 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref| … … 1601 1615 .,., 1602 1616 1603 module_eval(<<'.,.,', 'parser.y', 289)1617 module_eval(<<'.,.,', 'parser.y', 303) 1604 1618 def _reduce_37(val, _values, result) 1605 1619 result = val[0] … … 1609 1623 .,., 1610 1624 1611 module_eval(<<'.,.,', 'parser.y', 293)1625 module_eval(<<'.,.,', 'parser.y', 307) 1612 1626 def _reduce_38(val, _values, result) 1613 1627 result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref| … … 1619 1633 .,., 1620 1634 1621 module_eval(<<'.,.,', 'parser.y', 299)1635 module_eval(<<'.,.,', 'parser.y', 313) 1622 1636 def _reduce_39(val, _values, result) 1623 1637 result = val[0] … … 1627 1641 .,., 1628 1642 1629 module_eval(<<'.,.,', 'parser.y', 3 03)1643 module_eval(<<'.,.,', 'parser.y', 317) 1630 1644 def _reduce_40(val, _values, result) 1631 1645 result = val[0] … … 1635 1649 .,., 1636 1650 1637 module_eval(<<'.,.,', 'parser.y', 3 07)1651 module_eval(<<'.,.,', 'parser.y', 321) 1638 1652 def _reduce_41(val, _values, result) 1639 1653 result = val[0] … … 1643 1657 .,., 1644 1658 1645 module_eval(<<'.,.,', 'parser.y', 3 11)1659 module_eval(<<'.,.,', 'parser.y', 325) 1646 1660 def _reduce_42(val, _values, result) 1647 1661 result = val[0] … … 1655 1669 # reduce 44 omitted 1656 1670 1657 module_eval(<<'.,.,', 'parser.y', 3 44)1671 module_eval(<<'.,.,', 'parser.y', 358) 1658 1672 def _reduce_45(val, _values, result) 1659 1673 result = val[1] … … 1663 1677 .,., 1664 1678 1665 module_eval(<<'.,.,', 'parser.y', 3 50)1679 module_eval(<<'.,.,', 'parser.y', 364) 1666 1680 def _reduce_46(val, _values, result) 1667 1681 result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] } … … 1673 1687 # reduce 47 omitted 1674 1688 1675 module_eval(<<'.,.,', 'parser.y', 3 57)1689 module_eval(<<'.,.,', 'parser.y', 371) 1676 1690 def _reduce_48(val, _values, result) 1677 1691 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot| … … 1686 1700 .,., 1687 1701 1688 module_eval(<<'.,.,', 'parser.y', 3 66)1702 module_eval(<<'.,.,', 'parser.y', 380) 1689 1703 def _reduce_49(val, _values, result) 1690 1704 result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]} … … 1694 1708 .,., 1695 1709 1696 module_eval(<<'.,.,', 'parser.y', 3 71)1710 module_eval(<<'.,.,', 'parser.y', 385) 1697 1711 def _reduce_50(val, _values, result) 1698 1712 result = val[1] … … 1706 1720 # reduce 52 omitted 1707 1721 1708 module_eval(<<'.,.,', 'parser.y', 3 79)1722 module_eval(<<'.,.,', 'parser.y', 393) 1709 1723 def _reduce_53(val, _values, result) 1710 1724 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)} … … 1717 1731 .,., 1718 1732 1719 module_eval(<<'.,.,', 'parser.y', 387)1733 module_eval(<<'.,.,', 'parser.y', 401) 1720 1734 def _reduce_54(val, _values, result) 1721 1735 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") … … 1730 1744 .,., 1731 1745 1732 module_eval(<<'.,.,', 'parser.y', 396)1746 module_eval(<<'.,.,', 'parser.y', 410) 1733 1747 def _reduce_55(val, _values, result) 1734 1748 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") … … 1739 1753 .,., 1740 1754 1741 module_eval(<<'.,.,', 'parser.y', 4 01)1755 module_eval(<<'.,.,', 'parser.y', 415) 1742 1756 def _reduce_56(val, _values, result) 1743 1757 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") … … 1748 1762 .,., 1749 1763 1750 module_eval(<<'.,.,', 'parser.y', 4 06)1764 module_eval(<<'.,.,', 'parser.y', 420) 1751 1765 def _reduce_57(val, _values, result) 1752 1766 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") … … 1757 1771 .,., 1758 1772 1759 module_eval(<<'.,.,', 'parser.y', 4 11)1773 module_eval(<<'.,.,', 'parser.y', 425) 1760 1774 def _reduce_58(val, _values, result) 1761 1775 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") … … 1766 1780 .,., 1767 1781 1768 module_eval(<<'.,.,', 'parser.y', 4 16)1782 module_eval(<<'.,.,', 'parser.y', 430) 1769 1783 def _reduce_59(val, _values, result) 1770 1784 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") … … 1775 1789 .,., 1776 1790 1777 module_eval(<<'.,.,', 'parser.y', 4 21)1791 module_eval(<<'.,.,', 'parser.y', 435) 1778 1792 def _reduce_60(val, _values, result) 1779 1793 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") … … 1784 1798 .,., 1785 1799 1786 module_eval(<<'.,.,', 'parser.y', 4 26)1800 module_eval(<<'.,.,', 'parser.y', 440) 1787 1801 def _reduce_61(val, _values, result) 1788 1802 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)} … … 1796 1810 # reduce 62 omitted 1797 1811 1798 module_eval(<<'.,.,', 'parser.y', 4 38)1812 module_eval(<<'.,.,', 'parser.y', 452) 1799 1813 def _reduce_63(val, _values, result) 1800 1814 result = [val[0]] … … 1804 1818 .,., 1805 1819 1806 module_eval(<<'.,.,', 'parser.y', 4 42)1820 module_eval(<<'.,.,', 'parser.y', 456) 1807 1821 def _reduce_64(val, _values, result) 1808 1822 result = (val[0] << val[1]) … … 1812 1826 .,., 1813 1827 1814 module_eval(<<'.,.,', 'parser.y', 4 48)1828 module_eval(<<'.,.,', 'parser.y', 462) 1815 1829 def _reduce_65(val, _values, result) 1816 1830 @@logger.debug("#{__FILE__}:#{__LINE__}:c_attribute: #{val[0]} matches #{val[3]}") … … 1824 1838 .,., 1825 1839 1826 module_eval(<<'.,.,', 'parser.y', 4 56)1840 module_eval(<<'.,.,', 'parser.y', 470) 1827 1841 def _reduce_66(val, _values, result) 1828 1842 @@logger.debug("c_attribute: #{val[0]} matches #{val[3]}}") … … 1834 1848 .,., 1835 1849 1836 module_eval(<<'.,.,', 'parser.y', 4 63)1850 module_eval(<<'.,.,', 'parser.y', 477) 1837 1851 def _reduce_67(val, _values, result) 1838 1852 @@logger.debug("c_attribute: #{val[0]} matches #{val[5]}}") … … 1844 1858 .,., 1845 1859 1846 module_eval(<<'.,.,', 'parser.y', 4 69)1860 module_eval(<<'.,.,', 'parser.y', 483) 1847 1861 def _reduce_68(val, _values, result) 1848 1862 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)} … … 1853 1867 .,., 1854 1868 1855 module_eval(<<'.,.,', 'parser.y', 4 76)1869 module_eval(<<'.,.,', 'parser.y', 490) 1856 1870 def _reduce_69(val, _values, result) 1857 1871 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") … … 1866 1880 .,., 1867 1881 1868 module_eval(<<'.,.,', 'parser.y', 4 85)1882 module_eval(<<'.,.,', 'parser.y', 499) 1869 1883 def _reduce_70(val, _values, result) 1870 1884 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) } … … 1880 1894 .,., 1881 1895 1882 module_eval(<<'.,.,', 'parser.y', 496)1896 module_eval(<<'.,.,', 'parser.y', 510) 1883 1897 def _reduce_71(val, _values, result) 1884 1898 result = Array[val[0]] … … 1888 1902 .,., 1889 1903 1890 module_eval(<<'.,.,', 'parser.y', 5 00)1904 module_eval(<<'.,.,', 'parser.y', 514) 1891 1905 def _reduce_72(val, _values, result) 1892 1906 result = (val[0] << val[1]) … … 1896 1910 .,., 1897 1911 1898 module_eval(<<'.,.,', 'parser.y', 5 04)1912 module_eval(<<'.,.,', 'parser.y', 518) 1899 1913 def _reduce_73(val, _values, result) 1900 1914 result = Array[val[0]] … … 1906 1920 # reduce 74 omitted 1907 1921 1908 module_eval(<<'.,.,', 'parser.y', 5 10)1922 module_eval(<<'.,.,', 'parser.y', 524) 1909 1923 def _reduce_75(val, _values, result) 1910 1924 @@logger.debug("#{__FILE__}:#{__LINE__}: c_includes: assertions = #{val[1]}") … … 1917 1931 # reduce 76 omitted 1918 1932 1919 module_eval(<<'.,.,', 'parser.y', 5 19)1933 module_eval(<<'.,.,', 'parser.y', 533) 1920 1934 def _reduce_77(val, _values, result) 1921 1935 @@logger.debug("#{__FILE__}:#{__LINE__}: c_excludes: assertions = #{val[1]}") … … 1942 1956 # reduce 85 omitted 1943 1957 1944 module_eval(<<'.,.,', 'parser.y', 5 42)1958 module_eval(<<'.,.,', 'parser.y', 556) 1945 1959 def _reduce_86(val, _values, result) 1946 1960 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}") 1948 1962 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]]) 1973 1967 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} " 1975 1969 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} " 1976 1984 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 1977 2010 1978 2011 result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new(args) … … 1986 2019 # reduce 88 omitted 1987 2020 1988 module_eval(<<'.,.,', 'parser.y', 583)2021 module_eval(<<'.,.,', 'parser.y', 616) 1989 2022 def _reduce_89(val, _values, result) 1990 2023 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section::attr_vals = \n#{val[0].to_yaml}") … … 1995 2028 .,., 1996 2029 1997 module_eval(<<'.,.,', 'parser.y', 588)2030 module_eval(<<'.,.,', 'parser.y', 621) 1998 2031 def _reduce_90(val, _values, result) 1999 2032 #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section::complex_object_block = \n#{val[0].to_yaml}") … … 2004 2037 .,., 2005 2038 2006 module_eval(<<'.,.,', 'parser.y', 595)2039 module_eval(<<'.,.,', 'parser.y', 628) 2007 2040 def _reduce_91(val, _values, result) 2008 2041 attr_val = val[0] … … 2013 2046 .,., 2014 2047 2015 module_eval(<<'.,.,', 'parser.y', 6 00)2048 module_eval(<<'.,.,', 'parser.y', 633) 2016 2049 def _reduce_92(val, _values, result) 2017 2050 result = val[0].merge!(val[1]) … … 2021 2054 .,., 2022 2055 2023 module_eval(<<'.,.,', 'parser.y', 6 04)2056 module_eval(<<'.,.,', 'parser.y', 637) 2024 2057 def _reduce_93(val, _values, result) 2025 2058 result = val[0].merge!(val[2]) … … 2029 2062 .,., 2030 2063 2031 module_eval(<<'.,.,', 'parser.y', 6 21)2064 module_eval(<<'.,.,', 'parser.y', 654) 2032 2065 def _reduce_94(val, _values, result) 2033 2066 @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0].to_yaml},\n object_block = #{val[2].to_yaml}") … … 2038 2071 .,., 2039 2072 2040 module_eval(<<'.,.,', 'parser.y', 6 27)2073 module_eval(<<'.,.,', 'parser.y', 660) 2041 2074 def _reduce_95(val, _values, result) 2042 2075 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}") … … 2049 2082 # reduce 96 omitted 2050 2083 2051 module_eval(<<'.,.,', 'parser.y', 6 34)2084 module_eval(<<'.,.,', 'parser.y', 667) 2052 2085 def _reduce_97(val, _values, result) 2053 2086 result = val[0] … … 2057 2090 .,., 2058 2091 2059 module_eval(<<'.,.,', 'parser.y', 6 38)2092 module_eval(<<'.,.,', 'parser.y', 671) 2060 2093 def _reduce_98(val, _values, result) 2061 2094 result = val[0] … … 2065 2098 .,., 2066 2099 2067 module_eval(<<'.,.,', 'parser.y', 6 43)2100 module_eval(<<'.,.,', 'parser.y', 676) 2068 2101 def _reduce_99(val, _values, result) 2069 2102 result = val[0] … … 2073 2106 .,., 2074 2107 2075 module_eval(<<'.,.,', 'parser.y', 6 47)2108 module_eval(<<'.,.,', 'parser.y', 680) 2076 2109 def _reduce_100(val, _values, result) 2077 2110 result = val[0] … … 2081 2114 .,., 2082 2115 2083 module_eval(<<'.,.,', 'parser.y', 6 52)2116 module_eval(<<'.,.,', 'parser.y', 685) 2084 2117 def _reduce_101(val, _values, result) 2085 2118 @@logger.debug("#{__FILE__}:#{__LINE__}:multiple_attr_object_block::attr_val\n untyped_multiple_attr_object_block = #{val[0].to_yaml}") … … 2090 2123 .,., 2091 2124 2092 module_eval(<<'.,.,', 'parser.y', 6 57)2125 module_eval(<<'.,.,', 'parser.y', 690) 2093 2126 def _reduce_102(val, _values, result) 2094 2127 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]} … … 2098 2131 .,., 2099 2132 2100 module_eval(<<'.,.,', 'parser.y', 6 62)2133 module_eval(<<'.,.,', 'parser.y', 695) 2101 2134 def _reduce_103(val, _values, result) 2102 2135 @@logger.debug("#{__FILE__}:#{__LINE__}:untyped_multiple_attr_object_block::keyed_objects\n keyed_objects = #{val[1].to_yaml}") … … 2107 2140 .,., 2108 2141 2109 module_eval(<<'.,.,', 'parser.y', 668)2142 module_eval(<<'.,.,', 'parser.y', 701) 2110 2143 def _reduce_104(val, _values, result) 2111 2144 result = val[0] … … 2115 2148 .,., 2116 2149 2117 module_eval(<<'.,.,', 'parser.y', 673)2150 module_eval(<<'.,.,', 'parser.y', 706) 2118 2151 def _reduce_105(val, _values, result) 2119 2152 result = Array[val[0]] … … 2123 2156 .,., 2124 2157 2125 module_eval(<<'.,.,', 'parser.y', 677)2158 module_eval(<<'.,.,', 'parser.y', 710) 2126 2159 def _reduce_106(val, _values, result) 2127 2160 result = (val[0] << val[1]) … … 2131 2164 .,., 2132 2165 2133 module_eval(<<'.,.,', 'parser.y', 682)2166 module_eval(<<'.,.,', 'parser.y', 715) 2134 2167 def _reduce_107(val, _values, result) 2135 2168 #@@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") … … 2146 2179 .,., 2147 2180 2148 module_eval(<<'.,.,', 'parser.y', 694)2181 module_eval(<<'.,.,', 'parser.y', 727) 2149 2182 def _reduce_108(val, _values, result) 2150 2183 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") … … 2155 2188 .,., 2156 2189 2157 module_eval(<<'.,.,', 'parser.y', 7 00)2190 module_eval(<<'.,.,', 'parser.y', 733) 2158 2191 def _reduce_109(val, _values, result) 2159 2192 result = {:untyped_single_attr_object_block => val[0]} … … 2163 2196 .,., 2164 2197 2165 module_eval(<<'.,.,', 'parser.y', 7 04)2198 module_eval(<<'.,.,', 'parser.y', 737) 2166 2199 def _reduce_110(val, _values, result) 2167 2200 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]} … … 2171 2204 .,., 2172 2205 2173 module_eval(<<'.,.,', 'parser.y', 7 09)2206 module_eval(<<'.,.,', 'parser.y', 742) 2174 2207 def _reduce_111(val, _values, result) 2175 2208 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") … … 2180 2213 .,., 2181 2214 2182 module_eval(<<'.,.,', 'parser.y', 7 14)2215 module_eval(<<'.,.,', 'parser.y', 747) 2183 2216 def _reduce_112(val, _values, result) 2184 2217 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_single_attr_object_block::attr_vals = \n#{val[1].to_yaml} at #{@filename}:#{@lineno}") … … 2191 2224 # reduce 113 omitted 2192 2225 2193 module_eval(<<'.,.,', 'parser.y', 7 21)2226 module_eval(<<'.,.,', 'parser.y', 754) 2194 2227 def _reduce_114(val, _values, result) 2195 2228 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}") … … 2200 2233 .,., 2201 2234 2202 module_eval(<<'.,.,', 'parser.y', 7 26)2235 module_eval(<<'.,.,', 'parser.y', 759) 2203 2236 def _reduce_115(val, _values, result) 2204 2237 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}") … … 2209 2242 .,., 2210 2243 2211 module_eval(<<'.,.,', 'parser.y', 7 31)2244 module_eval(<<'.,.,', 'parser.y', 764) 2212 2245 def _reduce_116(val, _values, result) 2213 2246 #@@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") … … 2218 2251 .,., 2219 2252 2220 module_eval(<<'.,.,', 'parser.y', 7 36)2253 module_eval(<<'.,.,', 'parser.y', 769) 2221 2254 def _reduce_117(val, _values, result) 2222 2255 result = val[0] … … 2226 2259 .,., 2227 2260 2228 module_eval(<<'.,.,', 'parser.y', 7 40)2261 module_eval(<<'.,.,', 'parser.y', 773) 2229 2262 def _reduce_118(val, _values, result) 2230 2263 result = val[0] … … 2234 2267 .,., 2235 2268 2236 module_eval(<<'.,.,', 'parser.y', 7 44)2269 module_eval(<<'.,.,', 'parser.y', 777) 2237 2270 def _reduce_119(val, _values, result) 2238 2271 result = val[0] … … 2242 2275 .,., 2243 2276 2244 module_eval(<<'.,.,', 'parser.y', 7 48)2277 module_eval(<<'.,.,', 'parser.y', 781) 2245 2278 def _reduce_120(val, _values, result) 2246 2279 result = val[0] … … 2250 2283 .,., 2251 2284 2252 module_eval(<<'.,.,', 'parser.y', 7 52)2285 module_eval(<<'.,.,', 'parser.y', 785) 2253 2286 def _reduce_121(val, _values, result) 2254 2287 result = val[0] … … 2258 2291 .,., 2259 2292 2260 module_eval(<<'.,.,', 'parser.y', 7 56)2293 module_eval(<<'.,.,', 'parser.y', 789) 2261 2294 def _reduce_122(val, _values, result) 2262 2295 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2267 2300 .,., 2268 2301 2269 module_eval(<<'.,.,', 'parser.y', 7 61)2302 module_eval(<<'.,.,', 'parser.y', 794) 2270 2303 def _reduce_123(val, _values, result) 2271 2304 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2276 2309 .,., 2277 2310 2278 module_eval(<<'.,.,', 'parser.y', 7 66)2311 module_eval(<<'.,.,', 'parser.y', 799) 2279 2312 def _reduce_124(val, _values, result) 2280 2313 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2285 2318 .,., 2286 2319 2287 module_eval(<<'.,.,', 'parser.y', 771)2320 module_eval(<<'.,.,', 'parser.y', 804) 2288 2321 def _reduce_125(val, _values, result) 2289 2322 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2294 2327 .,., 2295 2328 2296 module_eval(<<'.,.,', 'parser.y', 776)2329 module_eval(<<'.,.,', 'parser.y', 809) 2297 2330 def _reduce_126(val, _values, result) 2298 2331 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2303 2336 .,., 2304 2337 2305 module_eval(<<'.,.,', 'parser.y', 781)2338 module_eval(<<'.,.,', 'parser.y', 814) 2306 2339 def _reduce_127(val, _values, result) 2307 2340 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2312 2345 .,., 2313 2346 2314 module_eval(<<'.,.,', 'parser.y', 786)2347 module_eval(<<'.,.,', 'parser.y', 819) 2315 2348 def _reduce_128(val, _values, result) 2316 2349 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2321 2354 .,., 2322 2355 2323 module_eval(<<'.,.,', 'parser.y', 791)2356 module_eval(<<'.,.,', 'parser.y', 824) 2324 2357 def _reduce_129(val, _values, result) 2325 2358 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2330 2363 .,., 2331 2364 2332 module_eval(<<'.,.,', 'parser.y', 796)2365 module_eval(<<'.,.,', 'parser.y', 829) 2333 2366 def _reduce_130(val, _values, result) 2334 2367 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2339 2372 .,., 2340 2373 2341 module_eval(<<'.,.,', 'parser.y', 8 01)2374 module_eval(<<'.,.,', 'parser.y', 834) 2342 2375 def _reduce_131(val, _values, result) 2343 2376 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2348 2381 .,., 2349 2382 2350 module_eval(<<'.,.,', 'parser.y', 8 07)2383 module_eval(<<'.,.,', 'parser.y', 840) 2351 2384 def _reduce_132(val, _values, result) 2352 2385 @@logger.debug("string_list_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2357 2390 .,., 2358 2391 2359 module_eval(<<'.,.,', 'parser.y', 8 12)2392 module_eval(<<'.,.,', 'parser.y', 845) 2360 2393 def _reduce_133(val, _values, result) 2361 2394 result = val[0] … … 2365 2398 .,., 2366 2399 2367 module_eval(<<'.,.,', 'parser.y', 8 16)2400 module_eval(<<'.,.,', 'parser.y', 849) 2368 2401 def _reduce_134(val, _values, result) 2369 2402 result = val[0] … … 2373 2406 .,., 2374 2407 2375 module_eval(<<'.,.,', 'parser.y', 8 20)2408 module_eval(<<'.,.,', 'parser.y', 853) 2376 2409 def _reduce_135(val, _values, result) 2377 2410 result = val[0] … … 2381 2414 .,., 2382 2415 2383 module_eval(<<'.,.,', 'parser.y', 8 24)2416 module_eval(<<'.,.,', 'parser.y', 857) 2384 2417 def _reduce_136(val, _values, result) 2385 2418 result = val[0] … … 2389 2422 .,., 2390 2423 2391 module_eval(<<'.,.,', 'parser.y', 8 28)2424 module_eval(<<'.,.,', 'parser.y', 861) 2392 2425 def _reduce_137(val, _values, result) 2393 2426 result = val[0] … … 2397 2430 .,., 2398 2431 2399 module_eval(<<'.,.,', 'parser.y', 8 32)2432 module_eval(<<'.,.,', 'parser.y', 865) 2400 2433 def _reduce_138(val, _values, result) 2401 2434 result = val[0] … … 2405 2438 .,., 2406 2439 2407 module_eval(<<'.,.,', 'parser.y', 8 36)2440 module_eval(<<'.,.,', 'parser.y', 869) 2408 2441 def _reduce_139(val, _values, result) 2409 2442 result = val[0] … … 2413 2446 .,., 2414 2447 2415 module_eval(<<'.,.,', 'parser.y', 8 40)2448 module_eval(<<'.,.,', 'parser.y', 873) 2416 2449 def _reduce_140(val, _values, result) 2417 2450 result = val[0] … … 2433 2466 # reduce 146 omitted 2434 2467 2435 module_eval(<<'.,.,', 'parser.y', 8 52)2468 module_eval(<<'.,.,', 'parser.y', 885) 2436 2469 def _reduce_147(val, _values, result) 2437 2470 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2442 2475 .,., 2443 2476 2444 module_eval(<<'.,.,', 'parser.y', 8 57)2477 module_eval(<<'.,.,', 'parser.y', 890) 2445 2478 def _reduce_148(val, _values, result) 2446 2479 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2451 2484 .,., 2452 2485 2453 module_eval(<<'.,.,', 'parser.y', 8 63)2486 module_eval(<<'.,.,', 'parser.y', 896) 2454 2487 def _reduce_149(val, _values, result) 2455 2488 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") … … 2460 2493 .,., 2461 2494 2462 module_eval(<<'.,.,', 'parser.y', 869)2495 module_eval(<<'.,.,', 'parser.y', 902) 2463 2496 def _reduce_150(val, _values, result) 2464 2497 result = [val[0],val[2]] … … 2468 2501 .,., 2469 2502 2470 module_eval(<<'.,.,', 'parser.y', 873)2503 module_eval(<<'.,.,', 'parser.y', 906) 2471 2504 def _reduce_151(val, _values, result) 2472 2505 result = val[0] << val[2] … … 2476 2509 .,., 2477 2510 2478 module_eval(<<'.,.,', 'parser.y', 877)2511 module_eval(<<'.,.,', 'parser.y', 910) 2479 2512 def _reduce_152(val, _values, result) 2480 2513 result = val[0] … … 2484 2517 .,., 2485 2518 2486 module_eval(<<'.,.,', 'parser.y', 882)2519 module_eval(<<'.,.,', 'parser.y', 915) 2487 2520 def _reduce_153(val, _values, result) 2488 2521 begin … … 2497 2530 .,., 2498 2531 2499 module_eval(<<'.,.,', 'parser.y', 891)2532 module_eval(<<'.,.,', 'parser.y', 924) 2500 2533 def _reduce_154(val, _values, result) 2501 2534 begin … … 2510 2543 .,., 2511 2544 2512 module_eval(<<'.,.,', 'parser.y', 9 00)2545 module_eval(<<'.,.,', 'parser.y', 933) 2513 2546 def _reduce_155(val, _values, result) 2514 2547 begin … … 2547 2580 # reduce 167 omitted 2548 2581 2549 module_eval(<<'.,.,', 'parser.y', 9 24)2582 module_eval(<<'.,.,', 'parser.y', 957) 2550 2583 def _reduce_168(val, _values, result) 2551 2584 begin … … 2560 2593 .,., 2561 2594 2562 module_eval(<<'.,.,', 'parser.y', 9 33)2595 module_eval(<<'.,.,', 'parser.y', 966) 2563 2596 def _reduce_169(val, _values, result) 2564 2597 begin … … 2573 2606 .,., 2574 2607 2575 module_eval(<<'.,.,', 'parser.y', 9 42)2608 module_eval(<<'.,.,', 'parser.y', 975) 2576 2609 def _reduce_170(val, _values, result) 2577 2610 begin … … 2610 2643 # reduce 182 omitted 2611 2644 2612 module_eval(<<'.,.,', 'parser.y', 967)2645 module_eval(<<'.,.,', 'parser.y', 1000) 2613 2646 def _reduce_183(val, _values, result) 2614 2647 result = true … … 2618 2651 .,., 2619 2652 2620 module_eval(<<'.,.,', 'parser.y', 971)2653 module_eval(<<'.,.,', 'parser.y', 1004) 2621 2654 def _reduce_184(val, _values, result) 2622 2655 result = false … … 2640 2673 # reduce 191 omitted 2641 2674 2642 module_eval(<<'.,.,', 'parser.y', 986)2675 module_eval(<<'.,.,', 'parser.y', 1019) 2643 2676 def _reduce_192(val, _values, result) 2644 2677 result = val[0] … … 2698 2731 # reduce 217 omitted 2699 2732 2700 module_eval(<<'.,.,', 'parser.y', 10 21)2733 module_eval(<<'.,.,', 'parser.y', 1054) 2701 2734 def _reduce_218(val, _values, result) 2702 2735 @@logger.debug("V_ISO8601_EXTENDED_DATE_TIME: #{val[0]} at #{@filename}:#{@lineno}") … … 2731 2764 # reduce 230 omitted 2732 2765 2733 module_eval(<<'.,.,', 'parser.y', 10 41)2766 module_eval(<<'.,.,', 'parser.y', 1074) 2734 2767 def _reduce_231(val, _values, result) 2735 2768 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") … … 2764 2797 # reduce 243 omitted 2765 2798 2766 module_eval(<<'.,.,', 'parser.y', 10 61)2799 module_eval(<<'.,.,', 'parser.y', 1094) 2767 2800 def _reduce_244(val, _values, result) 2768 2801 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") … … 2779 2812 # reduce 247 omitted 2780 2813 2781 module_eval(<<'.,.,', 'parser.y', 1 071)2814 module_eval(<<'.,.,', 'parser.y', 1104) 2782 2815 def _reduce_248(val, _values, result) 2783 2816 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") … … 2804 2837 # reduce 256 omitted 2805 2838 2806 module_eval(<<'.,.,', 'parser.y', 1 094)2839 module_eval(<<'.,.,', 'parser.y', 1127) 2807 2840 def _reduce_257(val, _values, result) 2808 2841 @@logger.debug("#{__FILE__}:#{__LINE__}, boolean_node: relative_path = #{val[0]}, regexp_body => #{val[3]} at #{@filename}") … … 2869 2902 # reduce 285 omitted 2870 2903 2871 module_eval(<<'.,.,', 'parser.y', 11 41)2904 module_eval(<<'.,.,', 'parser.y', 1174) 2872 2905 def _reduce_286(val, _values, result) 2873 2906 @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}") … … 2878 2911 .,., 2879 2912 2880 module_eval(<<'.,.,', 'parser.y', 11 46)2913 module_eval(<<'.,.,', 'parser.y', 1179) 2881 2914 def _reduce_287(val, _values, result) 2882 2915 @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}/#{val[2]}") … … 2887 2920 .,., 2888 2921 2889 module_eval(<<'.,.,', 'parser.y', 11 52)2922 module_eval(<<'.,.,', 'parser.y', 1185) 2890 2923 def _reduce_288(val, _values, result) 2891 2924 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2896 2929 .,., 2897 2930 2898 module_eval(<<'.,.,', 'parser.y', 11 57)2931 module_eval(<<'.,.,', 'parser.y', 1190) 2899 2932 def _reduce_289(val, _values, result) 2900 2933 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2905 2938 .,., 2906 2939 2907 module_eval(<<'.,.,', 'parser.y', 1 169)2940 module_eval(<<'.,.,', 'parser.y', 1202) 2908 2941 def _reduce_290(val, _values, result) 2909 2942 result = Range.new(1,1) … … 2913 2946 .,., 2914 2947 2915 module_eval(<<'.,.,', 'parser.y', 1 173)2948 module_eval(<<'.,.,', 'parser.y', 1206) 2916 2949 def _reduce_291(val, _values, result) 2917 2950 result = val[3] … … 2921 2954 .,., 2922 2955 2923 module_eval(<<'.,.,', 'parser.y', 1 178)2956 module_eval(<<'.,.,', 'parser.y', 1211) 2924 2957 def _reduce_292(val, _values, result) 2925 2958 begin … … 2934 2967 .,., 2935 2968 2936 module_eval(<<'.,.,', 'parser.y', 1 187)2969 module_eval(<<'.,.,', 'parser.y', 1220) 2937 2970 def _reduce_293(val, _values, result) 2938 2971 begin … … 2948 2981 .,., 2949 2982 2950 module_eval(<<'.,.,', 'parser.y', 1 198)2983 module_eval(<<'.,.,', 'parser.y', 1231) 2951 2984 def _reduce_294(val, _values, result) 2952 2985 result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new … … 2956 2989 .,., 2957 2990 2958 module_eval(<<'.,.,', 'parser.y', 12 03)2991 module_eval(<<'.,.,', 'parser.y', 1236) 2959 2992 def _reduce_295(val, _values, result) 2960 2993 result = val[0] … … 2978 3011 # reduce 302 omitted 2979 3012 2980 module_eval(<<'.,.,', 'parser.y', 12 15)3013 module_eval(<<'.,.,', 'parser.y', 1248) 2981 3014 def _reduce_303(val, _values, result) 2982 3015 result = val[0] … … 2986 3019 .,., 2987 3020 2988 module_eval(<<'.,.,', 'parser.y', 12 19)3021 module_eval(<<'.,.,', 'parser.y', 1252) 2989 3022 def _reduce_304(val, _values, result) 2990 3023 result = val[0] … … 2996 3029 # reduce 305 omitted 2997 3030 2998 module_eval(<<'.,.,', 'parser.y', 12 26)3031 module_eval(<<'.,.,', 'parser.y', 1259) 2999 3032 def _reduce_306(val, _values, result) 3000 3033 case val[3] … … 3011 3044 # reduce 307 omitted 3012 3045 3013 module_eval(<<'.,.,', 'parser.y', 12 37)3046 module_eval(<<'.,.,', 'parser.y', 1270) 3014 3047 def _reduce_308(val, _values, result) 3015 3048 result = val[0] … … 3019 3052 .,., 3020 3053 3021 module_eval(<<'.,.,', 'parser.y', 12 41)3054 module_eval(<<'.,.,', 'parser.y', 1274) 3022 3055 def _reduce_309(val, _values, result) 3023 3056 result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2]) … … 3113 3146 # reduce 352 omitted 3114 3147 3115 module_eval(<<'.,.,', 'parser.y', 13 07)3148 module_eval(<<'.,.,', 'parser.y', 1340) 3116 3149 def _reduce_353(val, _values, result) 3117 3150 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true) … … 3121 3154 .,., 3122 3155 3123 module_eval(<<'.,.,', 'parser.y', 13 11)3156 module_eval(<<'.,.,', 'parser.y', 1344) 3124 3157 def _reduce_354(val, _values, result) 3125 3158 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false) … … 3129 3162 .,., 3130 3163 3131 module_eval(<<'.,.,', 'parser.y', 13 15)3164 module_eval(<<'.,.,', 'parser.y', 1348) 3132 3165 def _reduce_355(val, _values, result) 3133 3166 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false) … … 3137 3170 .,., 3138 3171 3139 module_eval(<<'.,.,', 'parser.y', 13 19)3172 module_eval(<<'.,.,', 'parser.y', 1352) 3140 3173 def _reduce_356(val, _values, result) 3141 3174 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true) … … 3145 3178 .,., 3146 3179 3147 module_eval(<<'.,.,', 'parser.y', 13 24)3180 module_eval(<<'.,.,', 'parser.y', 1357) 3148 3181 def _reduce_357(val, _values, result) 3149 3182 result = val[0] … … 3153 3186 .,., 3154 3187 3155 module_eval(<<'.,.,', 'parser.y', 13 28)3188 module_eval(<<'.,.,', 'parser.y', 1361) 3156 3189 def _reduce_358(val, _values, result) 3157 3190 result = val[0] … … 3162 3195 .,., 3163 3196 3164 module_eval(<<'.,.,', 'parser.y', 13 33)3197 module_eval(<<'.,.,', 'parser.y', 1366) 3165 3198 def _reduce_359(val, _values, result) 3166 3199 raise 'Not implemented yet' … … 3180 3213 # reduce 364 omitted 3181 3214 3182 module_eval(<<'.,.,', 'parser.y', 13 45)3215 module_eval(<<'.,.,', 'parser.y', 1378) 3183 3216 def _reduce_365(val, _values, result) 3184 3217 @in_interval = false … … 3189 3222 .,., 3190 3223 3191 module_eval(<<'.,.,', 'parser.y', 13 52)3224 module_eval(<<'.,.,', 'parser.y', 1385) 3192 3225 def _reduce_366(val, _values, result) 3193 3226 result = val[0] … … 3197 3230 .,., 3198 3231 3199 module_eval(<<'.,.,', 'parser.y', 13 56)3232 module_eval(<<'.,.,', 'parser.y', 1389) 3200 3233 def _reduce_367(val, _values, result) 3201 3234 result = val[0] … … 3205 3238 .,., 3206 3239 3207 module_eval(<<'.,.,', 'parser.y', 13 62)3240 module_eval(<<'.,.,', 'parser.y', 1395) 3208 3241 def _reduce_368(val, _values, result) 3209 3242 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}") … … 3222 3255 # reduce 371 omitted 3223 3256 3224 module_eval(<<'.,.,', 'parser.y', 1 378)3257 module_eval(<<'.,.,', 'parser.y', 1411) 3225 3258 def _reduce_372(val, _values, result) 3226 3259 result = val[0] … … 3230 3263 .,., 3231 3264 3232 module_eval(<<'.,.,', 'parser.y', 1 383)3265 module_eval(<<'.,.,', 'parser.y', 1416) 3233 3266 def _reduce_373(val, _values, result) 3234 3267 result = val[0] … … 3238 3271 .,., 3239 3272 3240 module_eval(<<'.,.,', 'parser.y', 1 387)3273 module_eval(<<'.,.,', 'parser.y', 1420) 3241 3274 def _reduce_374(val, _values, result) 3242 3275 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") … … 3247 3280 .,., 3248 3281 3249 module_eval(<<'.,.,', 'parser.y', 1 398)3282 module_eval(<<'.,.,', 'parser.y', 1431) 3250 3283 def _reduce_375(val, _values, result) 3251 3284 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0] -
ruby/trunk/lib/adl_parser/lib/parser.y
r328 r329 149 149 | SYM_DESCRIPTION dadl_section 150 150 { 151 dadl_section = val[1] 151 152 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] 155 158 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]]) 158 163 else 159 164 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 160 165 end 161 166 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]]) 164 170 #args.merge!(Hash[:details => item[:object_block]]) 171 args.merge!(Hash[:details => dadl_section[:untyped_multiple_attr_object_block]]) 165 172 else 166 173 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 167 174 end 168 175 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]]) 171 180 else 172 181 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 173 182 end 174 183 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]]) 177 188 else 178 189 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 179 190 end 180 191 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]]) 183 196 else 184 197 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 185 198 end 186 199 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} " 188 202 end 189 end203 # end 190 204 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args = \n#{args.to_yaml} at #{@filename}:#{@lineno}") 191 205 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args) … … 542 556 { 543 557 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}") 545 559 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]]) 570 564 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} " 572 566 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 574 607 575 608 result = OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new(args)
Note:
See TracChangeset
for help on using the changeset viewer.