Commit 7d726834f2b01c07c8d7b903aa6c219c206cba20

Authored by Alain Prouté
1 parent ae0be9fa

*** empty log message ***

anubis_dev/compiler/src/lex.yy.c
... ... @@ -1004,7 +1004,7 @@ char *fopensrc_abs_path;
1004 1004 /* Similarly, the new current directory is found here. It is also allocated each time a
1005 1005 source file is opened. */
1006 1006 char *fopensrc_cur_dir;
1007   -
  1007 +
1008 1008 extern void includePathsCheckFile(char *name);
1009 1009  
1010 1010 /* open an Anubis source file. */
... ... @@ -1086,7 +1086,8 @@ FILE *fopensrc(char *name)
1086 1086 return NULL;
1087 1087 }
1088 1088  
1089   -
  1089 +
  1090 +
1090 1091  
1091 1092  
1092 1093 /* managing visibility of files */
... ... @@ -1401,7 +1402,7 @@ static char *rec_name(char *s, int del)
1401 1402 /* state STRTL is used when a string is too long. */
1402 1403 /* states CONF and CONFCOM are used to read 'compiler.conf'.*/
1403 1404 /* the lexer ----------------------------------------------------------------------------*/
1404   -#line 1398 "lex.yy.c"
  1405 +#line 1406 "lex.yy.c"
1405 1406  
1406 1407 /* Macros after this point can all be overridden by user definitions in
1407 1408 * section 1.
... ... @@ -1566,9 +1567,9 @@ YY_DECL
1566 1567 register char *yy_cp, *yy_bp;
1567 1568 register int yy_act;
1568 1569  
1569   -#line 566 "lexer.y"
  1570 +#line 574 "lexer.y"
1570 1571  
1571   -#line 1565 "lex.yy.c"
  1572 +#line 1573 "lex.yy.c"
1572 1573  
1573 1574 if ( yy_init )
1574 1575 {
... ... @@ -1654,27 +1655,27 @@ do_action: /* This label is used only to access EOF actions. */
1654 1655  
1655 1656 case 1:
1656 1657 YY_RULE_SETUP
1657   -#line 567 "lexer.y"
  1658 +#line 575 "lexer.y"
1658 1659 { comlevel = 1; BEGIN COM; }
1659 1660 YY_BREAK
1660 1661 case 2:
1661 1662 YY_RULE_SETUP
1662   -#line 568 "lexer.y"
  1663 +#line 576 "lexer.y"
1663 1664 { comlevel++; }
1664 1665 YY_BREAK
1665 1666 case 3:
1666 1667 YY_RULE_SETUP
1667   -#line 569 "lexer.y"
  1668 +#line 577 "lexer.y"
1668 1669 { comlevel--; if (!comlevel) { BEGIN PAR; } }
1669 1670 YY_BREAK
1670 1671 case 4:
1671 1672 YY_RULE_SETUP
1672   -#line 570 "lexer.y"
  1673 +#line 578 "lexer.y"
1673 1674 { }
1674 1675 YY_BREAK
1675 1676 case 5:
1676 1677 YY_RULE_SETUP
1677   -#line 571 "lexer.y"
  1678 +#line 579 "lexer.y"
1678 1679 { }
1679 1680 YY_BREAK
1680 1681 case 6:
... ... @@ -1682,17 +1683,17 @@ case 6:
1682 1683 yy_c_buf_p = yy_cp -= 1;
1683 1684 YY_DO_BEFORE_ACTION; /* set up yytext again */
1684 1685 YY_RULE_SETUP
1685   -#line 572 "lexer.y"
  1686 +#line 580 "lexer.y"
1686 1687 { /* dbl_slash_comment(yytext+2); */ }
1687 1688 YY_BREAK
1688 1689 case 7:
1689 1690 YY_RULE_SETUP
1690   -#line 573 "lexer.y"
  1691 +#line 581 "lexer.y"
1691 1692 { BEGIN STR; str_index = 0; }
1692 1693 YY_BREAK
1693 1694 case 8:
1694 1695 YY_RULE_SETUP
1695   -#line 574 "lexer.y"
  1696 +#line 582 "lexer.y"
