Changeset 326 for ruby/trunk/lib/adl_parser/lib
- Timestamp:
- Oct 29, 2009, 1:58:34 AM (15 years ago)
- Location:
- ruby/trunk/lib/adl_parser/lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/lib/adl_exception.rb
r323 r326 12 12 module Parser 13 13 class Base < RuntimeError 14 end 15 16 class Error < Base 14 17 end 15 18 end -
ruby/trunk/lib/adl_parser/lib/parser.rb
r323 r326 27 27 class Parser < Racc::Parser 28 28 29 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 13 18)29 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1368) 30 30 31 31 def assert_at(file,line, message = "") … … 1418 1418 module_eval(<<'.,.,', 'parser.y', 124) 1419 1419 def _reduce_18(val, _values, result) 1420 result = {:arch_language => nil}1420 result = {:arch_language => ""} 1421 1421 1422 1422 result … … 1426 1426 module_eval(<<'.,.,', 'parser.y', 128) 1427 1427 def _reduce_19(val, _values, result) 1428 result = {:arch_language => val[1]} 1428 if val[1][0][:attr_id] == "original_language" 1429 result = {:arch_language => val[1][0][:object_block][:untyped_primitive_object_block]} 1430 else 1431 raise OpenEhr::ADL::Exception::Parser::Error, "It should be 'original_language' at #{@filename}:#{@lineno} " 1432 end 1429 1433 1430 1434 result … … 1436 1440 # reduce 21 omitted 1437 1441 1438 module_eval(<<'.,.,', 'parser.y', 1 39)1442 module_eval(<<'.,.,', 'parser.y', 143) 1439 1443 def _reduce_22(val, _values, result) 1440 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 1444 args = Hash.new 1445 val[1].each do |item| 1446 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}") 1447 case item[:attr_id] 1448 when "original_author" 1449 unless item[:object_block][:type_identifier] 1450 args.merge!(Hash[:original_author => item[:object_block][:untyped_multiple_attr_object_block]]) 1451 else 1452 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1453 end 1454 when "details" 1455 unless item[:object_block][:type_identifier] 1456 args.merge!(Hash[:details => item[:object_block][:untyped_multiple_attr_object_block]]) 1457 else 1458 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1459 end 1460 when "lifecycle_state" 1461 unless item[:object_block][:type_identifier] 1462 args.merge!(Hash[:lifecycle_state => item[:object_block][:untyped_primitive_object_block]]) 1463 else 1464 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1465 end 1466 when "other_contributors" 1467 unless item[:object_block][:type_identifier] 1468 args.merge!(Hash[:other_contributors => item[:object_block][:untyped_multiple_attr_object_block]]) 1469 else 1470 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1471 end 1472 when "other_details" 1473 unless item[:object_block][:type_identifier] 1474 args.merge!(Hash[:other_contributors => item[:object_block][:untyped_multiple_attr_object_block]]) 1475 else 1476 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 1477 end 1478 else 1479 raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} " 1480 end 1481 end 1482 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args = \n#{args.to_yaml} at #{@filename}:#{@lineno}") 1483 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args) 1441 1484 1442 1485 result … … 1446 1489 # reduce 23 omitted 1447 1490 1448 module_eval(<<'.,.,', 'parser.y', 1 47)1491 module_eval(<<'.,.,', 'parser.y', 190) 1449 1492 def _reduce_24(val, _values, result) 1450 1493 result = val[1] … … 1456 1499 # reduce 25 omitted 1457 1500 1458 module_eval(<<'.,.,', 'parser.y', 1 55)1501 module_eval(<<'.,.,', 'parser.y', 198) 1459 1502 def _reduce_26(val, _values, result) 1460 1503 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)} … … 1466 1509 .,., 1467 1510 1468 module_eval(<<'.,.,', 'parser.y', 161)1511 module_eval(<<'.,.,', 'parser.y', 204) 1469 1512 def _reduce_27(val, _values, result) 1470 1513 result = val[0] … … 1474 1517 .,., 1475 1518 1476 module_eval(<<'.,.,', 'parser.y', 169)1519 module_eval(<<'.,.,', 'parser.y', 212) 1477 1520 def _reduce_28(val, _values, result) 1478 1521 @@logger.debug("#{__FILE__}:#{__LINE__}:c_complx_object = \n c_complx_object_head = #{val[0].to_yaml}") … … 1487 1530 .,., 1488 1531 1489 module_eval(<<'.,.,', 'parser.y', 179)1532 module_eval(<<'.,.,', 'parser.y', 222) 1490 1533 def _reduce_29(val, _values, result) 1491 1534 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object| … … 1499 1542 .,., 1500 1543 1501 module_eval(<<'.,.,', 'parser.y', 191)1544 module_eval(<<'.,.,', 'parser.y', 234) 1502 1545 def _reduce_30(val, _values, result) 1503 1546 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object_head: c_complex_object_id => #{val[0]}, c_occurrences => #{val[1]}") … … 1508 1551 .,., 1509 1552 1510 module_eval(<<'.,.,', 'parser.y', 197)1553 module_eval(<<'.,.,', 'parser.y', 240) 1511 1554 def _reduce_31(val, _values, result) 1512 1555 result = {:type_identifier => val[0]} … … 1516 1559 .,., 1517 1560 1518 module_eval(<<'.,.,', 'parser.y', 2 01)1561 module_eval(<<'.,.,', 'parser.y', 244) 1519 1562 def _reduce_32(val, _values, result) 1520 1563 result = {:type_identifier => val[0], :local_term_code_ref => val[1]} … … 1526 1569 # reduce 33 omitted 1527 1570 1528 module_eval(<<'.,.,', 'parser.y', 2 07)1571 module_eval(<<'.,.,', 'parser.y', 250) 1529 1572 def _reduce_34(val, _values, result) 1530 1573 result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0]) … … 1534 1577 .,., 1535 1578 1536 module_eval(<<'.,.,', 'parser.y', 2 25)1579 module_eval(<<'.,.,', 'parser.y', 268) 1537 1580 def _reduce_35(val, _values, result) 1538 1581 @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}") … … 1543 1586 .,., 1544 1587 1545 module_eval(<<'.,.,', 'parser.y', 2 30)1588 module_eval(<<'.,.,', 'parser.y', 273) 1546 1589 def _reduce_36(val, _values, result) 1547 1590 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref| … … 1555 1598 .,., 1556 1599 1557 module_eval(<<'.,.,', 'parser.y', 2 38)1600 module_eval(<<'.,.,', 'parser.y', 281) 1558 1601 def _reduce_37(val, _values, result) 1559 1602 result = val[0] … … 1563 1606 .,., 1564 1607 1565 module_eval(<<'.,.,', 'parser.y', 2 42)1608 module_eval(<<'.,.,', 'parser.y', 285) 1566 1609 def _reduce_38(val, _values, result) 1567 1610 result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref| … … 1573 1616 .,., 1574 1617 1575 module_eval(<<'.,.,', 'parser.y', 2 48)1618 module_eval(<<'.,.,', 'parser.y', 291) 1576 1619 def _reduce_39(val, _values, result) 1577 1620 result = val[0] … … 1581 1624 .,., 1582 1625 1583 module_eval(<<'.,.,', 'parser.y', 2 52)1626 module_eval(<<'.,.,', 'parser.y', 295) 1584 1627 def _reduce_40(val, _values, result) 1585 1628 result = val[0] … … 1589 1632 .,., 1590 1633 1591 module_eval(<<'.,.,', 'parser.y', 2 56)1634 module_eval(<<'.,.,', 'parser.y', 299) 1592 1635 def _reduce_41(val, _values, result) 1593 1636 result = val[0] … … 1597 1640 .,., 1598 1641 1599 module_eval(<<'.,.,', 'parser.y', 260)1642 module_eval(<<'.,.,', 'parser.y', 303) 1600 1643 def _reduce_42(val, _values, result) 1601 1644 result = val[0] … … 1609 1652 # reduce 44 omitted 1610 1653 1611 module_eval(<<'.,.,', 'parser.y', 293)1654 module_eval(<<'.,.,', 'parser.y', 336) 1612 1655 def _reduce_45(val, _values, result) 1613 1656 result = val[1] … … 1617 1660 .,., 1618 1661 1619 module_eval(<<'.,.,', 'parser.y', 299)1662 module_eval(<<'.,.,', 'parser.y', 342) 1620 1663 def _reduce_46(val, _values, result) 1621 1664 result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] } … … 1627 1670 # reduce 47 omitted 1628 1671 1629 module_eval(<<'.,.,', 'parser.y', 3 06)1672 module_eval(<<'.,.,', 'parser.y', 349) 1630 1673 def _reduce_48(val, _values, result) 1631 1674 result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot| … … 1640 1683 .,., 1641 1684 1642 module_eval(<<'.,.,', 'parser.y', 3 15)1685 module_eval(<<'.,.,', 'parser.y', 358) 1643 1686 def _reduce_49(val, _values, result) 1644 1687 result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]} … … 1648 1691 .,., 1649 1692 1650 module_eval(<<'.,.,', 'parser.y', 3 20)1693 module_eval(<<'.,.,', 'parser.y', 363) 1651 1694 def _reduce_50(val, _values, result) 1652 1695 result = val[1] … … 1660 1703 # reduce 52 omitted 1661 1704 1662 module_eval(<<'.,.,', 'parser.y', 3 28)1705 module_eval(<<'.,.,', 'parser.y', 371) 1663 1706 def _reduce_53(val, _values, result) 1664 1707 assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)} … … 1671 1714 .,., 1672 1715 1673 module_eval(<<'.,.,', 'parser.y', 3 36)1716 module_eval(<<'.,.,', 'parser.y', 379) 1674 1717 def _reduce_54(val, _values, result) 1675 1718 @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}") … … 1684 1727 .,., 1685 1728 1686 module_eval(<<'.,.,', 'parser.y', 3 45)1729 module_eval(<<'.,.,', 'parser.y', 388) 1687 1730 def _reduce_55(val, _values, result) 1688 1731 @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}") … … 1693 1736 .,., 1694 1737 1695 module_eval(<<'.,.,', 'parser.y', 3 50)1738 module_eval(<<'.,.,', 'parser.y', 393) 1696 1739 def _reduce_56(val, _values, result) 1697 1740 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}") … … 1702 1745 .,., 1703 1746 1704 module_eval(<<'.,.,', 'parser.y', 3 55)1747 module_eval(<<'.,.,', 'parser.y', 398) 1705 1748 def _reduce_57(val, _values, result) 1706 1749 @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}") … … 1711 1754 .,., 1712 1755 1713 module_eval(<<'.,.,', 'parser.y', 360)1756 module_eval(<<'.,.,', 'parser.y', 403) 1714 1757 def _reduce_58(val, _values, result) 1715 1758 @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}") … … 1720 1763 .,., 1721 1764 1722 module_eval(<<'.,.,', 'parser.y', 365)1765 module_eval(<<'.,.,', 'parser.y', 408) 1723 1766 def _reduce_59(val, _values, result) 1724 1767 @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}") … … 1729 1772 .,., 1730 1773 1731 module_eval(<<'.,.,', 'parser.y', 370)1774 module_eval(<<'.,.,', 'parser.y', 413) 1732 1775 def _reduce_60(val, _values, result) 1733 1776 @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}") … … 1738 1781 .,., 1739 1782 1740 module_eval(<<'.,.,', 'parser.y', 375)1783 module_eval(<<'.,.,', 'parser.y', 418) 1741 1784 def _reduce_61(val, _values, result) 1742 1785 assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)} … … 1750 1793 # reduce 62 omitted 1751 1794 1752 module_eval(<<'.,.,', 'parser.y', 387)1795 module_eval(<<'.,.,', 'parser.y', 430) 1753 1796 def _reduce_63(val, _values, result) 1754 1797 result = [val[0]] … … 1758 1801 .,., 1759 1802 1760 module_eval(<<'.,.,', 'parser.y', 391)1803 module_eval(<<'.,.,', 'parser.y', 434) 1761 1804 def _reduce_64(val, _values, result) 1762 1805 result = (val[0] << val[1]) … … 1766 1809 .,., 1767 1810 1768 module_eval(<<'.,.,', 'parser.y', 397)1811 module_eval(<<'.,.,', 'parser.y', 440) 1769 1812 def _reduce_65(val, _values, result) 1770 1813 @@logger.debug("#{__FILE__}:#{__LINE__}:c_attribute: #{val[0]} matches #{val[3]}") … … 1778 1821 .,., 1779 1822 1780 module_eval(<<'.,.,', 'parser.y', 4 05)1823 module_eval(<<'.,.,', 'parser.y', 448) 1781 1824 def _reduce_66(val, _values, result) 1782 1825 @@logger.debug("c_attribute: #{val[0]} matches #{val[3]}}") … … 1788 1831 .,., 1789 1832 1790 module_eval(<<'.,.,', 'parser.y', 4 12)1833 module_eval(<<'.,.,', 'parser.y', 455) 1791 1834 def _reduce_67(val, _values, result) 1792 1835 @@logger.debug("c_attribute: #{val[0]} matches #{val[5]}}") … … 1798 1841 .,., 1799 1842 1800 module_eval(<<'.,.,', 'parser.y', 4 18)1843 module_eval(<<'.,.,', 'parser.y', 461) 1801 1844 def _reduce_68(val, _values, result) 1802 1845 assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)} … … 1807 1850 .,., 1808 1851 1809 module_eval(<<'.,.,', 'parser.y', 4 25)1852 module_eval(<<'.,.,', 'parser.y', 468) 1810 1853 def _reduce_69(val, _values, result) 1811 1854 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") … … 1820 1863 .,., 1821 1864 1822 module_eval(<<'.,.,', 'parser.y', 4 34)1865 module_eval(<<'.,.,', 'parser.y', 477) 1823 1866 def _reduce_70(val, _values, result) 1824 1867 assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) } … … 1834 1877 .,., 1835 1878 1836 module_eval(<<'.,.,', 'parser.y', 4 45)1879 module_eval(<<'.,.,', 'parser.y', 488) 1837 1880 def _reduce_71(val, _values, result) 1838 1881 result = Array[val[0]] … … 1842 1885 .,., 1843 1886 1844 module_eval(<<'.,.,', 'parser.y', 4 49)1887 module_eval(<<'.,.,', 'parser.y', 492) 1845 1888 def _reduce_72(val, _values, result) 1846 1889 result = (val[0] << val[1]) … … 1850 1893 .,., 1851 1894 1852 module_eval(<<'.,.,', 'parser.y', 4 53)1895 module_eval(<<'.,.,', 'parser.y', 496) 1853 1896 def _reduce_73(val, _values, result) 1854 1897 result = Array[val[0]] … … 1860 1903 # reduce 74 omitted 1861 1904 1862 module_eval(<<'.,.,', 'parser.y', 459)1905 module_eval(<<'.,.,', 'parser.y', 502) 1863 1906 def _reduce_75(val, _values, result) 1864 1907 @@logger.debug("#{__FILE__}:#{__LINE__}: c_includes: assertions = #{val[1]}") … … 1871 1914 # reduce 76 omitted 1872 1915 1873 module_eval(<<'.,.,', 'parser.y', 468)1916 module_eval(<<'.,.,', 'parser.y', 511) 1874 1917 def _reduce_77(val, _values, result) 1875 1918 @@logger.debug("#{__FILE__}:#{__LINE__}: c_excludes: assertions = #{val[1]}") … … 1896 1939 # reduce 85 omitted 1897 1940 1898 module_eval(<<'.,.,', 'parser.y', 491)1941 module_eval(<<'.,.,', 'parser.y', 534) 1899 1942 def _reduce_86(val, _values, result) 1900 1943 dadl_section = val[1] … … 1909 1952 # reduce 88 omitted 1910 1953 1911 module_eval(<<'.,.,', 'parser.y', 5 01)1954 module_eval(<<'.,.,', 'parser.y', 544) 1912 1955 def _reduce_89(val, _values, result) 1913 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}")1956 #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}") 1914 1957 result = val[0] 1915 1958 … … 1918 1961 .,., 1919 1962 1920 module_eval(<<'.,.,', 'parser.y', 5 06)1963 module_eval(<<'.,.,', 'parser.y', 549) 1921 1964 def _reduce_90(val, _values, result) 1922 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}")1965 #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}") 1923 1966 result = val[0] 1924 1967 … … 1927 1970 .,., 1928 1971 1929 module_eval(<<'.,.,', 'parser.y', 5 13)1972 module_eval(<<'.,.,', 'parser.y', 556) 1930 1973 def _reduce_91(val, _values, result) 1931 1974 result = Array[val[0]] … … 1935 1978 .,., 1936 1979 1937 module_eval(<<'.,.,', 'parser.y', 5 17)1980 module_eval(<<'.,.,', 'parser.y', 560) 1938 1981 def _reduce_92(val, _values, result) 1939 1982 result = (val[0] << val[1]) … … 1943 1986 .,., 1944 1987 1945 module_eval(<<'.,.,', 'parser.y', 5 21)1988 module_eval(<<'.,.,', 'parser.y', 564) 1946 1989 def _reduce_93(val, _values, result) 1947 1990 result = (val[0] << val[2]) … … 1951 1994 .,., 1952 1995 1953 module_eval(<<'.,.,', 'parser.y', 5 26)1996 module_eval(<<'.,.,', 'parser.y', 569) 1954 1997 def _reduce_94(val, _values, result) 1955 1998 @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0]}, object_block = #{val[1]}") … … 1960 2003 .,., 1961 2004 1962 module_eval(<<'.,.,', 'parser.y', 5 32)2005 module_eval(<<'.,.,', 'parser.y', 575) 1963 2006 def _reduce_95(val, _values, result) 1964 2007 @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}") … … 1971 2014 # reduce 96 omitted 1972 2015 1973 module_eval(<<'.,.,', 'parser.y', 5 39)2016 module_eval(<<'.,.,', 'parser.y', 582) 1974 2017 def _reduce_97(val, _values, result) 1975 2018 result = val[0] … … 1979 2022 .,., 1980 2023 1981 module_eval(<<'.,.,', 'parser.y', 5 43)2024 module_eval(<<'.,.,', 'parser.y', 586) 1982 2025 def _reduce_98(val, _values, result) 1983 2026 result = val[0] … … 1987 2030 .,., 1988 2031 1989 module_eval(<<'.,.,', 'parser.y', 5 48)2032 module_eval(<<'.,.,', 'parser.y', 591) 1990 2033 def _reduce_99(val, _values, result) 1991 2034 result = val[0] … … 1995 2038 .,., 1996 2039 1997 module_eval(<<'.,.,', 'parser.y', 5 52)2040 module_eval(<<'.,.,', 'parser.y', 595) 1998 2041 def _reduce_100(val, _values, result) 1999 2042 result = val[0] … … 2003 2046 .,., 2004 2047 2005 module_eval(<<'.,.,', 'parser.y', 557)2048 module_eval(<<'.,.,', 'parser.y', 600) 2006 2049 def _reduce_101(val, _values, result) 2007 2050 result = {:untyped_multiple_attr_object_block => val[0]} … … 2011 2054 .,., 2012 2055 2013 module_eval(<<'.,.,', 'parser.y', 561)2056 module_eval(<<'.,.,', 'parser.y', 604) 2014 2057 def _reduce_102(val, _values, result) 2015 2058 result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]} … … 2019 2062 .,., 2020 2063 2021 module_eval(<<'.,.,', 'parser.y', 566)2064 module_eval(<<'.,.,', 'parser.y', 609) 2022 2065 def _reduce_103(val, _values, result) 2023 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}2024 2025 result 2026 end 2027 .,., 2028 2029 module_eval(<<'.,.,', 'parser.y', 571)2066 result = val[1] 2067 2068 result 2069 end 2070 .,., 2071 2072 module_eval(<<'.,.,', 'parser.y', 614) 2030 2073 def _reduce_104(val, _values, result) 2031 2074 result = val[0] … … 2035 2078 .,., 2036 2079 2037 module_eval(<<'.,.,', 'parser.y', 576)2080 module_eval(<<'.,.,', 'parser.y', 619) 2038 2081 def _reduce_105(val, _values, result) 2039 2082 result = Array[val[0]] … … 2043 2086 .,., 2044 2087 2045 module_eval(<<'.,.,', 'parser.y', 580)2088 module_eval(<<'.,.,', 'parser.y', 623) 2046 2089 def _reduce_106(val, _values, result) 2047 2090 result = (val[0] << val[1]) … … 2051 2094 .,., 2052 2095 2053 module_eval(<<'.,.,', 'parser.y', 585)2096 module_eval(<<'.,.,', 'parser.y', 628) 2054 2097 def _reduce_107(val, _values, result) 2055 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 2056 result = {:object_key => val[0], :object_block => val[2]} 2057 2058 result 2059 end 2060 .,., 2061 2062 module_eval(<<'.,.,', 'parser.y', 591) 2098 #@@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 2099 #result = {:object_key => val[0], :object_block => val[2]} 2100 unless val[2][:type_identifier] 2101 result = Hash[val[0] => val[2][:untyped_primitive_object_block]] 2102 else 2103 raise OpenEhr::ADL::Exception::Parser::Error, "Missing type_identifier at #{@filename}:#{@lineno} " 2104 end 2105 2106 result 2107 end 2108 .,., 2109 2110 module_eval(<<'.,.,', 'parser.y', 639) 2063 2111 def _reduce_108(val, _values, result) 2064 2112 @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") … … 2069 2117 .,., 2070 2118 2071 module_eval(<<'.,.,', 'parser.y', 597)2119 module_eval(<<'.,.,', 'parser.y', 645) 2072 2120 def _reduce_109(val, _values, result) 2073 2121 result = {:untyped_single_attr_object_block => val[0]} … … 2077 2125 .,., 2078 2126 2079 module_eval(<<'.,.,', 'parser.y', 6 01)2127 module_eval(<<'.,.,', 'parser.y', 649) 2080 2128 def _reduce_110(val, _values, result) 2081 2129 result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]} … … 2085 2133 .,., 2086 2134 2087 module_eval(<<'.,.,', 'parser.y', 6 06)2135 module_eval(<<'.,.,', 'parser.y', 654) 2088 2136 def _reduce_111(val, _values, result) 2089 2137 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") 2090 result = {:single_attr_object_complex_head => val[0]} 2091 2092 result 2093 end 2094 .,., 2095 2096 module_eval(<<'.,.,', 'parser.y', 611) 2138 #result = {:single_attr_object_complex_head => val[0]} 2139 result = [] 2140 2141 result 2142 end 2143 .,., 2144 2145 module_eval(<<'.,.,', 'parser.y', 660) 2097 2146 def _reduce_112(val, _values, result) 2098 2147 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}") 2099 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 2148 #result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 2149 result = val[1] 2100 2150 2101 2151 result … … 2105 2155 # reduce 113 omitted 2106 2156 2107 module_eval(<<'.,.,', 'parser.y', 6 17)2157 module_eval(<<'.,.,', 'parser.y', 667) 2108 2158 def _reduce_114(val, _values, result) 2109 2159 @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}") … … 2114 2164 .,., 2115 2165 2116 module_eval(<<'.,.,', 'parser.y', 6 22)2166 module_eval(<<'.,.,', 'parser.y', 672) 2117 2167 def _reduce_115(val, _values, result) 2118 2168 @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}") … … 2123 2173 .,., 2124 2174 2125 module_eval(<<'.,.,', 'parser.y', 6 27)2175 module_eval(<<'.,.,', 'parser.y', 677) 2126 2176 def _reduce_116(val, _values, result) 2127 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")2177 #@@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") 2128 2178 result = val[1] 2129 2179 … … 2132 2182 .,., 2133 2183 2134 module_eval(<<'.,.,', 'parser.y', 6 32)2184 module_eval(<<'.,.,', 'parser.y', 682) 2135 2185 def _reduce_117(val, _values, result) 2136 2186 result = val[0] … … 2140 2190 .,., 2141 2191 2142 module_eval(<<'.,.,', 'parser.y', 6 36)2192 module_eval(<<'.,.,', 'parser.y', 686) 2143 2193 def _reduce_118(val, _values, result) 2144 2194 result = val[0] … … 2148 2198 .,., 2149 2199 2150 module_eval(<<'.,.,', 'parser.y', 6 40)2200 module_eval(<<'.,.,', 'parser.y', 690) 2151 2201 def _reduce_119(val, _values, result) 2152 2202 result = val[0] … … 2156 2206 .,., 2157 2207 2158 module_eval(<<'.,.,', 'parser.y', 6 44)2208 module_eval(<<'.,.,', 'parser.y', 694) 2159 2209 def _reduce_120(val, _values, result) 2160 2210 result = val[0] … … 2164 2214 .,., 2165 2215 2166 module_eval(<<'.,.,', 'parser.y', 6 48)2216 module_eval(<<'.,.,', 'parser.y', 698) 2167 2217 def _reduce_121(val, _values, result) 2168 2218 result = val[0] … … 2172 2222 .,., 2173 2223 2174 module_eval(<<'.,.,', 'parser.y', 652)2224 module_eval(<<'.,.,', 'parser.y', 702) 2175 2225 def _reduce_122(val, _values, result) 2176 2226 @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2181 2231 .,., 2182 2232 2183 module_eval(<<'.,.,', 'parser.y', 657)2233 module_eval(<<'.,.,', 'parser.y', 707) 2184 2234 def _reduce_123(val, _values, result) 2185 2235 @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2190 2240 .,., 2191 2241 2192 module_eval(<<'.,.,', 'parser.y', 662)2242 module_eval(<<'.,.,', 'parser.y', 712) 2193 2243 def _reduce_124(val, _values, result) 2194 2244 @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2199 2249 .,., 2200 2250 2201 module_eval(<<'.,.,', 'parser.y', 667)2251 module_eval(<<'.,.,', 'parser.y', 717) 2202 2252 def _reduce_125(val, _values, result) 2203 2253 @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2208 2258 .,., 2209 2259 2210 module_eval(<<'.,.,', 'parser.y', 672)2260 module_eval(<<'.,.,', 'parser.y', 722) 2211 2261 def _reduce_126(val, _values, result) 2212 2262 @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2217 2267 .,., 2218 2268 2219 module_eval(<<'.,.,', 'parser.y', 677)2269 module_eval(<<'.,.,', 'parser.y', 727) 2220 2270 def _reduce_127(val, _values, result) 2221 2271 @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2226 2276 .,., 2227 2277 2228 module_eval(<<'.,.,', 'parser.y', 682)2278 module_eval(<<'.,.,', 'parser.y', 732) 2229 2279 def _reduce_128(val, _values, result) 2230 2280 @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2235 2285 .,., 2236 2286 2237 module_eval(<<'.,.,', 'parser.y', 687)2287 module_eval(<<'.,.,', 'parser.y', 737) 2238 2288 def _reduce_129(val, _values, result) 2239 2289 @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2244 2294 .,., 2245 2295 2246 module_eval(<<'.,.,', 'parser.y', 692)2296 module_eval(<<'.,.,', 'parser.y', 742) 2247 2297 def _reduce_130(val, _values, result) 2248 2298 @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2253 2303 .,., 2254 2304 2255 module_eval(<<'.,.,', 'parser.y', 697)2305 module_eval(<<'.,.,', 'parser.y', 747) 2256 2306 def _reduce_131(val, _values, result) 2257 2307 @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2262 2312 .,., 2263 2313 2264 module_eval(<<'.,.,', 'parser.y', 7 03)2314 module_eval(<<'.,.,', 'parser.y', 753) 2265 2315 def _reduce_132(val, _values, result) 2266 2316 @@logger.debug("string_list_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2271 2321 .,., 2272 2322 2273 module_eval(<<'.,.,', 'parser.y', 7 08)2323 module_eval(<<'.,.,', 'parser.y', 758) 2274 2324 def _reduce_133(val, _values, result) 2275 2325 result = val[0] … … 2279 2329 .,., 2280 2330 2281 module_eval(<<'.,.,', 'parser.y', 7 12)2331 module_eval(<<'.,.,', 'parser.y', 762) 2282 2332 def _reduce_134(val, _values, result) 2283 2333 result = val[0] … … 2287 2337 .,., 2288 2338 2289 module_eval(<<'.,.,', 'parser.y', 7 16)2339 module_eval(<<'.,.,', 'parser.y', 766) 2290 2340 def _reduce_135(val, _values, result) 2291 2341 result = val[0] … … 2295 2345 .,., 2296 2346 2297 module_eval(<<'.,.,', 'parser.y', 7 20)2347 module_eval(<<'.,.,', 'parser.y', 770) 2298 2348 def _reduce_136(val, _values, result) 2299 2349 result = val[0] … … 2303 2353 .,., 2304 2354 2305 module_eval(<<'.,.,', 'parser.y', 7 24)2355 module_eval(<<'.,.,', 'parser.y', 774) 2306 2356 def _reduce_137(val, _values, result) 2307 2357 result = val[0] … … 2311 2361 .,., 2312 2362 2313 module_eval(<<'.,.,', 'parser.y', 7 28)2363 module_eval(<<'.,.,', 'parser.y', 778) 2314 2364 def _reduce_138(val, _values, result) 2315 2365 result = val[0] … … 2319 2369 .,., 2320 2370 2321 module_eval(<<'.,.,', 'parser.y', 7 32)2371 module_eval(<<'.,.,', 'parser.y', 782) 2322 2372 def _reduce_139(val, _values, result) 2323 2373 result = val[0] … … 2327 2377 .,., 2328 2378 2329 module_eval(<<'.,.,', 'parser.y', 7 36)2379 module_eval(<<'.,.,', 'parser.y', 786) 2330 2380 def _reduce_140(val, _values, result) 2331 2381 result = val[0] … … 2347 2397 # reduce 146 omitted 2348 2398 2349 module_eval(<<'.,.,', 'parser.y', 7 48)2399 module_eval(<<'.,.,', 'parser.y', 798) 2350 2400 def _reduce_147(val, _values, result) 2351 2401 @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2356 2406 .,., 2357 2407 2358 module_eval(<<'.,.,', 'parser.y', 753)2408 module_eval(<<'.,.,', 'parser.y', 803) 2359 2409 def _reduce_148(val, _values, result) 2360 2410 @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2365 2415 .,., 2366 2416 2367 module_eval(<<'.,.,', 'parser.y', 759)2417 module_eval(<<'.,.,', 'parser.y', 809) 2368 2418 def _reduce_149(val, _values, result) 2369 2419 @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") … … 2374 2424 .,., 2375 2425 2376 module_eval(<<'.,.,', 'parser.y', 765)2426 module_eval(<<'.,.,', 'parser.y', 815) 2377 2427 def _reduce_150(val, _values, result) 2378 2428 result = [val[0],val[2]] … … 2382 2432 .,., 2383 2433 2384 module_eval(<<'.,.,', 'parser.y', 769)2434 module_eval(<<'.,.,', 'parser.y', 819) 2385 2435 def _reduce_151(val, _values, result) 2386 2436 result = val[0] << val[2] … … 2390 2440 .,., 2391 2441 2392 module_eval(<<'.,.,', 'parser.y', 773)2442 module_eval(<<'.,.,', 'parser.y', 823) 2393 2443 def _reduce_152(val, _values, result) 2394 2444 result = val[0] … … 2398 2448 .,., 2399 2449 2400 module_eval(<<'.,.,', 'parser.y', 778)2450 module_eval(<<'.,.,', 'parser.y', 828) 2401 2451 def _reduce_153(val, _values, result) 2402 2452 begin … … 2411 2461 .,., 2412 2462 2413 module_eval(<<'.,.,', 'parser.y', 787)2463 module_eval(<<'.,.,', 'parser.y', 837) 2414 2464 def _reduce_154(val, _values, result) 2415 2465 begin … … 2424 2474 .,., 2425 2475 2426 module_eval(<<'.,.,', 'parser.y', 796)2476 module_eval(<<'.,.,', 'parser.y', 846) 2427 2477 def _reduce_155(val, _values, result) 2428 2478 begin … … 2461 2511 # reduce 167 omitted 2462 2512 2463 module_eval(<<'.,.,', 'parser.y', 8 20)2513 module_eval(<<'.,.,', 'parser.y', 870) 2464 2514 def _reduce_168(val, _values, result) 2465 2515 begin … … 2474 2524 .,., 2475 2525 2476 module_eval(<<'.,.,', 'parser.y', 8 29)2526 module_eval(<<'.,.,', 'parser.y', 879) 2477 2527 def _reduce_169(val, _values, result) 2478 2528 begin … … 2487 2537 .,., 2488 2538 2489 module_eval(<<'.,.,', 'parser.y', 8 38)2539 module_eval(<<'.,.,', 'parser.y', 888) 2490 2540 def _reduce_170(val, _values, result) 2491 2541 begin … … 2524 2574 # reduce 182 omitted 2525 2575 2526 module_eval(<<'.,.,', 'parser.y', 863)2576 module_eval(<<'.,.,', 'parser.y', 913) 2527 2577 def _reduce_183(val, _values, result) 2528 2578 result = true … … 2532 2582 .,., 2533 2583 2534 module_eval(<<'.,.,', 'parser.y', 867)2584 module_eval(<<'.,.,', 'parser.y', 917) 2535 2585 def _reduce_184(val, _values, result) 2536 2586 result = false … … 2554 2604 # reduce 191 omitted 2555 2605 2556 module_eval(<<'.,.,', 'parser.y', 882)2606 module_eval(<<'.,.,', 'parser.y', 932) 2557 2607 def _reduce_192(val, _values, result) 2558 2608 result = val[0] … … 2612 2662 # reduce 217 omitted 2613 2663 2614 module_eval(<<'.,.,', 'parser.y', 9 17)2664 module_eval(<<'.,.,', 'parser.y', 967) 2615 2665 def _reduce_218(val, _values, result) 2616 2666 @@logger.debug("V_ISO8601_EXTENDED_DATE_TIME: #{val[0]} at #{@filename}:#{@lineno}") … … 2645 2695 # reduce 230 omitted 2646 2696 2647 module_eval(<<'.,.,', 'parser.y', 9 37)2697 module_eval(<<'.,.,', 'parser.y', 987) 2648 2698 def _reduce_231(val, _values, result) 2649 2699 @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") … … 2678 2728 # reduce 243 omitted 2679 2729 2680 module_eval(<<'.,.,', 'parser.y', 957)2730 module_eval(<<'.,.,', 'parser.y', 1007) 2681 2731 def _reduce_244(val, _values, result) 2682 2732 @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") … … 2693 2743 # reduce 247 omitted 2694 2744 2695 module_eval(<<'.,.,', 'parser.y', 967)2745 module_eval(<<'.,.,', 'parser.y', 1017) 2696 2746 def _reduce_248(val, _values, result) 2697 2747 @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") … … 2718 2768 # reduce 256 omitted 2719 2769 2720 module_eval(<<'.,.,', 'parser.y', 990)2770 module_eval(<<'.,.,', 'parser.y', 1040) 2721 2771 def _reduce_257(val, _values, result) 2722 2772 @@logger.debug("#{__FILE__}:#{__LINE__}, boolean_node: relative_path = #{val[0]}, regexp_body => #{val[3]} at #{@filename}") … … 2783 2833 # reduce 285 omitted 2784 2834 2785 module_eval(<<'.,.,', 'parser.y', 10 37)2835 module_eval(<<'.,.,', 'parser.y', 1087) 2786 2836 def _reduce_286(val, _values, result) 2787 2837 @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}") … … 2792 2842 .,., 2793 2843 2794 module_eval(<<'.,.,', 'parser.y', 10 42)2844 module_eval(<<'.,.,', 'parser.y', 1092) 2795 2845 def _reduce_287(val, _values, result) 2796 2846 @@logger.debug("#{__FILE__}:#{__LINE__}, relative_path = #{val[0]}/#{val[2]}") … … 2801 2851 .,., 2802 2852 2803 module_eval(<<'.,.,', 'parser.y', 10 48)2853 module_eval(<<'.,.,', 'parser.y', 1098) 2804 2854 def _reduce_288(val, _values, result) 2805 2855 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2810 2860 .,., 2811 2861 2812 module_eval(<<'.,.,', 'parser.y', 1 053)2862 module_eval(<<'.,.,', 'parser.y', 1103) 2813 2863 def _reduce_289(val, _values, result) 2814 2864 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2819 2869 .,., 2820 2870 2821 module_eval(<<'.,.,', 'parser.y', 1 065)2871 module_eval(<<'.,.,', 'parser.y', 1115) 2822 2872 def _reduce_290(val, _values, result) 2823 2873 result = Range.new(1,1) … … 2827 2877 .,., 2828 2878 2829 module_eval(<<'.,.,', 'parser.y', 1 069)2879 module_eval(<<'.,.,', 'parser.y', 1119) 2830 2880 def _reduce_291(val, _values, result) 2831 2881 result = val[3] … … 2835 2885 .,., 2836 2886 2837 module_eval(<<'.,.,', 'parser.y', 1 074)2887 module_eval(<<'.,.,', 'parser.y', 1124) 2838 2888 def _reduce_292(val, _values, result) 2839 2889 begin … … 2848 2898 .,., 2849 2899 2850 module_eval(<<'.,.,', 'parser.y', 1 083)2900 module_eval(<<'.,.,', 'parser.y', 1133) 2851 2901 def _reduce_293(val, _values, result) 2852 2902 begin … … 2862 2912 .,., 2863 2913 2864 module_eval(<<'.,.,', 'parser.y', 1 094)2914 module_eval(<<'.,.,', 'parser.y', 1144) 2865 2915 def _reduce_294(val, _values, result) 2866 2916 result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new … … 2870 2920 .,., 2871 2921 2872 module_eval(<<'.,.,', 'parser.y', 1 099)2922 module_eval(<<'.,.,', 'parser.y', 1149) 2873 2923 def _reduce_295(val, _values, result) 2874 2924 result = val[0] … … 2892 2942 # reduce 302 omitted 2893 2943 2894 module_eval(<<'.,.,', 'parser.y', 11 11)2944 module_eval(<<'.,.,', 'parser.y', 1161) 2895 2945 def _reduce_303(val, _values, result) 2896 2946 result = val[0] … … 2900 2950 .,., 2901 2951 2902 module_eval(<<'.,.,', 'parser.y', 11 15)2952 module_eval(<<'.,.,', 'parser.y', 1165) 2903 2953 def _reduce_304(val, _values, result) 2904 2954 result = val[0] … … 2910 2960 # reduce 305 omitted 2911 2961 2912 module_eval(<<'.,.,', 'parser.y', 11 22)2962 module_eval(<<'.,.,', 'parser.y', 1172) 2913 2963 def _reduce_306(val, _values, result) 2914 2964 case val[3] … … 2925 2975 # reduce 307 omitted 2926 2976 2927 module_eval(<<'.,.,', 'parser.y', 11 33)2977 module_eval(<<'.,.,', 'parser.y', 1183) 2928 2978 def _reduce_308(val, _values, result) 2929 2979 result = val[0] … … 2933 2983 .,., 2934 2984 2935 module_eval(<<'.,.,', 'parser.y', 11 37)2985 module_eval(<<'.,.,', 'parser.y', 1187) 2936 2986 def _reduce_309(val, _values, result) 2937 2987 result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2]) … … 3027 3077 # reduce 352 omitted 3028 3078 3029 module_eval(<<'.,.,', 'parser.y', 12 03)3079 module_eval(<<'.,.,', 'parser.y', 1253) 3030 3080 def _reduce_353(val, _values, result) 3031 3081 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true) … … 3035 3085 .,., 3036 3086 3037 module_eval(<<'.,.,', 'parser.y', 12 07)3087 module_eval(<<'.,.,', 'parser.y', 1257) 3038 3088 def _reduce_354(val, _values, result) 3039 3089 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false) … … 3043 3093 .,., 3044 3094 3045 module_eval(<<'.,.,', 'parser.y', 12 11)3095 module_eval(<<'.,.,', 'parser.y', 1261) 3046 3096 def _reduce_355(val, _values, result) 3047 3097 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false) … … 3051 3101 .,., 3052 3102 3053 module_eval(<<'.,.,', 'parser.y', 12 15)3103 module_eval(<<'.,.,', 'parser.y', 1265) 3054 3104 def _reduce_356(val, _values, result) 3055 3105 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true) … … 3059 3109 .,., 3060 3110 3061 module_eval(<<'.,.,', 'parser.y', 12 20)3111 module_eval(<<'.,.,', 'parser.y', 1270) 3062 3112 def _reduce_357(val, _values, result) 3063 3113 result = val[0] … … 3067 3117 .,., 3068 3118 3069 module_eval(<<'.,.,', 'parser.y', 12 24)3119 module_eval(<<'.,.,', 'parser.y', 1274) 3070 3120 def _reduce_358(val, _values, result) 3071 3121 result = val[0] … … 3076 3126 .,., 3077 3127 3078 module_eval(<<'.,.,', 'parser.y', 12 29)3128 module_eval(<<'.,.,', 'parser.y', 1279) 3079 3129 def _reduce_359(val, _values, result) 3080 3130 raise 'Not implemented yet' … … 3094 3144 # reduce 364 omitted 3095 3145 3096 module_eval(<<'.,.,', 'parser.y', 12 41)3146 module_eval(<<'.,.,', 'parser.y', 1291) 3097 3147 def _reduce_365(val, _values, result) 3098 3148 @in_interval = false … … 3103 3153 .,., 3104 3154 3105 module_eval(<<'.,.,', 'parser.y', 12 48)3155 module_eval(<<'.,.,', 'parser.y', 1298) 3106 3156 def _reduce_366(val, _values, result) 3107 3157 result = val[0] … … 3111 3161 .,., 3112 3162 3113 module_eval(<<'.,.,', 'parser.y', 1 252)3163 module_eval(<<'.,.,', 'parser.y', 1302) 3114 3164 def _reduce_367(val, _values, result) 3115 3165 result = val[0] … … 3119 3169 .,., 3120 3170 3121 module_eval(<<'.,.,', 'parser.y', 1 258)3171 module_eval(<<'.,.,', 'parser.y', 1308) 3122 3172 def _reduce_368(val, _values, result) 3123 3173 @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}") … … 3136 3186 # reduce 371 omitted 3137 3187 3138 module_eval(<<'.,.,', 'parser.y', 1 274)3188 module_eval(<<'.,.,', 'parser.y', 1324) 3139 3189 def _reduce_372(val, _values, result) 3140 3190 result = val[0] … … 3144 3194 .,., 3145 3195 3146 module_eval(<<'.,.,', 'parser.y', 1 279)3196 module_eval(<<'.,.,', 'parser.y', 1329) 3147 3197 def _reduce_373(val, _values, result) 3148 3198 result = val[0] … … 3152 3202 .,., 3153 3203 3154 module_eval(<<'.,.,', 'parser.y', 1 283)3204 module_eval(<<'.,.,', 'parser.y', 1333) 3155 3205 def _reduce_374(val, _values, result) 3156 3206 @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") … … 3161 3211 .,., 3162 3212 3163 module_eval(<<'.,.,', 'parser.y', 1 294)3213 module_eval(<<'.,.,', 'parser.y', 1344) 3164 3214 def _reduce_375(val, _values, result) 3165 3215 result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0] -
ruby/trunk/lib/adl_parser/lib/parser.y
r323 r326 123 123 arch_language: #-- empty is ok for ADL 1.4 tools 124 124 { 125 result = {:arch_language => nil}125 result = {:arch_language => ""} 126 126 } 127 127 | SYM_LANGUAGE dadl_section 128 128 { 129 result = {:arch_language => val[1]} 129 if val[1][0][:attr_id] == "original_language" 130 result = {:arch_language => val[1][0][:object_block][:untyped_primitive_object_block]} 131 else 132 raise OpenEhr::ADL::Exception::Parser::Error, "It should be 'original_language' at #{@filename}:#{@lineno} " 133 end 130 134 } 131 135 | SYM_LANGUAGE error … … 138 142 | SYM_DESCRIPTION dadl_section 139 143 { 140 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 144 args = Hash.new 145 val[1].each do |item| 146 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: item[:object_block] = #{item[:object_block].to_yaml} at #{@filename}:#{@lineno}") 147 case item[:attr_id] 148 when "original_author" 149 unless item[:object_block][:type_identifier] 150 args.merge!(Hash[:original_author => item[:object_block][:untyped_multiple_attr_object_block]]) 151 else 152 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 153 end 154 when "details" 155 unless item[:object_block][:type_identifier] 156 args.merge!(Hash[:details => item[:object_block][:untyped_multiple_attr_object_block]]) 157 else 158 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 159 end 160 when "lifecycle_state" 161 unless item[:object_block][:type_identifier] 162 args.merge!(Hash[:lifecycle_state => item[:object_block][:untyped_primitive_object_block]]) 163 else 164 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 165 end 166 when "other_contributors" 167 unless item[:object_block][:type_identifier] 168 args.merge!(Hash[:other_contributors => item[:object_block][:untyped_multiple_attr_object_block]]) 169 else 170 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 171 end 172 when "other_details" 173 unless item[:object_block][:type_identifier] 174 args.merge!(Hash[:other_contributors => item[:object_block][:untyped_multiple_attr_object_block]]) 175 else 176 raise OpenEhr::ADL::Exception::Parser::Error, "Needless type_identifier at #{@filename}:#{@lineno} " 177 end 178 else 179 raise OpenEhr::ADL::Exception::Parser::Error, "Unknown case #{item[:attr_id]} at #{@filename}:#{@lineno} " 180 end 181 end 182 @@logger.debug("#{__FILE__}:#{__LINE__}: arch_description: args = \n#{args.to_yaml} at #{@filename}:#{@lineno}") 183 result = OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(args) 141 184 } 142 185 | SYM_DESCRIPTION error … … 500 543 | attr_vals 501 544 { 502 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}")545 #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}") 503 546 result = val[0] 504 547 } 505 548 | complex_object_block 506 549 { 507 @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}")550 #@@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}") 508 551 result = val[0] 509 552 } … … 565 608 untyped_multiple_attr_object_block: multiple_attr_object_block_head keyed_objects SYM_END_DBLOCK 566 609 { 567 result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}610 result = val[1] 568 611 } 569 612 … … 584 627 keyed_object: object_key SYM_EQ object_block 585 628 { 586 @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 587 result = {:object_key => val[0], :object_block => val[2]} 629 #@@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}") 630 #result = {:object_key => val[0], :object_block => val[2]} 631 unless val[2][:type_identifier] 632 result = Hash[val[0] => val[2][:untyped_primitive_object_block]] 633 else 634 raise OpenEhr::ADL::Exception::Parser::Error, "Missing type_identifier at #{@filename}:#{@lineno} " 635 end 588 636 } 589 637 … … 606 654 { 607 655 @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}") 608 result = {:single_attr_object_complex_head => val[0]} 656 #result = {:single_attr_object_complex_head => val[0]} 657 result = [] 609 658 } 610 659 | single_attr_object_complex_head attr_vals SYM_END_DBLOCK 611 660 { 612 661 @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}") 613 result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 662 #result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]} 663 result = val[1] 614 664 } 615 665 single_attr_object_complex_head: SYM_START_DBLOCK … … 626 676 untyped_primitive_object_block: SYM_START_DBLOCK primitive_object_value SYM_END_DBLOCK 627 677 { 628 @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")678 #@@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}") 629 679 result = val[1] 630 680 }
Note:
See TracChangeset
for help on using the changeset viewer.