1 // GENERATED BY make_perl_groups.pl; DO NOT EDIT.
2 // make_perl_groups.pl >perl_groups.cc
3 
4 #include "re2/unicode_groups.h"
5 
6 namespace re2 {
7 
8 static const URange16 code1[] = {  /* \d */
9 	{ 0x30, 0x39 },
10 };
11 static const URange16 code2[] = {  /* \s */
12 	{ 0x9, 0xa },
13 	{ 0xc, 0xd },
14 	{ 0x20, 0x20 },
15 };
16 static const URange16 code3[] = {  /* \w */
17 	{ 0x30, 0x39 },
18 	{ 0x41, 0x5a },
19 	{ 0x5f, 0x5f },
20 	{ 0x61, 0x7a },
21 };
22 const UGroup perl_groups[] = {
23 	{ "\\d", +1, code1, 1 },
24 	{ "\\D", -1, code1, 1 },
25 	{ "\\s", +1, code2, 3 },
26 	{ "\\S", -1, code2, 3 },
27 	{ "\\w", +1, code3, 4 },
28 	{ "\\W", -1, code3, 4 },
29 };
30 const int num_perl_groups = 6;
31 static const URange16 code4[] = {  /* [:alnum:] */
32 	{ 0x30, 0x39 },
33 	{ 0x41, 0x5a },
34 	{ 0x61, 0x7a },
35 };
36 static const URange16 code5[] = {  /* [:alpha:] */
37 	{ 0x41, 0x5a },
38 	{ 0x61, 0x7a },
39 };
40 static const URange16 code6[] = {  /* [:ascii:] */
41 	{ 0x0, 0x7f },
42 };
43 static const URange16 code7[] = {  /* [:blank:] */
44 	{ 0x9, 0x9 },
45 	{ 0x20, 0x20 },
46 };
47 static const URange16 code8[] = {  /* [:cntrl:] */
48 	{ 0x0, 0x1f },
49 	{ 0x7f, 0x7f },
50 };
51 static const URange16 code9[] = {  /* [:digit:] */
52 	{ 0x30, 0x39 },
53 };
54 static const URange16 code10[] = {  /* [:graph:] */
55 	{ 0x21, 0x7e },
56 };
57 static const URange16 code11[] = {  /* [:lower:] */
58 	{ 0x61, 0x7a },
59 };
60 static const URange16 code12[] = {  /* [:print:] */
61 	{ 0x20, 0x7e },
62 };
63 static const URange16 code13[] = {  /* [:punct:] */
64 	{ 0x21, 0x2f },
65 	{ 0x3a, 0x40 },
66 	{ 0x5b, 0x60 },
67 	{ 0x7b, 0x7e },
68 };
69 static const URange16 code14[] = {  /* [:space:] */
70 	{ 0x9, 0xd },
71 	{ 0x20, 0x20 },
72 };
73 static const URange16 code15[] = {  /* [:upper:] */
74 	{ 0x41, 0x5a },
75 };
76 static const URange16 code16[] = {  /* [:word:] */
77 	{ 0x30, 0x39 },
78 	{ 0x41, 0x5a },
79 	{ 0x5f, 0x5f },
80 	{ 0x61, 0x7a },
81 };
82 static const URange16 code17[] = {  /* [:xdigit:] */
83 	{ 0x30, 0x39 },
84 	{ 0x41, 0x46 },
85 	{ 0x61, 0x66 },
86 };
87 const UGroup posix_groups[] = {
88 	{ "[:alnum:]", +1, code4, 3 },
89 	{ "[:^alnum:]", -1, code4, 3 },
90 	{ "[:alpha:]", +1, code5, 2 },
91 	{ "[:^alpha:]", -1, code5, 2 },
92 	{ "[:ascii:]", +1, code6, 1 },
93 	{ "[:^ascii:]", -1, code6, 1 },
94 	{ "[:blank:]", +1, code7, 2 },
95 	{ "[:^blank:]", -1, code7, 2 },
96 	{ "[:cntrl:]", +1, code8, 2 },
97 	{ "[:^cntrl:]", -1, code8, 2 },
98 	{ "[:digit:]", +1, code9, 1 },
99 	{ "[:^digit:]", -1, code9, 1 },
100 	{ "[:graph:]", +1, code10, 1 },
101 	{ "[:^graph:]", -1, code10, 1 },
102 	{ "[:lower:]", +1, code11, 1 },
103 	{ "[:^lower:]", -1, code11, 1 },
104 	{ "[:print:]", +1, code12, 1 },
105 	{ "[:^print:]", -1, code12, 1 },
106 	{ "[:punct:]", +1, code13, 4 },
107 	{ "[:^punct:]", -1, code13, 4 },
108 	{ "[:space:]", +1, code14, 2 },
109 	{ "[:^space:]", -1, code14, 2 },
110 	{ "[:upper:]", +1, code15, 1 },
111 	{ "[:^upper:]", -1, code15, 1 },
112 	{ "[:word:]", +1, code16, 4 },
113 	{ "[:^word:]", -1, code16, 4 },
114 	{ "[:xdigit:]", +1, code17, 3 },
115 	{ "[:^xdigit:]", -1, code17, 3 },
116 };
117 const int num_posix_groups = 28;
118 
119 }  // namespace re2
120