1696 1697 { BEGIN PAR;
1697 1698 str_buf[str_index] = 0;
1698 1699 yylval.expr = new_string(str_buf);
... ... @@ -1700,598 +1701,598 @@ YY_RULE_SETUP
1700 1701 YY_BREAK
1701 1702 case 9:
1702 1703 YY_RULE_SETUP
1703   -#line 578 "lexer.y"
  1704 +#line 586 "lexer.y"
1704 1705 { store_str_char('\"'); }
1705 1706 YY_BREAK
1706 1707 case 10:
1707 1708 YY_RULE_SETUP
1708   -#line 579 "lexer.y"
  1709 +#line 587 "lexer.y"
1709 1710 { store_str_char('\n'); }
1710 1711 YY_BREAK
1711 1712 case 11:
1712 1713 YY_RULE_SETUP
1713   -#line 580 "lexer.y"
  1714 +#line 588 "lexer.y"
1714 1715 { store_str_char('\r'); }
1715 1716 YY_BREAK
1716 1717 case 12:
1717 1718 YY_RULE_SETUP
1718   -#line 581 "lexer.y"
  1719 +#line 589 "lexer.y"
1719 1720 { store_str_char('\t'); }
1720 1721 YY_BREAK
1721 1722 case 13:
1722 1723 YY_RULE_SETUP
1723   -#line 582 "lexer.y"
  1724 +#line 590 "lexer.y"
1724 1725 { store_str_char('\\'); }
1725 1726 YY_BREAK
1726 1727 case 14:
1727 1728 YY_RULE_SETUP
1728   -#line 583 "lexer.y"
  1729 +#line 591 "lexer.y"
1729 1730 { store_str_char('\n'); }
1730 1731 YY_BREAK
1731 1732 case 15:
1732 1733 YY_RULE_SETUP
1733   -#line 584 "lexer.y"
  1734 +#line 592 "lexer.y"
1734 1735 { store_str_char(yytext[0]); }
1735 1736 YY_BREAK
1736 1737 case 16:
1737 1738 YY_RULE_SETUP
1738   -#line 585 "lexer.y"
  1739 +#line 593 "lexer.y"
1739 1740 { BEGIN PAR; }
1740 1741 YY_BREAK
1741 1742 case 17:
1742 1743 YY_RULE_SETUP
1743   -#line 586 "lexer.y"
  1744 +#line 594 "lexer.y"
1744 1745 { }
1745 1746 YY_BREAK
1746 1747 case 18:
1747 1748 YY_RULE_SETUP
1748   -#line 587 "lexer.y"
  1749 +#line 595 "lexer.y"
1749 1750 { }
1750 1751 YY_BREAK
1751 1752 case 19:
1752 1753 YY_RULE_SETUP
1753   -#line 588 "lexer.y"
  1754 +#line 596 "lexer.y"
1754 1755 { yylval.integer = (int)(unsigned char)yytext[1]; return yy__char; }
1755 1756 YY_BREAK
1756 1757 case 20:
1757 1758 YY_RULE_SETUP
1758   -#line 589 "lexer.y"
  1759 +#line 597 "lexer.y"
1759 1760 { yylval.integer = (int)'\n'; return yy__char; }
1760 1761 YY_BREAK
1761 1762 case 21:
1762 1763 YY_RULE_SETUP
1763   -#line 590 "lexer.y"
  1764 +#line 598 "lexer.y"
1764 1765 { yylval.integer = (int)'\r'; return yy__char; }
1765 1766 YY_BREAK
1766 1767 case 22:
1767 1768 YY_RULE_SETUP
1768   -#line 591 "lexer.y"
  1769 +#line 599 "lexer.y"
1769 1770 { yylval.integer = (int)'\t'; return yy__char; }
1770 1771 YY_BREAK
1771 1772 case 23:
1772 1773 YY_RULE_SETUP
1773   -#line 592 "lexer.y"
  1774 +#line 600 "lexer.y"
1774 1775 { yylval.integer = (int)'\"'; return yy__char; }
1775 1776 YY_BREAK
1776 1777 case 24:
1777 1778 YY_RULE_SETUP
1778   -#line 593 "lexer.y"
  1779 +#line 601 "lexer.y"
1779 1780 { yylval.integer = (int)'\\'; return yy__char; }
1780 1781 YY_BREAK
1781 1782 case 25:
1782 1783 YY_RULE_SETUP
1783   -#line 594 "lexer.y"
  1784 +#line 602 "lexer.y"
1784 1785 { yylval.integer = (int)'\''; return yy__char; }
1785 1786 YY_BREAK
1786 1787 case 26:
1787 1788 YY_RULE_SETUP
1788   -#line 595 "lexer.y"
  1789 +#line 603 "lexer.y"
1789 1790 { yylval.expr = linecol(); return yy__lpar; }
1790 1791 YY_BREAK
1791 1792 case 27:
1792 1793 YY_RULE_SETUP
1793   -#line 596 "lexer.y"
  1794 +#line 604 "lexer.y"
1794 1795 { yylval.expr = linecol(); return yy__rpar; }
1795 1796 YY_BREAK
1796 1797 case 28:
1797 1798 YY_RULE_SETUP
1798   -#line 597 "lexer.y"
  1799 +#line 605 "lexer.y"
1799 1800 { yylval.expr = linecol(); return yy__rpar; }
1800 1801 YY_BREAK
1801 1802 case 29:
1802 1803 YY_RULE_SETUP
1803   -#line 598 "lexer.y"
  1804 +#line 606 "lexer.y"
1804 1805 { yylval.expr = linecol(); return yy__lbrace; }
1805 1806 YY_BREAK
1806 1807 case 30:
1807 1808 YY_RULE_SETUP
1808   -#line 599 "lexer.y"
  1809 +#line 607 "lexer.y"
1809 1810 { yylval.expr = linecol(); return yy__rbrace; }
1810 1811 YY_BREAK
1811 1812 case 31:
1812 1813 YY_RULE_SETUP
1813   -#line 600 "lexer.y"
  1814 +#line 608 "lexer.y"
1814 1815 { yylval.expr = linecol(); return yy__rbrace; }
1815 1816 YY_BREAK
1816 1817 case 32:
1817 1818 YY_RULE_SETUP
1818   -#line 601 "lexer.y"
  1819 +#line 609 "lexer.y"
1819 1820 { yylval.expr = linecol(); return yy__lbracket; }
1820 1821 YY_BREAK
1821 1822 case 33:
1822 1823 YY_RULE_SETUP
1823   -#line 602 "lexer.y"
  1824 +#line 610 "lexer.y"
1824 1825 { yylval.expr = linecol(); return yy__rbracket; }
1825 1826 YY_BREAK
1826 1827 case 34:
1827 1828 YY_RULE_SETUP
1828   -#line 603 "lexer.y"
  1829 +#line 611 "lexer.y"
1829 1830 { yylval.expr = linecol(); return yy__rbracket; }
1830 1831 YY_BREAK
1831 1832 case 35:
1832 1833 YY_RULE_SETUP
1833   -#line 604 "lexer.y"
  1834 +#line 612 "lexer.y"
1834 1835 { yylval.expr = linecol(); return yy__colon; }
1835 1836 YY_BREAK
1836 1837 case 36:
1837 1838 YY_RULE_SETUP
1838   -#line 605 "lexer.y"
  1839 +#line 613 "lexer.y"
1839 1840 { yylval.expr = linecol(); return yy__semicolon; }
1840 1841 YY_BREAK
1841 1842 case 37:
1842 1843 YY_RULE_SETUP
1843   -#line 606 "lexer.y"
  1844 +#line 614 "lexer.y"
1844 1845 { yylval.expr = linecol(); return yy__minus; }
1845 1846 YY_BREAK
1846 1847 case 38:
1847 1848 YY_RULE_SETUP
1848   -#line 607 "lexer.y"
  1849 +#line 615 "lexer.y"
1849 1850 { yylval.expr = linecol(); return yy__dot; }
1850 1851 YY_BREAK
1851 1852 case 39:
1852 1853 YY_RULE_SETUP
1853   -#line 608 "lexer.y"
  1854 +#line 616 "lexer.y"
1854 1855 { yylval.expr = linecol(); return yy__percent; }
1855 1856 YY_BREAK
1856 1857 case 40:
1857 1858 YY_RULE_SETUP
1858   -#line 609 "lexer.y"
  1859 +#line 617 "lexer.y"
1859 1860 { yylval.expr = linecol(); return yy__comma; }
1860 1861 YY_BREAK
1861 1862 case 41:
1862 1863 YY_RULE_SETUP
1863   -#line 610 "lexer.y"
  1864 +#line 618 "lexer.y"
1864 1865 { yylval.expr = linecol(); return yy__tilde; }
1865 1866 YY_BREAK
1866 1867 case 42:
1867 1868 YY_RULE_SETUP
1868   -#line 611 "lexer.y"
  1869 +#line 619 "lexer.y"
1869 1870 { yylval.expr = linecol(); return yy__equals; }
1870 1871 YY_BREAK
1871 1872 case 43:
1872 1873 YY_RULE_SETUP
1873   -#line 612 "lexer.y"
  1874 +#line 620 "lexer.y"
1874 1875 { yylval.expr = linecol(); return yy__non_equal; }
1875 1876 YY_BREAK
1876 1877 case 44:
1877 1878 YY_RULE_SETUP
1878   -#line 613 "lexer.y"
  1879 +#line 621 "lexer.y"
1879 1880 { yylval.expr = linecol(); return yy__plus; }
1880 1881 YY_BREAK
1881 1882 case 45:
1882 1883 YY_RULE_SETUP
1883   -#line 614 "lexer.y"
  1884 +#line 622 "lexer.y"
1884 1885 { yylval.expr = linecol(); return yy__star; }
1885 1886 YY_BREAK
1886 1887 case 46:
1887 1888 YY_RULE_SETUP
1888   -#line 615 "lexer.y"
  1889 +#line 623 "lexer.y"
1889 1890 { yylval.expr = linecol(); return yy__carret; }
1890 1891 YY_BREAK
1891 1892 case 47:
1892 1893 YY_RULE_SETUP
1893   -#line 616 "lexer.y"
  1894 +#line 624 "lexer.y"
1894 1895 { yylval.expr = linecol(); return yy__ampersand; }
1895 1896 YY_BREAK
1896 1897 case 48:
1897 1898 YY_RULE_SETUP
1898   -#line 617 "lexer.y"
  1899 +#line 625 "lexer.y"
1899 1900 { yylval.expr = linecol(); return yy__vbar; }
1900 1901 YY_BREAK
1901 1902 case 49:
1902 1903 YY_RULE_SETUP
1903   -#line 618 "lexer.y"
  1904 +#line 626 "lexer.y"
1904 1905 { yylval.expr = linecol(); return yy__right_shift; }
1905 1906 YY_BREAK
1906 1907 case 50:
1907 1908 YY_RULE_SETUP
1908   -#line 619 "lexer.y"
  1909 +#line 627 "lexer.y"
1909 1910 { yylval.expr = linecol(); return yy__left_shift; }
1910 1911 YY_BREAK
1911 1912 case 51:
1912 1913 YY_RULE_SETUP
1913   -#line 620 "lexer.y"
  1914 +#line 628 "lexer.y"
1914 1915 { yylval.expr = linecol(); return yy__implies; }
1915 1916 YY_BREAK
1916 1917 case 52:
1917 1918 YY_RULE_SETUP
1918   -#line 621 "lexer.y"
  1919 +#line 629 "lexer.y"
1919 1920 { yylval.expr = linecol(); return yy__forall; }
1920 1921 YY_BREAK
1921 1922 case 53:
1922 1923 YY_RULE_SETUP
1923   -#line 622 "lexer.y"
  1924 +#line 630 "lexer.y"
1924 1925 { yylval.expr = linecol(); return yy__exists; }
1925 1926 YY_BREAK
1926 1927 case 54:
1927 1928 YY_RULE_SETUP
1928   -#line 623 "lexer.y"
  1929 +#line 631 "lexer.y"
1929 1930 { yylval.expr = linecol(); return yy__exists_unique; }
1930 1931 YY_BREAK
1931 1932 case 55:
1932 1933 YY_RULE_SETUP
1933   -#line 624 "lexer.y"
  1934 +#line 632 "lexer.y"
1934 1935 { yylval.expr = linecol(); return yy__description; }
1935 1936 YY_BREAK
1936 1937 case 56:
1937 1938 YY_RULE_SETUP
1938   -#line 625 "lexer.y"
  1939 +#line 633 "lexer.y"
1939 1940 { yylval.expr = linecol(); return yy__slash; }
1940 1941 YY_BREAK
1941 1942 case 57:
1942 1943 YY_RULE_SETUP
1943   -#line 626 "lexer.y"
  1944 +#line 634 "lexer.y"
1944 1945 { yylval.expr = linecol(); return yy__mod; }
1945 1946 YY_BREAK
1946 1947 case 58:
1947 1948 YY_RULE_SETUP
1948   -#line 627 "lexer.y"
  1949 +#line 635 "lexer.y"
1949 1950 { yylval.expr = linecol(); return yy__less; }
1950 1951 YY_BREAK
1951 1952 case 59:
1952 1953 YY_RULE_SETUP
1953   -#line 628 "lexer.y"
  1954 +#line 636 "lexer.y"
1954 1955 { yylval.expr = linecol(); return yy__greater; }
1955 1956 YY_BREAK
1956 1957 case 60:
1957 1958 YY_RULE_SETUP
1958   -#line 629 "lexer.y"
  1959 +#line 637 "lexer.y"
1959 1960 { yylval.expr = linecol(); return yy__lessoreq; }
1960 1961 YY_BREAK
1961 1962 case 61:
1962 1963 YY_RULE_SETUP
1963   -#line 630 "lexer.y"
  1964 +#line 638 "lexer.y"
1964 1965 { yylval.expr = linecol(); return yy__greateroreq; }
1965 1966 YY_BREAK
1966 1967 case 62:
1967 1968 YY_RULE_SETUP
1968   -#line 631 "lexer.y"
  1969 +#line 639 "lexer.y"
1969 1970 { yylval.expr = linecol(); return yy__write; }
1970 1971 YY_BREAK
1971 1972 case 63:
1972 1973 YY_RULE_SETUP
1973   -#line 632 "lexer.y"
  1974 +#line 640 "lexer.y"
1974 1975 { yylval.expr = linecol(); return yy__exchange; }
1975 1976 YY_BREAK
1976 1977 case 64:
1977 1978 YY_RULE_SETUP
1978   -#line 633 "lexer.y"
  1979 +#line 641 "lexer.y"
1979 1980 { yylval.expr = linecol(); return yy__arrow; }
1980 1981 YY_BREAK
1981 1982 case 65:
1982 1983 YY_RULE_SETUP
1983   -#line 634 "lexer.y"
  1984 +#line 642 "lexer.y"
1984 1985 { yylval.expr = linecol(); return yy__arroww; }
1985 1986 YY_BREAK
1986 1987 case 66:
1987 1988 YY_RULE_SETUP
1988   -#line 635 "lexer.y"
  1989 +#line 643 "lexer.y"
1989 1990 { yylval.expr = linecol(); return yy__mapsto; }
1990 1991 YY_BREAK
1991 1992 case 67:
1992 1993 YY_RULE_SETUP
1993   -#line 636 "lexer.y"
  1994 +#line 644 "lexer.y"
1994 1995 { yylval.expr = linecol(); return yy__mapstoo; }
1995 1996 YY_BREAK
1996 1997 case 68:
1997 1998 YY_RULE_SETUP
1998   -#line 637 "lexer.y"
  1999 +#line 645 "lexer.y"
1999 2000 { yylval.expr = linecol(); return yy__dots; }
2000 2001 YY_BREAK
2001 2002 case 69:
2002 2003 YY_RULE_SETUP
2003   -#line 638 "lexer.y"
  2004 +#line 646 "lexer.y"
2004 2005 { yylval.expr = linecol(); return yy__rpar_arrow; }
2005 2006 YY_BREAK
2006 2007 case 70:
2007 2008 YY_RULE_SETUP
2008   -#line 639 "lexer.y"
  2009 +#line 647 "lexer.y"
2009 2010 { yylval.expr = linecol(); return yy__type_String; }
2010 2011 YY_BREAK
2011 2012 case 71:
2012 2013 YY_RULE_SETUP
2013   -#line 640 "lexer.y"
  2014 +#line 648 "lexer.y"
2014 2015 { yylval.expr = linecol(); return yy__type_ByteArray; }
2015 2016 YY_BREAK
2016 2017 case 72:
2017 2018 YY_RULE_SETUP
2018   -#line 641 "lexer.y"
  2019 +#line 649 "lexer.y"
2019 2020 { yylval.expr = linecol(); return yy__type_Int32; }
2020 2021 YY_BREAK
2021 2022 case 73:
2022 2023 YY_RULE_SETUP
2023   -#line 642 "lexer.y"
  2024 +#line 650 "lexer.y"
2024 2025 { yylval.expr = linecol(); return yy__type_Omega; }
2025 2026 YY_BREAK
2026 2027 case 74:
2027 2028 YY_RULE_SETUP
2028   -#line 643 "lexer.y"
  2029 +#line 651 "lexer.y"
2029 2030 { yylval.expr = linecol(); return yy__bit_width; }
2030 2031 YY_BREAK
2031 2032 case 75:
2032 2033 YY_RULE_SETUP
2033   -#line 644 "lexer.y"
  2034 +#line 652 "lexer.y"
2034 2035 { yylval.expr = linecol(); return yy__indirect; }
2035 2036 YY_BREAK
2036 2037 case 76:
2037 2038 YY_RULE_SETUP
2038   -#line 645 "lexer.y"
  2039 +#line 653 "lexer.y"
2039 2040 { if (reading_predef)
2040 2041 { yylval.expr = linecol(); return yy__vcopy; }
2041 2042 else lexical_error(); }
2042 2043 YY_BREAK
2043 2044 case 77:
2044 2045 YY_RULE_SETUP
2045   -#line 648 "lexer.y"
  2046 +#line 656 "lexer.y"
2046 2047 { if (reading_predef)
2047 2048 { yylval.expr = linecol(); return yy__load_module; }
2048 2049 else lexical_error(); }
2049 2050 YY_BREAK
2050 2051 case 78:
2051 2052 YY_RULE_SETUP
2052   -#line 651 "lexer.y"
  2053 +#line 659 "lexer.y"
2053 2054 { if (reading_predef)
2054 2055 { yylval.expr = linecol(); return yy__serialize; }
2055 2056 else lexical_error(); }
2056 2057 YY_BREAK
2057 2058 case 79:
2058 2059 YY_RULE_SETUP
2059   -#line 654 "lexer.y"
  2060 +#line 662 "lexer.y"
2060 2061 { if (reading_predef)
2061 2062 { yylval.expr = linecol(); return yy__unserialize; }
2062 2063 else lexical_error(); }
2063 2064 YY_BREAK
2064 2065 case 80:
2065 2066 YY_RULE_SETUP
2066   -#line 657 "lexer.y"
  2067 +#line 665 "lexer.y"
2067 2068 { yylval.expr = linecol(); return yy__type_Float; }
2068 2069 YY_BREAK
2069 2070 case 81:
2070 2071 YY_RULE_SETUP
2071   -#line 658 "lexer.y"
  2072 +#line 666 "lexer.y"
2072 2073 { if (reading_predef)
2073 2074 { yylval.expr = linecol(); return yy__type_Listener; }
2074 2075 else lexical_error(); }
2075 2076 YY_BREAK
2076 2077 case 82:
2077 2078 YY_RULE_SETUP
2078   -#line 661 "lexer.y"
  2079 +#line 669 "lexer.y"
2079 2080 { if (reading_predef)
2080 2081 { yylval.expr = linecol(); return yy__StructPtr; }
2081 2082 else lexical_error(); }
2082 2083 YY_BREAK
2083 2084 case 83:
2084 2085 YY_RULE_SETUP
2085   -#line 664 "lexer.y"
  2086 +#line 672 "lexer.y"
2086 2087 { if (reading_predef)
2087 2088 { yylval.expr = linecol(); return yy__avm; }
2088 2089 else lexical_error(); }
2089 2090 YY_BREAK
2090 2091 case 84:
2091 2092 YY_RULE_SETUP
2092   -#line 667 "lexer.y"
  2093 +#line 675 "lexer.y"
2093 2094 { yylval.expr = linecol(); return yy__if; }
2094 2095 YY_BREAK
2095 2096 case 85:
2096 2097 YY_RULE_SETUP
2097   -#line 668 "lexer.y"
  2098 +#line 676 "lexer.y"
2098 2099 { yylval.expr = linecol(); return yy__proof; }
2099 2100 YY_BREAK
2100 2101 case 86:
2101 2102 YY_RULE_SETUP
2102   -#line 669 "lexer.y"
  2103 +#line 677 "lexer.y"
2103 2104 { yylval.expr = linecol(); return yy__type_Proof; }
2104 2105 YY_BREAK
2105 2106 case 87:
2106 2107 YY_RULE_SETUP
2107   -#line 670 "lexer.y"
  2108 +#line 678 "lexer.y"
2108 2109 { yylval.expr = linecol(); return yy__since; }
2109 2110 YY_BREAK
2110 2111 case 88:
2111 2112 YY_RULE_SETUP
2112   -#line 671 "lexer.y"
  2113 +#line 679 "lexer.y"
2113 2114 { return yy__is; }
2114 2115 YY_BREAK
2115 2116 case 89:
2116 2117 YY_RULE_SETUP
2117   -#line 672 "lexer.y"
  2118 +#line 680 "lexer.y"
2118 2119 { yylval.expr = linecol(); return yy__then; }
2119 2120 YY_BREAK
2120 2121 case 90:
2121 2122 YY_RULE_SETUP
2122   -#line 673 "lexer.y"
  2123 +#line 681 "lexer.y"
2123 2124 { yylval.expr = linecol(); return yy__alert; }
2124 2125 YY_BREAK
2125 2126 case 91:
2126 2127 YY_RULE_SETUP
2127   -#line 674 "lexer.y"
  2128 +#line 682 "lexer.y"
2128 2129 { yylval.expr = linecol(); return yy__protect; }
2129 2130 YY_BREAK
2130 2131 case 92:
2131 2132 YY_RULE_SETUP
2132   -#line 675 "lexer.y"
  2133 +#line 683 "lexer.y"
2133 2134 { yylval.expr = linecol(); return yy__lock; }
2134 2135 YY_BREAK
2135 2136 case 93:
2136 2137 YY_RULE_SETUP
2137   -#line 676 "lexer.y"
  2138 +#line 684 "lexer.y"
2138 2139 { yylval.expr = linecol(); return yy__succeeds; }
2139 2140 YY_BREAK
2140 2141 case 94:
2141 2142 YY_RULE_SETUP
2142   -#line 677 "lexer.y"
  2143 +#line 685 "lexer.y"
2143 2144 { yylval.expr = linecol(); return yy__succeeds_as; }
2144 2145 YY_BREAK
2145 2146 case 95:
2146 2147 YY_RULE_SETUP
2147   -#line 678 "lexer.y"
  2148 +#line 686 "lexer.y"
2148 2149 { yylval.expr = linecol(); return yy__wait_for; }
2149 2150 YY_BREAK
2150 2151 case 96:
2151 2152 YY_RULE_SETUP
2152   -#line 679 "lexer.y"
  2153 +#line 687 "lexer.y"
2153 2154 { yylval.expr = linecol(); return yy__checking_every; }
2154 2155 YY_BREAK
2155 2156 case 97:
2156 2157 YY_RULE_SETUP
2157   -#line 680 "lexer.y"
  2158 +#line 688 "lexer.y"
2158 2159 { yylval.expr = linecol(); return yy__delegate; }
2159 2160 YY_BREAK
2160 2161 case 98:
2161 2162 YY_RULE_SETUP
2162   -#line 681 "lexer.y"
  2163 +#line 689 "lexer.y"
2163 2164 { yylval.expr = linecol(); return yy__else; }
2164 2165 YY_BREAK
2165 2166 case 99:
2166 2167 YY_RULE_SETUP
2167   -#line 682 "lexer.y"
  2168 +#line 690 "lexer.y"
2168 2169 { yylval.expr = linecol(); return yy__with; }
2169 2170 YY_BREAK
2170 2171 case 100:
2171 2172 YY_RULE_SETUP
2172   -#line 683 "lexer.y"
  2173 +#line 691 "lexer.y"
2173 2174 { yylval.expr = linecol(); return yy__alt_number; }
2174 2175 YY_BREAK
2175 2176 case 101:
2176 2177 YY_RULE_SETUP
2177   -#line 684 "lexer.y"
  2178 +#line 692 "lexer.y"
2178 2179 { yylval.expr = linecol(); return yy__RAddr; }
2179 2180 YY_BREAK
2180 2181 case 102:
2181 2182 YY_RULE_SETUP
2182   -#line 685 "lexer.y"
  2183 +#line 693 "lexer.y"
2183 2184 { yylval.expr = linecol(); return yy__WAddr; }
2184 2185 YY_BREAK
2185 2186 case 103:
2186 2187 YY_RULE_SETUP
2187   -#line 686 "lexer.y"
  2188 +#line 694 "lexer.y"
2188 2189 { yylval.expr = linecol(); return yy__RWAddr; }
2189 2190 YY_BREAK
2190 2191 case 104:
2191 2192 YY_RULE_SETUP
2192   -#line 687 "lexer.y"
  2193 +#line 695 "lexer.y"
2193 2194 { yylval.expr = linecol(); return yy__GAddr; }
2194 2195 YY_BREAK
2195 2196 case 105:
2196 2197 YY_RULE_SETUP
2197   -#line 688 "lexer.y"
  2198 +#line 696 "lexer.y"
2198 2199 { yylval.expr = linecol(); return yy__Var; }
2199 2200 YY_BREAK
2200 2201 case 106:
2201 2202 YY_RULE_SETUP
2202   -#line 689 "lexer.y"
  2203 +#line 697 "lexer.y"
2203 2204 { yylval.expr = linecol(); return yy__MVar; }
2204 2205 YY_BREAK
2205 2206 case 107:
2206 2207 YY_RULE_SETUP
2207   -#line 690 "lexer.y"
  2208 +#line 698 "lexer.y"
2208 2209 { yylval.expr = linecol(); return yy__connect_to_file; }
2209 2210 YY_BREAK
2210 2211 case 108:
2211 2212 YY_RULE_SETUP
2212   -#line 691 "lexer.y"
  2213 +#line 699 "lexer.y"
2213 2214 { yylval.expr = linecol(); return yy__connect_to_IP; }
2214 2215 YY_BREAK
2215 2216 case 109:
2216 2217 YY_RULE_SETUP
2217   -#line 692 "lexer.y"
  2218 +#line 700 "lexer.y"
2218 2219 { yylval.expr = linecol(); return yy__debug_avm; }
2219 2220 YY_BREAK
2220 2221 case 110:
2221 2222 YY_RULE_SETUP
2222   -#line 693 "lexer.y"
  2223 +#line 701 "lexer.y"
2223 2224 { yylval.expr = linecol(); return yy__terminal; }
2224 2225 YY_BREAK
2225 2226 case 111:
2226 2227 YY_RULE_SETUP
2227   -#line 694 "lexer.y"
  2228 +#line 702 "lexer.y"
2228 2229 { yylval.expr = linecol(); return yy__we_have; }
2229 2230 YY_BREAK
2230 2231 case 112:
2231 2232 YY_RULE_SETUP
2232   -#line 695 "lexer.y"
  2233 +#line 703 "lexer.y"
2233 2234 { yylval.expr = linecol();
2234 2235 return yy__enough; }
2235 2236 YY_BREAK
2236 2237 case 113:
2237 2238 YY_RULE_SETUP
2238   -#line 697 "lexer.y"
  2239 +#line 705 "lexer.y"
2239 2240 { yylval.expr = linecol(); return yy__let; }
2240 2241 YY_BREAK
2241 2242 case 114:
2242 2243 YY_RULE_SETUP
2243   -#line 698 "lexer.y"
  2244 +#line 706 "lexer.y"
2244 2245 { yylval.expr = linecol(); return yy__assume; }
2245 2246 YY_BREAK
2246 2247 case 115:
2247 2248 YY_RULE_SETUP
2248   -#line 699 "lexer.y"
  2249 +#line 707 "lexer.y"
2249 2250 { yylval.expr = linecol(); return yy__hence; }
2250 2251 YY_BREAK
2251 2252 case 116:
2252 2253 YY_RULE_SETUP
2253   -#line 700 "lexer.y"
  2254 +#line 708 "lexer.y"
2254 2255 { yylval.expr = linecol(); return yy__indeed; }
2255 2256 YY_BREAK
2256 2257 case 117:
2257 2258 YY_RULE_SETUP
2258   -#line 701 "lexer.y"
  2259 +#line 709 "lexer.y"
2259 2260 { BEGIN CONF; return yy__stop_after; }
2260 2261 YY_BREAK
2261 2262 case 118:
2262 2263 YY_RULE_SETUP
2263   -#line 702 "lexer.y"
  2264 +#line 710 "lexer.y"
2264 2265 { BEGIN CONF; return yy__djed; }
2265 2266 YY_BREAK
2266 2267 case 119:
2267 2268 YY_RULE_SETUP
2268   -#line 703 "lexer.y"
  2269 +#line 711 "lexer.y"
2269 2270 { return yy__verbose; }
2270 2271 YY_BREAK
2271 2272 case 120:
2272 2273 YY_RULE_SETUP
2273   -#line 704 "lexer.y"
  2274 +#line 712 "lexer.y"
2274 2275 { BEGIN CONF; return yy__language; }
2275 2276 YY_BREAK
2276 2277 case 121:
2277 2278 YY_RULE_SETUP
2278   -#line 705 "lexer.y"
  2279 +#line 713 "lexer.y"
2279 2280 { fprintf(errfile,msgtext_syntax_error_in_conf_file[language],
2280 2281 my_anubis_directory,lineno); anb_exit(1); }
2281 2282 YY_BREAK
2282 2283 case 122:
2283 2284 YY_RULE_SETUP
2284   -#line 707 "lexer.y"
  2285 +#line 715 "lexer.y"
2285 2286 { }
2286 2287 YY_BREAK
2287 2288 case 123:
2288 2289 YY_RULE_SETUP
2289   -#line 708 "lexer.y"
  2290 +#line 716 "lexer.y"
2290 2291 { }
2291 2292 YY_BREAK
2292 2293 case 124:
2293 2294 YY_RULE_SETUP
2294   -#line 709 "lexer.y"
  2295 +#line 717 "lexer.y"
2295 2296 {
2296 2297 yytext[yyleng-1] = 0;
2297 2298 yylval.expr = new_string(yytext+1);
... ... @@ -2300,118 +2301,118 @@ YY_RULE_SETUP
2300 2301 YY_BREAK
2301 2302 case 125:
2302 2303 YY_RULE_SETUP
2303   -#line 714 "lexer.y"
  2304 +#line 722 "lexer.y"
2304 2305 {
2305 2306 yylval.expr = new_string(yytext);
2306 2307 return yy__conf_symbol; }
2307 2308 YY_BREAK
2308 2309 case 126:
2309 2310 YY_RULE_SETUP
2310   -#line 717 "lexer.y"
  2311 +#line 725 "lexer.y"
2311 2312 { yylval.expr = new_integer(atoi(yytext)); return yy__conf_int; }
2312 2313 YY_BREAK
2313 2314 case 127:
2314 2315 YY_RULE_SETUP
2315   -#line 718 "lexer.y"
  2316 +#line 726 "lexer.y"
2316 2317 { }
2317 2318 YY_BREAK
2318 2319 case 128:
2319 2320 YY_RULE_SETUP
2320   -#line 719 "lexer.y"
  2321 +#line 727 "lexer.y"
2321 2322 { BEGIN CONFCOM; }
2322 2323 YY_BREAK
2323 2324 case 129:
2324 2325 YY_RULE_SETUP
2325   -#line 720 "lexer.y"
  2326 +#line 728 "lexer.y"
2326 2327 { BEGIN CONFCOM; fprintf(errfile,msgtext_syntax_error_in_conf_file[language],
2327 2328 my_anubis_directory,lineno); anb_exit(1); }
2328 2329 YY_BREAK
2329 2330 case 130:
2330 2331 YY_RULE_SETUP
2331   -#line 722 "lexer.y"
  2332 +#line 730 "lexer.y"
2332 2333 { printf(yytext); fflush(stdout); }
2333 2334 YY_BREAK
2334 2335 case 131:
2335 2336 YY_RULE_SETUP
2336   -#line 723 "lexer.y"
  2337 +#line 731 "lexer.y"
2337 2338 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2338 2339 yylval.expr = linecol(); return yy__type; }
2339 2340 YY_BREAK
2340 2341 case 132:
2341 2342 YY_RULE_SETUP
2342   -#line 725 "lexer.y"
  2343 +#line 733 "lexer.y"
2343 2344 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2344 2345 yylval.expr = linecol(); return yy__p_type; }
2345 2346 YY_BREAK
2346 2347 case 133:
2347 2348 YY_RULE_SETUP
2348   -#line 727 "lexer.y"
  2349 +#line 735 "lexer.y"
