authorgravatar for 57862114+momumi@users.noreply.github.commomumi <57862114+momumi@users.noreply.github.com> 2020-03-22 12:41:11+10:00
committergravatar for 57862114+momumi@users.noreply.github.commomumi <57862114+momumi@users.noreply.github.com> 2020-03-22 12:41:11+10:00
log29324e6f393011ee010b80f2c88d946f082bef22
tree15b59d66da8215c18609cfb1d84692c397b4578b
parent138dab45248c718b8d38fa0a8eefe56f40fe617c

fix formatting in tokenizer tests


1 files changed, 191 insertions(+), 192 deletions(-)

lib/std/zig/tokenizer.zig+191-192
...@@ -1696,216 +1696,215 @@ test "correctly parse pointer assignment" {...@@ -1696,216 +1696,215 @@ test "correctly parse pointer assignment" {
1696}1696}
16971697
1698test "tokenizer - number literals decimal" {1698test "tokenizer - number literals decimal" {
1699 testTokenize("1", &[_]Token.Id{ .IntegerLiteral });1699 testTokenize("0", &[_]Token.Id{.IntegerLiteral});
1700 testTokenize("2", &[_]Token.Id{ .IntegerLiteral });1700 testTokenize("1", &[_]Token.Id{.IntegerLiteral});
1701 testTokenize("3", &[_]Token.Id{ .IntegerLiteral });1701 testTokenize("2", &[_]Token.Id{.IntegerLiteral});
1702 testTokenize("4", &[_]Token.Id{ .IntegerLiteral });1702 testTokenize("3", &[_]Token.Id{.IntegerLiteral});
1703 testTokenize("5", &[_]Token.Id{ .IntegerLiteral });1703 testTokenize("4", &[_]Token.Id{.IntegerLiteral});
1704 testTokenize("6", &[_]Token.Id{ .IntegerLiteral });1704 testTokenize("5", &[_]Token.Id{.IntegerLiteral});
1705 testTokenize("7", &[_]Token.Id{ .IntegerLiteral });1705 testTokenize("6", &[_]Token.Id{.IntegerLiteral});
1706 testTokenize("8", &[_]Token.Id{ .IntegerLiteral });1706 testTokenize("7", &[_]Token.Id{.IntegerLiteral});
1707 testTokenize("9", &[_]Token.Id{ .IntegerLiteral });1707 testTokenize("8", &[_]Token.Id{.IntegerLiteral});
1708 testTokenize("0a", &[_]Token.Id{ .Invalid });1708 testTokenize("9", &[_]Token.Id{.IntegerLiteral});
1709 testTokenize("9b", &[_]Token.Id{ .Invalid });1709 testTokenize("0a", &[_]Token.Id{.Invalid});
1710 testTokenize("1z", &[_]Token.Id{ .Invalid });1710 testTokenize("9b", &[_]Token.Id{.Invalid});
1711 testTokenize("1z_1", &[_]Token.Id{ .Invalid });1711 testTokenize("1z", &[_]Token.Id{.Invalid});
1712 testTokenize("9z3", &[_]Token.Id{ .Invalid });1712 testTokenize("1z_1", &[_]Token.Id{.Invalid});
17131713 testTokenize("9z3", &[_]Token.Id{.Invalid});
1714 testTokenize("0_0", &[_]Token.Id{ .IntegerLiteral });1714
1715 testTokenize("0001", &[_]Token.Id{ .IntegerLiteral });1715 testTokenize("0_0", &[_]Token.Id{.IntegerLiteral});
1716 testTokenize("01234567890", &[_]Token.Id{ .IntegerLiteral });1716 testTokenize("0001", &[_]Token.Id{.IntegerLiteral});
1717 testTokenize("012_345_6789_0", &[_]Token.Id{ .IntegerLiteral });1717 testTokenize("01234567890", &[_]Token.Id{.IntegerLiteral});
1718 testTokenize("0_1_2_3_4_5_6_7_8_9_0", &[_]Token.Id{ .IntegerLiteral });1718 testTokenize("012_345_6789_0", &[_]Token.Id{.IntegerLiteral});
17191719 testTokenize("0_1_2_3_4_5_6_7_8_9_0", &[_]Token.Id{.IntegerLiteral});
1720 testTokenize("00_", &[_]Token.Id{ .Invalid });1720
1721 testTokenize("0_0_", &[_]Token.Id{ .Invalid });1721 testTokenize("00_", &[_]Token.Id{.Invalid});
1722 testTokenize("0__0", &[_]Token.Id{ .Invalid });1722 testTokenize("0_0_", &[_]Token.Id{.Invalid});
1723 testTokenize("0_0f", &[_]Token.Id{ .Invalid });1723 testTokenize("0__0", &[_]Token.Id{.Invalid});
1724 testTokenize("0_0_f", &[_]Token.Id{ .Invalid });1724 testTokenize("0_0f", &[_]Token.Id{.Invalid});
1725 testTokenize("1_,", &[_]Token.Id{ .Invalid });1725 testTokenize("0_0_f", &[_]Token.Id{.Invalid});
17261726 testTokenize("1_,", &[_]Token.Id{.Invalid});
1727 testTokenize("1.", &[_]Token.Id{ .FloatLiteral });1727
1728 testTokenize("0.0", &[_]Token.Id{ .FloatLiteral });1728 testTokenize("1.", &[_]Token.Id{.FloatLiteral});
1729 testTokenize("1.0", &[_]Token.Id{ .FloatLiteral });1729 testTokenize("0.0", &[_]Token.Id{.FloatLiteral});
1730 testTokenize("10.0", &[_]Token.Id{ .FloatLiteral });1730 testTokenize("1.0", &[_]Token.Id{.FloatLiteral});
1731 testTokenize("1e0", &[_]Token.Id{ .FloatLiteral });1731 testTokenize("10.0", &[_]Token.Id{.FloatLiteral});
1732 testTokenize("1e100", &[_]Token.Id{ .FloatLiteral });1732 testTokenize("1e0", &[_]Token.Id{.FloatLiteral});
1733 testTokenize("1.e100", &[_]Token.Id{ .FloatLiteral });1733 testTokenize("1e100", &[_]Token.Id{.FloatLiteral});
1734 testTokenize("1.0e100", &[_]Token.Id{ .FloatLiteral });1734 testTokenize("1.e100", &[_]Token.Id{.FloatLiteral});
1735 testTokenize("1.0e+100", &[_]Token.Id{ .FloatLiteral });1735 testTokenize("1.0e100", &[_]Token.Id{.FloatLiteral});
1736 testTokenize("1.0e-100", &[_]Token.Id{ .FloatLiteral });1736 testTokenize("1.0e+100", &[_]Token.Id{.FloatLiteral});
1737 testTokenize("1_0_0_0.0_0_0_0_0_1e1_0_0_0", &[_]Token.Id{ .FloatLiteral });1737 testTokenize("1.0e-100", &[_]Token.Id{.FloatLiteral});
17381738 testTokenize("1_0_0_0.0_0_0_0_0_1e1_0_0_0", &[_]Token.Id{.FloatLiteral});
1739 testTokenize("1e", &[_]Token.Id{ .Invalid });1739
1740 testTokenize("1.0e1f0", &[_]Token.Id{ .Invalid });1740 testTokenize("1e", &[_]Token.Id{.Invalid});
1741 testTokenize("1.0p100", &[_]Token.Id{ .Invalid });1741 testTokenize("1.0e1f0", &[_]Token.Id{.Invalid});
1742 testTokenize("1.0p100", &[_]Token.Id{.Invalid});
1742 testTokenize("1.0p-100", &[_]Token.Id{ .Invalid, .Minus, .IntegerLiteral });1743 testTokenize("1.0p-100", &[_]Token.Id{ .Invalid, .Minus, .IntegerLiteral });
1743 testTokenize("1.0p1f0", &[_]Token.Id{ .Invalid });1744 testTokenize("1.0p1f0", &[_]Token.Id{.Invalid});
1744 testTokenize("1.0_,", &[_]Token.Id{ .Invalid });1745 testTokenize("1.0_,", &[_]Token.Id{.Invalid});
1745 testTokenize("1.0e,", &[_]Token.Id{ .Invalid });1746 testTokenize("1.0e,", &[_]Token.Id{.Invalid});
1746}1747}
17471748
1748
1749test "tokenizer - number literals binary" {1749test "tokenizer - number literals binary" {
1750 testTokenize("0b0", &[_]Token.Id{ .IntegerLiteral });1750 testTokenize("0b0", &[_]Token.Id{.IntegerLiteral});
1751 testTokenize("0b1", &[_]Token.Id{ .IntegerLiteral });1751 testTokenize("0b1", &[_]Token.Id{.IntegerLiteral});
1752 testTokenize("0b2", &[_]Token.Id{ .Invalid });1752 testTokenize("0b2", &[_]Token.Id{.Invalid});
1753 testTokenize("0b3", &[_]Token.Id{ .Invalid });1753 testTokenize("0b3", &[_]Token.Id{.Invalid});
1754 testTokenize("0b4", &[_]Token.Id{ .Invalid });1754 testTokenize("0b4", &[_]Token.Id{.Invalid});
1755 testTokenize("0b5", &[_]Token.Id{ .Invalid });1755 testTokenize("0b5", &[_]Token.Id{.Invalid});
1756 testTokenize("0b6", &[_]Token.Id{ .Invalid });1756 testTokenize("0b6", &[_]Token.Id{.Invalid});
1757 testTokenize("0b7", &[_]Token.Id{ .Invalid });1757 testTokenize("0b7", &[_]Token.Id{.Invalid});
1758 testTokenize("0b8", &[_]Token.Id{ .Invalid });1758 testTokenize("0b8", &[_]Token.Id{.Invalid});
1759 testTokenize("0b9", &[_]Token.Id{ .Invalid });1759 testTokenize("0b9", &[_]Token.Id{.Invalid});
1760 testTokenize("0ba", &[_]Token.Id{ .Invalid });1760 testTokenize("0ba", &[_]Token.Id{.Invalid});
1761 testTokenize("0bb", &[_]Token.Id{ .Invalid });1761 testTokenize("0bb", &[_]Token.Id{.Invalid});
1762 testTokenize("0bc", &[_]Token.Id{ .Invalid });1762 testTokenize("0bc", &[_]Token.Id{.Invalid});
1763 testTokenize("0bd", &[_]Token.Id{ .Invalid });1763 testTokenize("0bd", &[_]Token.Id{.Invalid});
1764 testTokenize("0be", &[_]Token.Id{ .Invalid });1764 testTokenize("0be", &[_]Token.Id{.Invalid});
1765 testTokenize("0bf", &[_]Token.Id{ .Invalid });1765 testTokenize("0bf", &[_]Token.Id{.Invalid});
1766 testTokenize("0bz", &[_]Token.Id{ .Invalid });1766 testTokenize("0bz", &[_]Token.Id{.Invalid});
17671767
1768 testTokenize("0b0000_0000", &[_]Token.Id{ .IntegerLiteral });1768 testTokenize("0b0000_0000", &[_]Token.Id{.IntegerLiteral});
1769 testTokenize("0b1111_1111", &[_]Token.Id{ .IntegerLiteral });1769 testTokenize("0b1111_1111", &[_]Token.Id{.IntegerLiteral});
1770 testTokenize("0b10_10_10_10", &[_]Token.Id{ .IntegerLiteral });1770 testTokenize("0b10_10_10_10", &[_]Token.Id{.IntegerLiteral});
1771 testTokenize("0b0_1_0_1_0_1_0_1", &[_]Token.Id{ .IntegerLiteral });1771 testTokenize("0b0_1_0_1_0_1_0_1", &[_]Token.Id{.IntegerLiteral});
1772 testTokenize("0b1.", &[_]Token.Id{ .IntegerLiteral, .Period });1772 testTokenize("0b1.", &[_]Token.Id{ .IntegerLiteral, .Period });
1773 testTokenize("0b1.0", &[_]Token.Id{ .IntegerLiteral, .Period, .IntegerLiteral });1773 testTokenize("0b1.0", &[_]Token.Id{ .IntegerLiteral, .Period, .IntegerLiteral });
17741774
1775 testTokenize("0B0", &[_]Token.Id{ .Invalid });1775 testTokenize("0B0", &[_]Token.Id{.Invalid});
1776 testTokenize("0b_", &[_]Token.Id{ .Invalid });1776 testTokenize("0b_", &[_]Token.Id{.Invalid});
1777 testTokenize("0b_0", &[_]Token.Id{ .Invalid });1777 testTokenize("0b_0", &[_]Token.Id{.Invalid});
1778 testTokenize("0b1_", &[_]Token.Id{ .Invalid });1778 testTokenize("0b1_", &[_]Token.Id{.Invalid});
1779 testTokenize("0b0__1", &[_]Token.Id{ .Invalid });1779 testTokenize("0b0__1", &[_]Token.Id{.Invalid});
1780 testTokenize("0b0_1_", &[_]Token.Id{ .Invalid });1780 testTokenize("0b0_1_", &[_]Token.Id{.Invalid});
1781 testTokenize("0b1e", &[_]Token.Id{ .Invalid });1781 testTokenize("0b1e", &[_]Token.Id{.Invalid});
1782 testTokenize("0b1p", &[_]Token.Id{ .Invalid });1782 testTokenize("0b1p", &[_]Token.Id{.Invalid});
1783 testTokenize("0b1e0", &[_]Token.Id{ .Invalid });1783 testTokenize("0b1e0", &[_]Token.Id{.Invalid});
1784 testTokenize("0b1p0", &[_]Token.Id{ .Invalid });1784 testTokenize("0b1p0", &[_]Token.Id{.Invalid});
1785 testTokenize("0b1_,", &[_]Token.Id{ .Invalid });1785 testTokenize("0b1_,", &[_]Token.Id{.Invalid});
1786}1786}
17871787
1788test "tokenizer - number literals octal" {1788test "tokenizer - number literals octal" {
1789 testTokenize("0o0", &[_]Token.Id{ .IntegerLiteral });1789 testTokenize("0o0", &[_]Token.Id{.IntegerLiteral});
1790 testTokenize("0o1", &[_]Token.Id{ .IntegerLiteral });1790 testTokenize("0o1", &[_]Token.Id{.IntegerLiteral});
1791 testTokenize("0o2", &[_]Token.Id{ .IntegerLiteral });1791 testTokenize("0o2", &[_]Token.Id{.IntegerLiteral});
1792 testTokenize("0o3", &[_]Token.Id{ .IntegerLiteral });1792 testTokenize("0o3", &[_]Token.Id{.IntegerLiteral});
1793 testTokenize("0o4", &[_]Token.Id{ .IntegerLiteral });1793 testTokenize("0o4", &[_]Token.Id{.IntegerLiteral});
1794 testTokenize("0o5", &[_]Token.Id{ .IntegerLiteral });1794 testTokenize("0o5", &[_]Token.Id{.IntegerLiteral});
1795 testTokenize("0o6", &[_]Token.Id{ .IntegerLiteral });1795 testTokenize("0o6", &[_]Token.Id{.IntegerLiteral});
1796 testTokenize("0o7", &[_]Token.Id{ .IntegerLiteral });1796 testTokenize("0o7", &[_]Token.Id{.IntegerLiteral});
1797 testTokenize("0o8", &[_]Token.Id{ .Invalid });1797 testTokenize("0o8", &[_]Token.Id{.Invalid});
1798 testTokenize("0o9", &[_]Token.Id{ .Invalid });1798 testTokenize("0o9", &[_]Token.Id{.Invalid});
1799 testTokenize("0oa", &[_]Token.Id{ .Invalid });1799 testTokenize("0oa", &[_]Token.Id{.Invalid});
1800 testTokenize("0ob", &[_]Token.Id{ .Invalid });1800 testTokenize("0ob", &[_]Token.Id{.Invalid});
1801 testTokenize("0oc", &[_]Token.Id{ .Invalid });1801 testTokenize("0oc", &[_]Token.Id{.Invalid});
1802 testTokenize("0od", &[_]Token.Id{ .Invalid });1802 testTokenize("0od", &[_]Token.Id{.Invalid});
1803 testTokenize("0oe", &[_]Token.Id{ .Invalid });1803 testTokenize("0oe", &[_]Token.Id{.Invalid});
1804 testTokenize("0of", &[_]Token.Id{ .Invalid });1804 testTokenize("0of", &[_]Token.Id{.Invalid});
1805 testTokenize("0oz", &[_]Token.Id{ .Invalid });1805 testTokenize("0oz", &[_]Token.Id{.Invalid});
18061806
1807 testTokenize("0o01234567", &[_]Token.Id{ .IntegerLiteral });1807 testTokenize("0o01234567", &[_]Token.Id{.IntegerLiteral});
1808 testTokenize("0o0123_4567", &[_]Token.Id{ .IntegerLiteral });1808 testTokenize("0o0123_4567", &[_]Token.Id{.IntegerLiteral});
1809 testTokenize("0o01_23_45_67", &[_]Token.Id{ .IntegerLiteral });1809 testTokenize("0o01_23_45_67", &[_]Token.Id{.IntegerLiteral});
1810 testTokenize("0o0_1_2_3_4_5_6_7", &[_]Token.Id{ .IntegerLiteral });1810 testTokenize("0o0_1_2_3_4_5_6_7", &[_]Token.Id{.IntegerLiteral});
1811 testTokenize("0o7.", &[_]Token.Id{ .IntegerLiteral, .Period });1811 testTokenize("0o7.", &[_]Token.Id{ .IntegerLiteral, .Period });
1812 testTokenize("0o7.0", &[_]Token.Id{ .IntegerLiteral, .Period, .IntegerLiteral });1812 testTokenize("0o7.0", &[_]Token.Id{ .IntegerLiteral, .Period, .IntegerLiteral });
18131813
1814 testTokenize("0O0", &[_]Token.Id{ .Invalid });1814 testTokenize("0O0", &[_]Token.Id{.Invalid});
1815 testTokenize("0o_", &[_]Token.Id{ .Invalid });1815 testTokenize("0o_", &[_]Token.Id{.Invalid});
1816 testTokenize("0o_0", &[_]Token.Id{ .Invalid });1816 testTokenize("0o_0", &[_]Token.Id{.Invalid});
1817 testTokenize("0o1_", &[_]Token.Id{ .Invalid });1817 testTokenize("0o1_", &[_]Token.Id{.Invalid});
1818 testTokenize("0o0__1", &[_]Token.Id{ .Invalid });1818 testTokenize("0o0__1", &[_]Token.Id{.Invalid});
1819 testTokenize("0o0_1_", &[_]Token.Id{ .Invalid });1819 testTokenize("0o0_1_", &[_]Token.Id{.Invalid});
1820 testTokenize("0o1e", &[_]Token.Id{ .Invalid });1820 testTokenize("0o1e", &[_]Token.Id{.Invalid});
1821 testTokenize("0o1p", &[_]Token.Id{ .Invalid });1821 testTokenize("0o1p", &[_]Token.Id{.Invalid});
1822 testTokenize("0o1e0", &[_]Token.Id{ .Invalid });1822 testTokenize("0o1e0", &[_]Token.Id{.Invalid});
1823 testTokenize("0o1p0", &[_]Token.Id{ .Invalid });1823 testTokenize("0o1p0", &[_]Token.Id{.Invalid});
1824 testTokenize("0o_,", &[_]Token.Id{ .Invalid });1824 testTokenize("0o_,", &[_]Token.Id{.Invalid});
1825}1825}
18261826
1827test "tokenizer - number literals hexadeciaml" {1827test "tokenizer - number literals hexadeciaml" {
1828 testTokenize("0x0", &[_]Token.Id{ .IntegerLiteral });1828 testTokenize("0x0", &[_]Token.Id{.IntegerLiteral});
1829 testTokenize("0x1", &[_]Token.Id{ .IntegerLiteral });1829 testTokenize("0x1", &[_]Token.Id{.IntegerLiteral});
1830 testTokenize("0x2", &[_]Token.Id{ .IntegerLiteral });1830 testTokenize("0x2", &[_]Token.Id{.IntegerLiteral});
1831 testTokenize("0x3", &[_]Token.Id{ .IntegerLiteral });1831 testTokenize("0x3", &[_]Token.Id{.IntegerLiteral});
1832 testTokenize("0x4", &[_]Token.Id{ .IntegerLiteral });1832 testTokenize("0x4", &[_]Token.Id{.IntegerLiteral});
1833 testTokenize("0x5", &[_]Token.Id{ .IntegerLiteral });1833 testTokenize("0x5", &[_]Token.Id{.IntegerLiteral});
1834 testTokenize("0x6", &[_]Token.Id{ .IntegerLiteral });1834 testTokenize("0x6", &[_]Token.Id{.IntegerLiteral});
1835 testTokenize("0x7", &[_]Token.Id{ .IntegerLiteral });1835 testTokenize("0x7", &[_]Token.Id{.IntegerLiteral});
1836 testTokenize("0x8", &[_]Token.Id{ .IntegerLiteral });1836 testTokenize("0x8", &[_]Token.Id{.IntegerLiteral});
1837 testTokenize("0x9", &[_]Token.Id{ .IntegerLiteral });1837 testTokenize("0x9", &[_]Token.Id{.IntegerLiteral});
1838 testTokenize("0xa", &[_]Token.Id{ .IntegerLiteral });1838 testTokenize("0xa", &[_]Token.Id{.IntegerLiteral});
1839 testTokenize("0xb", &[_]Token.Id{ .IntegerLiteral });1839 testTokenize("0xb", &[_]Token.Id{.IntegerLiteral});
1840 testTokenize("0xc", &[_]Token.Id{ .IntegerLiteral });1840 testTokenize("0xc", &[_]Token.Id{.IntegerLiteral});
1841 testTokenize("0xd", &[_]Token.Id{ .IntegerLiteral });1841 testTokenize("0xd", &[_]Token.Id{.IntegerLiteral});
1842 testTokenize("0xe", &[_]Token.Id{ .IntegerLiteral });1842 testTokenize("0xe", &[_]Token.Id{.IntegerLiteral});
1843 testTokenize("0xf", &[_]Token.Id{ .IntegerLiteral });1843 testTokenize("0xf", &[_]Token.Id{.IntegerLiteral});
1844 testTokenize("0xA", &[_]Token.Id{ .IntegerLiteral });1844 testTokenize("0xA", &[_]Token.Id{.IntegerLiteral});
1845 testTokenize("0xB", &[_]Token.Id{ .IntegerLiteral });1845 testTokenize("0xB", &[_]Token.Id{.IntegerLiteral});
1846 testTokenize("0xC", &[_]Token.Id{ .IntegerLiteral });1846 testTokenize("0xC", &[_]Token.Id{.IntegerLiteral});
1847 testTokenize("0xD", &[_]Token.Id{ .IntegerLiteral });1847 testTokenize("0xD", &[_]Token.Id{.IntegerLiteral});
1848 testTokenize("0xE", &[_]Token.Id{ .IntegerLiteral });1848 testTokenize("0xE", &[_]Token.Id{.IntegerLiteral});
1849 testTokenize("0xF", &[_]Token.Id{ .IntegerLiteral });1849 testTokenize("0xF", &[_]Token.Id{.IntegerLiteral});
1850 testTokenize("0x0z", &[_]Token.Id{ .Invalid });1850 testTokenize("0x0z", &[_]Token.Id{.Invalid});
1851 testTokenize("0xz", &[_]Token.Id{ .Invalid });1851 testTokenize("0xz", &[_]Token.Id{.Invalid});
18521852
1853 testTokenize("0x0123456789ABCDEF", &[_]Token.Id{ .IntegerLiteral });1853 testTokenize("0x0123456789ABCDEF", &[_]Token.Id{.IntegerLiteral});
1854 testTokenize("0x0123_4567_89AB_CDEF", &[_]Token.Id{ .IntegerLiteral });1854 testTokenize("0x0123_4567_89AB_CDEF", &[_]Token.Id{.IntegerLiteral});
1855 testTokenize("0x01_23_45_67_89AB_CDE_F", &[_]Token.Id{ .IntegerLiteral });1855 testTokenize("0x01_23_45_67_89AB_CDE_F", &[_]Token.Id{.IntegerLiteral});
1856 testTokenize("0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F", &[_]Token.Id{ .IntegerLiteral });1856 testTokenize("0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F", &[_]Token.Id{.IntegerLiteral});
18571857
1858 testTokenize("0X0", &[_]Token.Id{ .Invalid });1858 testTokenize("0X0", &[_]Token.Id{.Invalid});
1859 testTokenize("0x_", &[_]Token.Id{ .Invalid });1859 testTokenize("0x_", &[_]Token.Id{.Invalid});
1860 testTokenize("0x_1", &[_]Token.Id{ .Invalid });1860 testTokenize("0x_1", &[_]Token.Id{.Invalid});
1861 testTokenize("0x1_", &[_]Token.Id{ .Invalid });1861 testTokenize("0x1_", &[_]Token.Id{.Invalid});
1862 testTokenize("0x0__1", &[_]Token.Id{ .Invalid });1862 testTokenize("0x0__1", &[_]Token.Id{.Invalid});
1863 testTokenize("0x0_1_", &[_]Token.Id{ .Invalid });1863 testTokenize("0x0_1_", &[_]Token.Id{.Invalid});
1864 testTokenize("0x_,", &[_]Token.Id{ .Invalid });1864 testTokenize("0x_,", &[_]Token.Id{.Invalid});
18651865
1866 testTokenize("0x1.", &[_]Token.Id{ .FloatLiteral });1866 testTokenize("0x1.", &[_]Token.Id{.FloatLiteral});
1867 testTokenize("0x1.0", &[_]Token.Id{ .FloatLiteral });1867 testTokenize("0x1.0", &[_]Token.Id{.FloatLiteral});
1868 testTokenize("0xF.", &[_]Token.Id{ .FloatLiteral });1868 testTokenize("0xF.", &[_]Token.Id{.FloatLiteral});
1869 testTokenize("0xF.0", &[_]Token.Id{ .FloatLiteral });1869 testTokenize("0xF.0", &[_]Token.Id{.FloatLiteral});
1870 testTokenize("0xF.F", &[_]Token.Id{ .FloatLiteral });1870 testTokenize("0xF.F", &[_]Token.Id{.FloatLiteral});
1871 testTokenize("0xF.Fp0", &[_]Token.Id{ .FloatLiteral });1871 testTokenize("0xF.Fp0", &[_]Token.Id{.FloatLiteral});
1872 testTokenize("0xF.FP0", &[_]Token.Id{ .FloatLiteral });1872 testTokenize("0xF.FP0", &[_]Token.Id{.FloatLiteral});
1873 testTokenize("0x1p0", &[_]Token.Id{ .FloatLiteral });1873 testTokenize("0x1p0", &[_]Token.Id{.FloatLiteral});
1874 testTokenize("0xfp0", &[_]Token.Id{ .FloatLiteral });1874 testTokenize("0xfp0", &[_]Token.Id{.FloatLiteral});
18751875
1876 testTokenize("0x0123456.789ABCDEF", &[_]Token.Id{ .FloatLiteral });1876 testTokenize("0x0123456.789ABCDEF", &[_]Token.Id{.FloatLiteral});
1877 testTokenize("0x0_123_456.789_ABC_DEF", &[_]Token.Id{ .FloatLiteral });1877 testTokenize("0x0_123_456.789_ABC_DEF", &[_]Token.Id{.FloatLiteral});
1878 testTokenize("0x0_1_2_3_4_5_6.7_8_9_A_B_C_D_E_F", &[_]Token.Id{ .FloatLiteral });1878 testTokenize("0x0_1_2_3_4_5_6.7_8_9_A_B_C_D_E_F", &[_]Token.Id{.FloatLiteral});
1879 testTokenize("0x0.0p0", &[_]Token.Id{ .FloatLiteral });1879 testTokenize("0x0.0p0", &[_]Token.Id{.FloatLiteral});
1880 testTokenize("0xff.ffp10", &[_]Token.Id{ .FloatLiteral });1880 testTokenize("0xff.ffp10", &[_]Token.Id{.FloatLiteral});
1881 testTokenize("0xff.ffP10", &[_]Token.Id{ .FloatLiteral });1881 testTokenize("0xff.ffP10", &[_]Token.Id{.FloatLiteral});
1882 testTokenize("0xff.p10", &[_]Token.Id{ .FloatLiteral });1882 testTokenize("0xff.p10", &[_]Token.Id{.FloatLiteral});
1883 testTokenize("0xffp10", &[_]Token.Id{ .FloatLiteral });1883 testTokenize("0xffp10", &[_]Token.Id{.FloatLiteral});
1884 testTokenize("0xff_ff.ff_ffp1_0_0_0", &[_]Token.Id{ .FloatLiteral });1884 testTokenize("0xff_ff.ff_ffp1_0_0_0", &[_]Token.Id{.FloatLiteral});
1885 testTokenize("0xf_f_f_f.f_f_f_fp+1_000", &[_]Token.Id{ .FloatLiteral });1885 testTokenize("0xf_f_f_f.f_f_f_fp+1_000", &[_]Token.Id{.FloatLiteral});
1886 testTokenize("0xf_f_f_f.f_f_f_fp-1_00_0", &[_]Token.Id{ .FloatLiteral });1886 testTokenize("0xf_f_f_f.f_f_f_fp-1_00_0", &[_]Token.Id{.FloatLiteral});
18871887
1888 testTokenize("0x1e", &[_]Token.Id{ .IntegerLiteral });1888 testTokenize("0x1e", &[_]Token.Id{.IntegerLiteral});
1889 testTokenize("0x1e0", &[_]Token.Id{ .IntegerLiteral });1889 testTokenize("0x1e0", &[_]Token.Id{.IntegerLiteral});
1890 testTokenize("0x1p", &[_]Token.Id{ .Invalid });1890 testTokenize("0x1p", &[_]Token.Id{.Invalid});
1891 testTokenize("0xfp0z1", &[_]Token.Id{ .Invalid });1891 testTokenize("0xfp0z1", &[_]Token.Id{.Invalid});
1892 testTokenize("0xff.ffpff", &[_]Token.Id{ .Invalid });1892 testTokenize("0xff.ffpff", &[_]Token.Id{.Invalid});
1893 testTokenize("0x0_.0", &[_]Token.Id{ .Invalid });1893 testTokenize("0x0_.0", &[_]Token.Id{.Invalid});
1894 testTokenize("0x0._0", &[_]Token.Id{ .Invalid });1894 testTokenize("0x0._0", &[_]Token.Id{.Invalid});
1895 testTokenize("0x0.0_", &[_]Token.Id{ .Invalid });1895 testTokenize("0x0.0_", &[_]Token.Id{.Invalid});
1896 testTokenize("0x0_p0", &[_]Token.Id{ .Invalid });1896 testTokenize("0x0_p0", &[_]Token.Id{.Invalid});
1897 testTokenize("0x0_.p0", &[_]Token.Id{ .Invalid });1897 testTokenize("0x0_.p0", &[_]Token.Id{.Invalid});
1898 testTokenize("0x0._p0", &[_]Token.Id{ .Invalid });1898 testTokenize("0x0._p0", &[_]Token.Id{.Invalid});
1899 testTokenize("0x0.0_p0", &[_]Token.Id{ .Invalid });1899 testTokenize("0x0.0_p0", &[_]Token.Id{.Invalid});
1900 testTokenize("0x0._0p0", &[_]Token.Id{ .Invalid });1900 testTokenize("0x0._0p0", &[_]Token.Id{.Invalid});
1901 testTokenize("0x0.0_p0", &[_]Token.Id{ .Invalid });1901 testTokenize("0x0.0_p0", &[_]Token.Id{.Invalid});
1902 testTokenize("0x0.0p_0", &[_]Token.Id{ .Invalid });1902 testTokenize("0x0.0p_0", &[_]Token.Id{.Invalid});
1903 testTokenize("0x0.0p+_0", &[_]Token.Id{ .Invalid });1903 testTokenize("0x0.0p+_0", &[_]Token.Id{.Invalid});
1904 testTokenize("0x0.0p-_0", &[_]Token.Id{ .Invalid });1904 testTokenize("0x0.0p-_0", &[_]Token.Id{.Invalid});
1905 testTokenize("0x0.0p0_", &[_]Token.Id{ .Invalid });1905 testTokenize("0x0.0p0_", &[_]Token.Id{.Invalid});
1906}1906}
19071907
1908
1909fn testTokenize(source: []const u8, expected_tokens: []const Token.Id) void {1908fn testTokenize(source: []const u8, expected_tokens: []const Token.Id) void {
1910 var tokenizer = Tokenizer.init(source);1909 var tokenizer = Tokenizer.init(source);
1911 for (expected_tokens) |expected_token_id| {1910 for (expected_tokens) |expected_token_id| {