OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
11 // with the distribution. | 11 // with the distribution. |
12 // * Neither the name of Google Inc. nor the names of its | 12 // * Neither the name of Google Inc. nor the names of its |
13 // contributors may be used to endorse or promote products derived | 13 // contributors may be used to endorse or promote products derived |
14 // from this software without specific prior written permission. | 14 // from this software without specific prior written permission. |
15 // | 15 // |
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 // | 27 // |
28 // This file was generated at 2012-03-06 09:55:58.934483 | 28 // This file was generated at 2014-02-07 15:31:16.733174 |
29 | 29 |
30 #include "unicode-inl.h" | 30 #include "unicode-inl.h" |
31 #include <stdlib.h> | 31 #include <stdlib.h> |
32 #include <stdio.h> | 32 #include <stdio.h> |
33 | 33 |
34 namespace unibrow { | 34 namespace unibrow { |
35 | 35 |
36 static const int kStartBit = (1 << 30); | 36 static const int kStartBit = (1 << 30); |
37 static const int kChunkBits = (1 << 13); | 37 static const int kChunkBits = (1 << 13); |
38 static const uchar kSentinel = static_cast<uchar>(-1); | 38 static const uchar kSentinel = static_cast<uchar>(-1); |
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 kLetterTable6Size, | 703 kLetterTable6Size, |
704 c); | 704 c); |
705 case 7: return LookupPredicate(kLetterTable7, | 705 case 7: return LookupPredicate(kLetterTable7, |
706 kLetterTable7Size, | 706 kLetterTable7Size, |
707 c); | 707 c); |
708 default: return false; | 708 default: return false; |
709 } | 709 } |
710 } | 710 } |
711 | 711 |
712 | 712 |
713 // Space: point.category == 'Zs' | |
714 | |
715 static const uint16_t kSpaceTable0Size = 4; | |
716 static const int32_t kSpaceTable0[4] = { | |
717 32, 160, 5760, 6158 }; // NOLINT | |
718 static const uint16_t kSpaceTable1Size = 5; | |
719 static const int32_t kSpaceTable1[5] = { | |
720 1073741824, 10, 47, 95, 4096 }; // NOLINT | |
721 bool Space::Is(uchar c) { | |
722 int chunk_index = c >> 13; | |
723 switch (chunk_index) { | |
724 case 0: return LookupPredicate(kSpaceTable0, | |
725 kSpaceTable0Size, | |
726 c); | |
727 case 1: return LookupPredicate(kSpaceTable1, | |
728 kSpaceTable1Size, | |
729 c); | |
730 default: return false; | |
731 } | |
732 } | |
733 | |
734 | |
735 // Number: point.category == 'Nd' | 713 // Number: point.category == 'Nd' |
736 | 714 |
737 static const uint16_t kNumberTable0Size = 56; | 715 static const uint16_t kNumberTable0Size = 56; |
738 static const int32_t kNumberTable0[56] = { | 716 static const int32_t kNumberTable0[56] = { |
739 1073741872, 57, 1073743456, 1641, 1073743600, 1785, 1073743808, 1993, // NOLI
NT | 717 1073741872, 57, 1073743456, 1641, 1073743600, 1785, 1073743808, 1993, // NOLI
NT |
740 1073744230, 2415, 1073744358, 2543, 1073744486, 2671, 1073744614, 2799, // NO
LINT | 718 1073744230, 2415, 1073744358, 2543, 1073744486, 2671, 1073744614, 2799, // NO
LINT |
741 1073744742, 2927, 1073744870, 3055, 1073744998, 3183, 1073745126, 3311, // NO
LINT | 719 1073744742, 2927, 1073744870, 3055, 1073744998, 3183, 1073745126, 3311, // NO
LINT |
742 1073745254, 3439, 1073745488, 3673, 1073745616, 3801, 1073745696, 3881, // NO
LINT | 720 1073745254, 3439, 1073745488, 3673, 1073745616, 3801, 1073745696, 3881, // NO
LINT |
743 1073745984, 4169, 1073746064, 4249, 1073747936, 6121, 1073747984, 6169, // NO
LINT | 721 1073745984, 4169, 1073746064, 4249, 1073747936, 6121, 1073747984, 6169, // NO
LINT |
744 1073748294, 6479, 1073748432, 6617, 1073748608, 6793, 1073748624, 6809, // NO
LINT | 722 1073748294, 6479, 1073748432, 6617, 1073748608, 6793, 1073748624, 6809, // NO
LINT |
(...skipping 15 matching lines...) Expand all Loading... |
760 kNumberTable5Size, | 738 kNumberTable5Size, |
761 c); | 739 c); |
762 case 7: return LookupPredicate(kNumberTable7, | 740 case 7: return LookupPredicate(kNumberTable7, |
763 kNumberTable7Size, | 741 kNumberTable7Size, |
764 c); | 742 c); |
765 default: return false; | 743 default: return false; |
766 } | 744 } |
767 } | 745 } |
768 | 746 |
769 | 747 |
770 // WhiteSpace: 'Ws' in point.properties | 748 // WhiteSpace: point.category == 'Zs' |
771 | 749 |
772 static const uint16_t kWhiteSpaceTable0Size = 7; | 750 static const uint16_t kWhiteSpaceTable0Size = 4; |
773 static const int32_t kWhiteSpaceTable0[7] = { | 751 static const int32_t kWhiteSpaceTable0[4] = { |
774 1073741833, 13, 32, 133, 160, 5760, 6158 }; // NOLINT | 752 32, 160, 5760, 6158 }; // NOLINT |
775 static const uint16_t kWhiteSpaceTable1Size = 7; | 753 static const uint16_t kWhiteSpaceTable1Size = 5; |
776 static const int32_t kWhiteSpaceTable1[7] = { | 754 static const int32_t kWhiteSpaceTable1[5] = { |
777 1073741824, 10, 1073741864, 41, 47, 95, 4096 }; // NOLINT | 755 1073741824, 10, 47, 95, 4096 }; // NOLINT |
778 bool WhiteSpace::Is(uchar c) { | 756 bool WhiteSpace::Is(uchar c) { |
779 int chunk_index = c >> 13; | 757 int chunk_index = c >> 13; |
780 switch (chunk_index) { | 758 switch (chunk_index) { |
781 case 0: return LookupPredicate(kWhiteSpaceTable0, | 759 case 0: return LookupPredicate(kWhiteSpaceTable0, |
782 kWhiteSpaceTable0Size, | 760 kWhiteSpaceTable0Size, |
783 c); | 761 c); |
784 case 1: return LookupPredicate(kWhiteSpaceTable1, | 762 case 1: return LookupPredicate(kWhiteSpaceTable1, |
785 kWhiteSpaceTable1Size, | 763 kWhiteSpaceTable1Size, |
786 c); | 764 c); |
787 default: return false; | 765 default: return false; |
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1826 + kLowercaseTable5Size * sizeof(int32_t) // NOLINT | 1804 + kLowercaseTable5Size * sizeof(int32_t) // NOLINT |
1827 + kLowercaseTable7Size * sizeof(int32_t) // NOLINT | 1805 + kLowercaseTable7Size * sizeof(int32_t) // NOLINT |
1828 + kLetterTable0Size * sizeof(int32_t) // NOLINT | 1806 + kLetterTable0Size * sizeof(int32_t) // NOLINT |
1829 + kLetterTable1Size * sizeof(int32_t) // NOLINT | 1807 + kLetterTable1Size * sizeof(int32_t) // NOLINT |
1830 + kLetterTable2Size * sizeof(int32_t) // NOLINT | 1808 + kLetterTable2Size * sizeof(int32_t) // NOLINT |
1831 + kLetterTable3Size * sizeof(int32_t) // NOLINT | 1809 + kLetterTable3Size * sizeof(int32_t) // NOLINT |
1832 + kLetterTable4Size * sizeof(int32_t) // NOLINT | 1810 + kLetterTable4Size * sizeof(int32_t) // NOLINT |
1833 + kLetterTable5Size * sizeof(int32_t) // NOLINT | 1811 + kLetterTable5Size * sizeof(int32_t) // NOLINT |
1834 + kLetterTable6Size * sizeof(int32_t) // NOLINT | 1812 + kLetterTable6Size * sizeof(int32_t) // NOLINT |
1835 + kLetterTable7Size * sizeof(int32_t) // NOLINT | 1813 + kLetterTable7Size * sizeof(int32_t) // NOLINT |
1836 + kSpaceTable0Size * sizeof(int32_t) // NOLINT | |
1837 + kSpaceTable1Size * sizeof(int32_t) // NOLINT | |
1838 + kNumberTable0Size * sizeof(int32_t) // NOLINT | 1814 + kNumberTable0Size * sizeof(int32_t) // NOLINT |
1839 + kNumberTable5Size * sizeof(int32_t) // NOLINT | 1815 + kNumberTable5Size * sizeof(int32_t) // NOLINT |
1840 + kNumberTable7Size * sizeof(int32_t) // NOLINT | 1816 + kNumberTable7Size * sizeof(int32_t) // NOLINT |
1841 + kWhiteSpaceTable0Size * sizeof(int32_t) // NOLINT | 1817 + kWhiteSpaceTable0Size * sizeof(int32_t) // NOLINT |
1842 + kWhiteSpaceTable1Size * sizeof(int32_t) // NOLINT | 1818 + kWhiteSpaceTable1Size * sizeof(int32_t) // NOLINT |
1843 + kLineTerminatorTable0Size * sizeof(int32_t) // NOLINT | 1819 + kLineTerminatorTable0Size * sizeof(int32_t) // NOLINT |
1844 + kLineTerminatorTable1Size * sizeof(int32_t) // NOLINT | 1820 + kLineTerminatorTable1Size * sizeof(int32_t) // NOLINT |
1845 + kCombiningMarkTable0Size * sizeof(int32_t) // NOLINT | 1821 + kCombiningMarkTable0Size * sizeof(int32_t) // NOLINT |
1846 + kCombiningMarkTable1Size * sizeof(int32_t) // NOLINT | 1822 + kCombiningMarkTable1Size * sizeof(int32_t) // NOLINT |
1847 + kCombiningMarkTable5Size * sizeof(int32_t) // NOLINT | 1823 + kCombiningMarkTable5Size * sizeof(int32_t) // NOLINT |
(...skipping 16 matching lines...) Expand all Loading... |
1864 + kEcma262UnCanonicalizeMultiStrings0Size * sizeof(MultiCharacterSpecialCa
se<4>) // NOLINT | 1840 + kEcma262UnCanonicalizeMultiStrings0Size * sizeof(MultiCharacterSpecialCa
se<4>) // NOLINT |
1865 + kEcma262UnCanonicalizeMultiStrings1Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT | 1841 + kEcma262UnCanonicalizeMultiStrings1Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT |
1866 + kEcma262UnCanonicalizeMultiStrings5Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT | 1842 + kEcma262UnCanonicalizeMultiStrings5Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT |
1867 + kEcma262UnCanonicalizeMultiStrings7Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT | 1843 + kEcma262UnCanonicalizeMultiStrings7Size * sizeof(MultiCharacterSpecialCa
se<2>) // NOLINT |
1868 + kCanonicalizationRangeMultiStrings0Size * sizeof(MultiCharacterSpecialCa
se<1>) // NOLINT | 1844 + kCanonicalizationRangeMultiStrings0Size * sizeof(MultiCharacterSpecialCa
se<1>) // NOLINT |
1869 + kCanonicalizationRangeMultiStrings1Size * sizeof(MultiCharacterSpecialCa
se<1>) // NOLINT | 1845 + kCanonicalizationRangeMultiStrings1Size * sizeof(MultiCharacterSpecialCa
se<1>) // NOLINT |
1870 + kCanonicalizationRangeMultiStrings7Size * sizeof(MultiCharacterSpecialCa
se<1>); // NOLINT | 1846 + kCanonicalizationRangeMultiStrings7Size * sizeof(MultiCharacterSpecialCa
se<1>); // NOLINT |
1871 } | 1847 } |
1872 | 1848 |
1873 } // namespace unicode | 1849 } // namespace unicode |
OLD | NEW |