2349 2350 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2350 2351 yylval.expr = linecol(); return yy__variable; }
2351 2352 YY_BREAK
2352 2353 case 134:
2353 2354 YY_RULE_SETUP
2354   -#line 729 "lexer.y"
  2355 +#line 737 "lexer.y"
2355 2356 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2356 2357 yylval.expr = linecol(); return yy__p_variable; }
2357 2358 YY_BREAK
2358 2359 case 135:
2359 2360 YY_RULE_SETUP
2360   -#line 731 "lexer.y"
  2361 +#line 739 "lexer.y"
2361 2362 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2362 2363 yylval.expr = linecol(); return yy__theorem; }
2363 2364 YY_BREAK
2364 2365 case 136:
2365 2366 YY_RULE_SETUP
2366   -#line 733 "lexer.y"
  2367 +#line 741 "lexer.y"
2367 2368 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2368 2369 yylval.expr = linecol(); return yy__p_theorem; }
2369 2370 YY_BREAK
2370 2371 case 137:
2371 2372 YY_RULE_SETUP
2372   -#line 735 "lexer.y"
  2373 +#line 743 "lexer.y"
2373 2374 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2374 2375 yylval.expr = linecol(); return yy__operation; }
2375 2376 YY_BREAK
2376 2377 case 138:
2377 2378 YY_RULE_SETUP
2378   -#line 737 "lexer.y"
  2379 +#line 745 "lexer.y"
