Ignore:
Timestamp:
Oct 4, 2017, 11:32:37 AM (2 years ago)
Author:
cameron
Message:

Enabling Unicode string properties for \p{prop=string} search

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/BidiBrackets.h

    r5661 r5663  
    1515
    1616namespace UCD {
     17    namespace BPB_ns {
     18        /** Code Point Ranges for bpb mapping to <none>
     19        [0000, 0027], [002a, 005a], [005c, 005c], [005e, 007a],
     20        [007c, 007c], [007e, 0f39], [0f3e, 169a], [169d, 2044],
     21        [2047, 207c], [207f, 208c], [208f, 2307], [230c, 2328],
     22        [232b, 2767], [2776, 27c4], [27c7, 27e5], [27f0, 2982],
     23        [2999, 29d7], [29dc, 29fb], [29fe, 2e21], [2e2a, 3007],
     24        [3012, 3013], [301c, fe58], [fe5f, ff07], [ff0a, ff3a],
     25        [ff3c, ff3c], [ff3e, ff5a], [ff5c, ff5c], [ff5e, ff5e],
     26        [ff61, ff61], [ff64, 10ffff]**/
     27
     28        const UnicodeSet null_codepoint_set
     29                    {{{Full, 1}, {Mixed, 3}, {Full, 117}, {Mixed, 1}, {Full, 58},
     30              {Mixed, 1}, {Full, 77}, {Mixed, 3}, {Full, 19}, {Mixed, 2},
     31              {Full, 33}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 12},
     32              {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 33}, {Mixed, 1},
     33              {Full, 14}, {Mixed, 1}, {Full, 1649}, {Mixed, 1}, {Full, 5},
     34              {Mixed, 4}, {Full, 32772}},
     35             {0xfffffcff, 0xd7ffffff, 0xd7ffffff, 0xc3ffffff, 0xe7ffffff,
     36              0xffffff9f, 0x9fffffff, 0xffff9fff, 0xfffff0ff, 0xfffff9ff,
     37              0xffc000ff, 0xffffff9f, 0xffff003f, 0xfe000007, 0xf0ffffff,
     38              0xcfffffff, 0xfffffc03, 0xf00c00ff, 0x81ffffff, 0xfffffcff,
     39              0xd7ffffff, 0x57ffffff, 0xfffffff2}};
     40
     41        /** Code Point Ranges for bpb mapping to <codepoint>
     42        **/
     43        const UnicodeSet reflexive_set
     44                    {{{Empty, 34816}},
     45             {}};
     46
     47        const unsigned buffer_length = 468;
     48        const static char __attribute__ ((aligned (32))) string_buffer[512] = u8R"__()
     49(
     50]
     51[
     52}
     53{
     54àŒ»
     55àŒº
     56àŒœ
     57àŒŒ
     58᚜
     59᚛
     60⁆
     61â
     62
     63 
     64⁜
     65₎
     66₍
     67⌉
     68⌈
     69⌋
     70⌊
     71〉
     72〈
     73❩
     74❚
     75❫
     76❪
     77❭
     78❬
     79❯
     80❮
     81❱
     82❰
     83❳
     84❲
     85❵
     86❎
     87⟆
     88âŸ
     89
     90⟧
     91⟩
     92⟩
     93⟹
     94⟫
     95⟪
     96⟭
     97⟬
     98⟯
     99⟮
     100⩄
     101⊃
     102⩆
     103âŠ
     104
     105⊈
     106⩇
     107⩊
     108⩉
     109⩌
     110⩋
     111⊐
     112⊏
     113⊎
     114⊍
     115⩒
     116⩑
     117⩔
     118⩓
     119⩖
     120⩕
     121⊘
     122⩗
     123⧙
     124⧘
     125⧛
     126⧚
     127⧜
     128⧌
     129➣
     130➢
     131➥
     132➀
     133➧
     134➊
     135âž©
     136âžš
     137〉
     138〈
     139》
     140《
     141」
     142「
     143』
     144『
     145】
     146【
     147〕
     148〔
     149〗
     150〖
     151〙
     152〘
     153〛
     154〚
     155﹚
     156﹙
     157﹜
     158﹛
     159﹞
     160﹝
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171)__";
     172
     173        const static std::vector<codepoint_t> defined_cps = {
     174        0x0028, 0x0029, 0x005b, 0x005d, 0x007b, 0x007d, 0x0f3a, 0x0f3b,
     175        0x0f3c, 0x0f3d, 0x169b, 0x169c, 0x2045, 0x2046, 0x207d, 0x207e,
     176        0x208d, 0x208e, 0x2308, 0x2309, 0x230a, 0x230b, 0x2329, 0x232a,
     177        0x2768, 0x2769, 0x276a, 0x276b, 0x276c, 0x276d, 0x276e, 0x276f,
     178        0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27c5, 0x27c6,
     179        0x27e6, 0x27e7, 0x27e8, 0x27e9, 0x27ea, 0x27eb, 0x27ec, 0x27ed,
     180        0x27ee, 0x27ef, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988,
     181        0x2989, 0x298a, 0x298b, 0x298c, 0x298d, 0x298e, 0x298f, 0x2990,
     182        0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998,
     183        0x29d8, 0x29d9, 0x29da, 0x29db, 0x29fc, 0x29fd, 0x2e22, 0x2e23,
     184        0x2e24, 0x2e25, 0x2e26, 0x2e27, 0x2e28, 0x2e29, 0x3008, 0x3009,
     185        0x300a, 0x300b, 0x300c, 0x300d, 0x300e, 0x300f, 0x3010, 0x3011,
     186        0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301a, 0x301b,
     187        0xfe59, 0xfe5a, 0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0xff08, 0xff09,
     188        0xff3b, 0xff3d, 0xff5b, 0xff5d, 0xff5f, 0xff60, 0xff62, 0xff63};
     189        static StringPropertyObject property_object(bpb,
     190                                                    null_codepoint_set,
     191                                                    reflexive_set,
     192                                                    static_cast<const char *>(string_buffer),
     193                                                    buffer_length,
     194                                                    defined_cps);
     195    }
    17196  namespace BPT_ns {
    18197    const unsigned independent_prop_values = 3;
Note: See TracChangeset for help on using the changeset viewer.