#include "unicode_groups.h"
namespace lbug {
namespace regex {
static const URange16 code1[] = {
{0x30, 0x39},
};
static const URange16 code2[] = {
{0x9, 0xa},
{0xc, 0xd},
{0x20, 0x20},
};
static const URange16 code3[] = {
{0x30, 0x39},
{0x41, 0x5a},
{0x5f, 0x5f},
{0x61, 0x7a},
};
const UGroup perl_groups[] = {
{"\\d", +1, code1, 1, nullptr, 0},
{"\\D", -1, code1, 1, nullptr, 0},
{"\\s", +1, code2, 3, nullptr, 0},
{"\\S", -1, code2, 3, nullptr, 0},
{"\\w", +1, code3, 4, nullptr, 0},
{"\\W", -1, code3, 4, nullptr, 0},
};
const int num_perl_groups = 6;
static const URange16 code4[] = {
{0x30, 0x39},
{0x41, 0x5a},
{0x61, 0x7a},
};
static const URange16 code5[] = {
{0x41, 0x5a},
{0x61, 0x7a},
};
static const URange16 code6[] = {
{0x0, 0x7f},
};
static const URange16 code7[] = {
{0x9, 0x9},
{0x20, 0x20},
};
static const URange16 code8[] = {
{0x0, 0x1f},
{0x7f, 0x7f},
};
static const URange16 code9[] = {
{0x30, 0x39},
};
static const URange16 code10[] = {
{0x21, 0x7e},
};
static const URange16 code11[] = {
{0x61, 0x7a},
};
static const URange16 code12[] = {
{0x20, 0x7e},
};
static const URange16 code13[] = {
{0x21, 0x2f},
{0x3a, 0x40},
{0x5b, 0x60},
{0x7b, 0x7e},
};
static const URange16 code14[] = {
{0x9, 0xd},
{0x20, 0x20},
};
static const URange16 code15[] = {
{0x41, 0x5a},
};
static const URange16 code16[] = {
{0x30, 0x39},
{0x41, 0x5a},
{0x5f, 0x5f},
{0x61, 0x7a},
};
static const URange16 code17[] = {
{0x30, 0x39},
{0x41, 0x46},
{0x61, 0x66},
};
const UGroup posix_groups[] = {
{"[:alnum:]", +1, code4, 3, nullptr, 0},
{"[:^alnum:]", -1, code4, 3, nullptr, 0},
{"[:alpha:]", +1, code5, 2, nullptr, 0},
{"[:^alpha:]", -1, code5, 2, nullptr, 0},
{"[:ascii:]", +1, code6, 1, nullptr, 0},
{"[:^ascii:]", -1, code6, 1, nullptr, 0},
{"[:blank:]", +1, code7, 2, nullptr, 0},
{"[:^blank:]", -1, code7, 2, nullptr, 0},
{"[:cntrl:]", +1, code8, 2, nullptr, 0},
{"[:^cntrl:]", -1, code8, 2, nullptr, 0},
{"[:digit:]", +1, code9, 1, nullptr, 0},
{"[:^digit:]", -1, code9, 1, nullptr, 0},
{"[:graph:]", +1, code10, 1, nullptr, 0},
{"[:^graph:]", -1, code10, 1, nullptr, 0},
{"[:lower:]", +1, code11, 1, nullptr, 0},
{"[:^lower:]", -1, code11, 1, nullptr, 0},
{"[:print:]", +1, code12, 1, nullptr, 0},
{"[:^print:]", -1, code12, 1, nullptr, 0},
{"[:punct:]", +1, code13, 4, nullptr, 0},
{"[:^punct:]", -1, code13, 4, nullptr, 0},
{"[:space:]", +1, code14, 2, nullptr, 0},
{"[:^space:]", -1, code14, 2, nullptr, 0},
{"[:upper:]", +1, code15, 1, nullptr, 0},
{"[:^upper:]", -1, code15, 1, nullptr, 0},
{"[:word:]", +1, code16, 4, nullptr, 0},
{"[:^word:]", -1, code16, 4, nullptr, 0},
{"[:xdigit:]", +1, code17, 3, nullptr, 0},
{"[:^xdigit:]", -1, code17, 3, nullptr, 0},
};
const int num_posix_groups = 28;
} }