2379 2380 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2380 2381 yylval.expr = linecol(); return yy__g_operation; }
2381 2382 YY_BREAK
2382 2383 case 139:
2383 2384 YY_RULE_SETUP
2384   -#line 739 "lexer.y"
  2385 +#line 747 "lexer.y"
2385 2386 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2386 2387 yylval.expr = linecol(); return yy__operation; }
2387 2388 YY_BREAK
2388 2389 case 140:
2389 2390 YY_RULE_SETUP
2390   -#line 741 "lexer.y"
  2391 +#line 749 "lexer.y"
2391 2392 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2392 2393 yylval.expr = linecol(); return yy__g_operation; }
2393 2394 YY_BREAK
2394 2395 case 141:
2395 2396 YY_RULE_SETUP
2396   -#line 743 "lexer.y"
  2397 +#line 751 "lexer.y"
2397 2398 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2398 2399 yylval.expr = linecol(); return yy__p_operation; }
2399 2400 YY_BREAK
2400 2401 case 142:
2401 2402 YY_RULE_SETUP
2402   -#line 745 "lexer.y"
  2403 +#line 753 "lexer.y"
2403 2404 { if (polish) { yylval.expr = linecol(); BEGIN INCL; return yy__read; }
2404 2405 else if (!gindex && !errors) { BEGIN INCL; } }
2405 2406 YY_BREAK
2406 2407 case 143:
2407 2408 YY_RULE_SETUP
2408   -#line 747 "lexer.y"
  2409 +#line 755 "lexer.y"
2409 2410 { BEGIN PAR; par_seen = 1; current_par_line = lineno;
2410 2411 yylval.expr = linecol(); return yy__C_constr_for; }
2411 2412 YY_BREAK
2412 2413 case 144:
2413 2414 YY_RULE_SETUP
2414   -#line 749 "lexer.y"
  2415 +#line 757 "lexer.y"
2415 2416 { if (polish)
2416 2417 {
2417 2418 yylval.expr = new_string(yytext);
... ... @@ -2468,12 +2469,12 @@ YY_RULE_SETUP
2468 2469 YY_BREAK
2469 2470 case 145:
2470 2471 YY_RULE_SETUP
2471   -#line 802 "lexer.y"
  2472 +#line 810 "lexer.y"
2472 2473 { lexical_kwread_error(); }
2473 2474 YY_BREAK
2474 2475 case 146:
2475 2476 YY_RULE_SETUP
2476   -#line 803 "lexer.y"
  2477 +#line 811 "lexer.y"
2477 2478 { lexical_kwread_error(); }
2478 2479 YY_BREAK
2479 2480 case YY_STATE_EOF(INITIAL):
... ... @@ -2484,7 +2485,7 @@ case YY_STATE_EOF(STR):
2484 2485 case YY_STATE_EOF(STRTL):
2485 2486 case YY_STATE_EOF(CONF):
2486 2487 case YY_STATE_EOF(CONFCOM):
2487   -#line 804 "lexer.y"
  2488 +#line 812 "lexer.y"
2488 2489 { if (include_stack_ptr == 0)
2489 2490 {
2490 2491 yyterminate();
... ... @@ -2517,44 +2518,44 @@ case YY_STATE_EOF(CONFCOM):
2517 2518 YY_BREAK
2518 2519 case 147:
2519 2520 YY_RULE_SETUP
2520   -#line 833 "lexer.y"
  2521 +#line 841 "lexer.y"
2521 2522 { yylval.integer = atoi(yytext); return yy__integer; }
2522 2523 YY_BREAK
2523 2524 case 148:
2524 2525 YY_RULE_SETUP
2525   -#line 834 "lexer.y"
  2526 +#line 842 "lexer.y"
2526 2527 { yylval.expr = new_string(yytext); return yy__float; }
2527 2528 YY_BREAK
2528 2529 case 149:
2529 2530 YY_RULE_SETUP
2530   -#line 835 "lexer.y"
  2531 +#line 843 "lexer.y"
2531 2532 { yylval.expr = new_utvar(yytext+1); return yy__utvar; }
2532 2533 YY_BREAK
2533 2534 case 150:
2534 2535 YY_RULE_SETUP
2535   -#line 836 "lexer.y"
  2536 +#line 844 "lexer.y"
2536 2537 { yylval.expr = new_string(yytext); return yy__Symbol; }
2537 2538 YY_BREAK
2538 2539 case 151:
2539 2540 YY_RULE_SETUP
2540   -#line 837 "lexer.y"
  2541 +#line 845 "lexer.y"
2541 2542 { yylval.expr = new_string(yytext); return yy__symbol; }
2542 2543 YY_BREAK
2543 2544 case 152:
2544 2545 YY_RULE_SETUP
2545   -#line 838 "lexer.y"
  2546 +#line 846 "lexer.y"
2546 2547 { yylval.expr = new_string(rec_name(yytext,4));
2547 2548 return yy__rec_mapsto; }
2548 2549 YY_BREAK
2549 2550 case 153:
2550 2551 YY_RULE_SETUP
2551   -#line 840 "lexer.y"
  2552 +#line 848 "lexer.y"
2552 2553 { yylval.expr = new_string(rec_name(yytext,5));
2553 2554 return yy__rec_mapstoo; }
2554 2555 YY_BREAK
2555 2556 case 154:
2556 2557 YY_RULE_SETUP
2557   -#line 842 "lexer.y"
  2558 +#line 850 "lexer.y"
2558 2559 { if (reading_predef)
2559 2560 { yylval.expr = new_string(yytext); return yy__Symbol; }
2560 2561 else lexical_error();
... ... @@ -2562,7 +2563,7 @@ YY_RULE_SETUP
2562 2563 YY_BREAK
2563 2564 case 155:
2564 2565 YY_RULE_SETUP
2565   -#line 846 "lexer.y"
  2566 +#line 854 "lexer.y"
2566 2567 { if (reading_predef)
2567 2568 { yylval.expr = new_string(yytext); return yy__symbol; }
2568 2569 else lexical_error();
... ... @@ -2570,7 +2571,7 @@ YY_RULE_SETUP
2570 2571 YY_BREAK
2571 2572 case 156:
2572 2573 YY_RULE_SETUP
2573   -#line 850 "lexer.y"
  2574 +#line 858 "lexer.y"
2574 2575 { if (reading_predef)
2575 2576 { yylval.expr = new_string(yytext); return yy__symbol; }
2576 2577 else lexical_error();
... ... @@ -2578,35 +2579,35 @@ YY_RULE_SETUP
2578 2579 YY_BREAK
2579 2580 case 157:
2580 2581 YY_RULE_SETUP
2581   -#line 854 "lexer.y"
  2582 +#line 862 "lexer.y"
2582 2583 { }
2583 2584 YY_BREAK
2584 2585 case 158:
2585 2586 YY_RULE_SETUP
2586   -#line 855 "lexer.y"
  2587 +#line 863 "lexer.y"
2587 2588 { }
2588 2589 YY_BREAK
2589 2590 case 159:
2590 2591 YY_RULE_SETUP
2591   -#line 856 "lexer.y"
  2592 +#line 864 "lexer.y"
2592 2593 { lexical_error(); }
2593 2594 YY_BREAK
2594 2595 case 160:
2595 2596 YY_RULE_SETUP
2596   -#line 857 "lexer.y"
  2597 +#line 865 "lexer.y"
2597 2598 { if (gindex) store_external_comment('\n'); }
2598 2599 YY_BREAK
2599 2600 case 161:
2600 2601 YY_RULE_SETUP
2601   -#line 858 "lexer.y"
  2602 +#line 866 "lexer.y"
2602 2603 { if (gindex) store_external_comment(yytext[0]); }
2603 2604 YY_BREAK
2604 2605 case 162:
2605 2606 YY_RULE_SETUP
2606   -#line 859 "lexer.y"
  2607 +#line 867 "lexer.y"
2607 2608 ECHO;
2608 2609 YY_BREAK
2609   -#line 2603 "lex.yy.c"
  2610 +#line 2611 "lex.yy.c"
2610 2611  
2611 2612 case YY_END_OF_BUFFER:
2612 2613 {
... ... @@ -3496,7 +3497,7 @@ int main()
3496 3497 return 0;
3497 3498 }
3498 3499 #endif
3499   -#line 859 "lexer.y"
  3500 +#line 867 "lexer.y"
3500 3501  
3501 3502  
3502 3503  
... ...
anubis_dev/compiler/src/lexer.y
... ... @@ -171,6 +171,8 @@ char *fopensrc_abs_path;
171 171 source file is opened. */
172 172 char *fopensrc_cur_dir;
173 173  
  174 +extern void includePathsCheckFile(char *name);
  175 +
174 176 /* open an Anubis source file. */
175 177 FILE *fopensrc(char *name)
176 178 {
... ... @@ -205,33 +207,38 @@ FILE *fopensrc(char *name)
205 207 anb_exit(1);
206 208 return NULL;
207 209 }
208   - else freez(fopensrc_abs_path);
209   -
  210 + else
  211 + freez(fopensrc_abs_path);
  212 +
  213 + includePathsCheckFile(name);
  214 +
210 215 /* (2) try to open the file from the private library */
211   - fopensrc_abs_path = strdupppz(my_library_directory,"/",name);
212   - result = fopen(fopensrc_abs_path,"rt");
213   - if (result != NULL)
214   - {
215   - fopensrc_cur_dir = strdupppz(my_library_directory,"/",path_prefix(name));
216   - return result;
217   - }
218   - else
219   - {
220   - freez(fopensrc_abs_path);
221   - }
222   -
223   - /* (3) try to open the file from the shared library directory */
224   - fopensrc_abs_path = strdupppz(library_directory,"/",name);
225   - result = fopen(fopensrc_abs_path,"rt");
226   - if (result != NULL)
227   - {
228   - fopensrc_cur_dir = strdupppz(library_directory,"/",path_prefix(name));
229   - return result;
230   - }
231   - else
  216 +
  217 + if (strlen(fopensrc_abs_path))
  218 + {
  219 + result = fopen(fopensrc_abs_path,"rt");
  220 + if (result != NULL)
232 221 {
233   - freez(fopensrc_abs_path);
  222 + fopensrc_cur_dir = strdupz(path_prefix(fopensrc_abs_path));
  223 + return result;
234 224 }
  225 + }
  226 +
  227 + freez(fopensrc_abs_path);
  228 +
  229 +//
  230 +// /* (3) try to open the file from the shared library directory */
  231 +// fopensrc_abs_path = strdupppz(library_directory,"/",name);
  232 +// result = fopen(fopensrc_abs_path,"rt");
  233 +// if (result != NULL)
  234 +// {
  235 +// fopensrc_cur_dir = strdupppz(library_directory,"/",path_prefix(name));
  236 +// return result;
  237 +// }
  238 +// else
  239 +// {
  240 +// freez(fopensrc_abs_path);
  241 +// }
235 242  
236 243 /* The file is not found: send a message and exit */
237 244 err_line_col(linecol());
... ... @@ -245,7 +252,8 @@ FILE *fopensrc(char *name)
245 252 return NULL;
246 253 }
247 254  
248   -
  255 +
  256 +
249 257  
250 258  
251 259 /* managing visibility of files */
... ...
anubis_dev/compiler/src/main.cpp
... ... @@ -62,6 +62,7 @@ char * my_library_directory = NULL; // /home/georges/my_anubis/library
62 62 char * awp_directory = NULL; // /home/georges/anubis/server/awp
63 63 char * ssl_awp_directory = NULL; // /home/georges/anubis/server/ssl_awp
64 64 char * djed = NULL;
  65 +char * Ipaths = NULL;
65 66  
66 67 int stop_after = 1;
67 68  
... ... @@ -126,6 +127,7 @@ static void read_option(char *opt)
126 127 else if (!strcmp(opt,"unused")) { dump_unused = 1; }
127 128 else if (!strcmp(opt,"seo")) standard_error_output = 1;
128 129 else if (!strcmp(opt,"v")) verbose = 1;
  130 + else if (!strncmp(opt,"I",1)) Ipaths = opt+1;
129 131 else if (!strcmp(opt,"publics")) public_decs_src_file = 1;
130 132 #ifndef _CRYPTADM_
131 133 else if (!strcmp(opt,"sb")) show_brackets = 1;
... ... @@ -482,15 +484,20 @@ int main(int argc, char **argv)
482 484 sprintf(my_library_directory,"%s/library",my_anubis_directory);
483 485 }
484 486  
485   - includePaths.AddPath(library_directory);
486   - includePaths.AddPath(my_anubis_directory);
487   -
  487 + if (Ipaths != NULL)
  488 + {
  489 + includePaths.AddPaths(Ipaths,";");
  490 + }
  491 +
488 492 configFile->ReadString("COMPILER", "includeDir", "", tmpStr);
489 493 if (tmpStr.Length())
490 494 {
491 495 includePaths.AddPaths(tmpStr.Cstr(),";");
492 496 }
493 497  
  498 + includePaths.AddPath(my_library_directory);
  499 + includePaths.AddPath(library_directory);
  500 +
494 501 board_headers();
495 502  
496 503 //if need, create missing directories
... ...
anubis_dev/compiler/src/msgtexts.c
... ... @@ -290,6 +290,8 @@ char *msgtext_syntax[] =
290 290 " -board le compilateur produit des statistiques.\n"
291 291 " -c le compilateur lit mais ne compile pas les fichiers appelés par 'read'.\n"
292 292 " (plus rapide, mais ne produit pas de module)\n"
  293 + " -Ipaths (où 'paths' une liste de répertoires séparés par ';')\n"
  294 + " répertoires additionnels dans lesquels 'read' va chercher.\n"
293 295 " -index le compilateur produit un index en HTML (ajouter un (des) masque(s) de fichier)\n"
294 296 " -mpl* (où * est un entier) ne pas utiliser plus de * paires temporaires.\n"
295 297 " -tab* (où * est un entier < 21) détermine la largeur des tabulateurs.\n"
... ... @@ -309,6 +311,8 @@ char *msgtext_syntax[] =
309 311 " -board the compiler produces statistics.\n"
310 312 " -c the compiler reads but does not compile files called by 'read'.\n"
311 313 " (faster but produces no module)\n"
  314 + " -Ipaths (where 'paths' is a list of directories separated by ';')\n"
  315 + " additional directories within which 'read' will search for.\n"
312 316 " -index the compiler produces an index in HTML (add mask(s) for files)\n"
313 317 " -mpl* (where * is an integer) do not use more than * temporary pairs.\n"
314 318 " -tab* (where * is an integer < 21) sets the width of tabulators.\n"
... ...
anubis_dev/library/tools/read_table.anubis
... ... @@ -292,4 +292,7 @@ global define One
292 292 table_print(read_table(h,
293 293 [[10],[13],[13,10]],
294 294 [';','\t','&']))
295   - }.
296 295 \ No newline at end of file
  296 + }.
  297 +
  298 +
  299 +
297 300 \ No newline at end of file
... ...
anubis_dev/vm/proj/linux/Makefile
... ... @@ -32,9 +32,9 @@ graph_objs = host_graph.o
32 32 sqlite3_objs = alter.o analyze.o attach.o auth.o btree.o build.o callback.o complete.o\
33 33 date.o delete.o expr.o func.o hash.o insert.o legacy.o main.o opcodes.o\
34 34 os_unix.o os_win.o pager.o parse.o pragma.o prepare.o printf.o random.o\
35   - select.o shell.o table.o tclsqlite.o tokenize.o trigger.o update.o\
  35 + select.o table.o tokenize.o trigger.o update.o\
36 36 utf.o util.o vacuum.o vdbeapi.o vdbeaux.o vdbe.o vdbefifo.o vdbemem.o\
37   - where.c
  37 + where.o
38 38  
39 39 #
40 40 # Making the virtual machine
... ... @@ -77,7 +77,7 @@ dependancies_perso: $(main_objs:.o=.d) $(special_objs:.o=.perso.d) $(cipher_objs
77 77 -D_CRYPTADM_ $<
78 78  
79 79 %.o: $(TRDDIR)/sqlite3/%.c
80   - gcc $(OPTIMIZE) $(INCLUDE) -o $@ -c -Wall -Wstrict-prototypes -D_LINUX_ -D_WITH_GRAPHISM_ $<
  80 + gcc $(OPTIMIZE) $(INCLUDE) -o $@ -c -DNO_TCL $<
81 81  
82 82 %.o: $(SRCDIR)/%.c
83 83 gcc $(OPTIMIZE) $(INCLUDE) -o $@ -c -Wall -Wstrict-prototypes -D_LINUX_ -D_WITH_GRAPHISM_ $<
... ... @@ -128,10 +128,11 @@ $(SRCDIR)/lex.yy.c: $(SRCDIR)/lexer.y $(SRCDIR)/grammar.tab.h
128 128 #
129 129 # Linking anbexec
130 130 #
131   -anbexec: $(main_objs) $(special_objs) $(cipher_objs) $(graph_objs)
  131 +anbexec: $(main_objs) $(special_objs) $(cipher_objs) $(graph_objs) $(sqlite3_objs)
132 132 gcc -o $(HOME)/bin/anbexec $(main_objs) $(special_objs) $(cipher_objs) $(graph_objs)\
  133 + $(sqlite3_objs)\
133 134 -static -L/usr/X11R6/lib\
134   - -ljpeg -lssl -lcrypto -lm -lX11 -ldl -lstdc++ -lpthread -lsqlite3
  135 + -ljpeg -lssl -lcrypto -lm -lX11 -ldl -lstdc++ -lpthread
135 136 # strip $(HOME)/bin/anbexec
136 137  
137 138 anbexec_perso: $(main_objs) $(special_objs:.o=.perso.o) $(cipher_objs) $(graph_objs)
... ...