regexcst.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570
  1. // © 2016 and later: Unicode, Inc. and others.
  2. // License & terms of use: http://www.unicode.org/copyright.html
  3. //---------------------------------------------------------------------------------
  4. //
  5. // Generated Header File. Do not edit by hand.
  6. // This file contains the state table for the ICU Regular Expression Pattern Parser
  7. // It is generated by the Perl script "regexcst.pl" from
  8. // the rule parser state definitions file "regexcst.txt".
  9. //
  10. // Copyright (C) 2002-2016 International Business Machines Corporation
  11. // and others. All rights reserved.
  12. //
  13. //---------------------------------------------------------------------------------
  14. #ifndef RBBIRPT_H
  15. #define RBBIRPT_H
  16. #include "unicode/utypes.h"
  17. U_NAMESPACE_BEGIN
  18. //
  19. // Character classes for regex pattern scanning.
  20. //
  21. static const uint8_t kRuleSet_digit_char = 128;
  22. static const uint8_t kRuleSet_ascii_letter = 129;
  23. static const uint8_t kRuleSet_rule_char = 130;
  24. constexpr uint32_t kRuleSet_count = 131-128;
  25. enum Regex_PatternParseAction {
  26. doSetBackslash_D,
  27. doBackslashh,
  28. doBackslashH,
  29. doSetLiteralEscaped,
  30. doOpenLookAheadNeg,
  31. doCompleteNamedBackRef,
  32. doPatStart,
  33. doBackslashS,
  34. doBackslashD,
  35. doNGStar,
  36. doNOP,
  37. doBackslashX,
  38. doSetLiteral,
  39. doContinueNamedCapture,
  40. doBackslashG,
  41. doBackslashR,
  42. doSetBegin,
  43. doSetBackslash_v,
  44. doPossessivePlus,
  45. doPerlInline,
  46. doBackslashZ,
  47. doSetAddAmp,
  48. doSetBeginDifference1,
  49. doIntervalError,
  50. doSetNegate,
  51. doIntervalInit,
  52. doSetIntersection2,
  53. doPossessiveInterval,
  54. doRuleError,
  55. doBackslashW,
  56. doContinueNamedBackRef,
  57. doOpenNonCaptureParen,
  58. doExit,
  59. doSetNamedChar,
  60. doSetBackslash_V,
  61. doConditionalExpr,
  62. doEscapeError,
  63. doBadOpenParenType,
  64. doPossessiveStar,
  65. doSetAddDash,
  66. doEscapedLiteralChar,
  67. doSetBackslash_w,
  68. doIntervalUpperDigit,
  69. doBackslashv,
  70. doSetBackslash_S,
  71. doSetNoCloseError,
  72. doSetProp,
  73. doBackslashB,
  74. doSetEnd,
  75. doSetRange,
  76. doMatchModeParen,
  77. doPlus,
  78. doBackslashV,
  79. doSetMatchMode,
  80. doBackslashz,
  81. doSetNamedRange,
  82. doOpenLookBehindNeg,
  83. doInterval,
  84. doBadNamedCapture,
  85. doBeginMatchMode,
  86. doBackslashd,
  87. doPatFinish,
  88. doNamedChar,
  89. doNGPlus,
  90. doSetDifference2,
  91. doSetBackslash_H,
  92. doCloseParen,
  93. doDotAny,
  94. doOpenCaptureParen,
  95. doEnterQuoteMode,
  96. doOpenAtomicParen,
  97. doBadModeFlag,
  98. doSetBackslash_d,
  99. doSetFinish,
  100. doProperty,
  101. doBeginNamedBackRef,
  102. doBackRef,
  103. doOpt,
  104. doDollar,
  105. doBeginNamedCapture,
  106. doNGInterval,
  107. doSetOpError,
  108. doSetPosixProp,
  109. doSetBeginIntersection1,
  110. doBackslashb,
  111. doSetBeginUnion,
  112. doIntevalLowerDigit,
  113. doSetBackslash_h,
  114. doStar,
  115. doMatchMode,
  116. doBackslashA,
  117. doOpenLookBehind,
  118. doPossessiveOpt,
  119. doOrOperator,
  120. doBackslashw,
  121. doBackslashs,
  122. doLiteralChar,
  123. doSuppressComments,
  124. doCaret,
  125. doIntervalSame,
  126. doNGOpt,
  127. doOpenLookAhead,
  128. doSetBackslash_W,
  129. doMismatchedParenErr,
  130. doSetBackslash_s,
  131. rbbiLastAction};
  132. //-------------------------------------------------------------------------------
  133. //
  134. // RegexTableEl represents the structure of a row in the transition table
  135. // for the pattern parser state machine.
  136. //-------------------------------------------------------------------------------
  137. struct RegexTableEl {
  138. Regex_PatternParseAction fAction;
  139. uint8_t fCharClass; // 0-127: an individual ASCII character
  140. // 128-255: character class index
  141. uint8_t fNextState; // 0-250: normal next-state numbers
  142. // 255: pop next-state from stack.
  143. uint8_t fPushState;
  144. UBool fNextChar;
  145. };
  146. static const struct RegexTableEl gRuleParseStateTable[] = {
  147. {doNOP, 0, 0, 0, TRUE}
  148. , {doPatStart, 255, 2,0, FALSE} // 1 start
  149. , {doLiteralChar, 254, 14,0, TRUE} // 2 term
  150. , {doLiteralChar, 130, 14,0, TRUE} // 3
  151. , {doSetBegin, 91 /* [ */, 123, 205, TRUE} // 4
  152. , {doNOP, 40 /* ( */, 27,0, TRUE} // 5
  153. , {doDotAny, 46 /* . */, 14,0, TRUE} // 6
  154. , {doCaret, 94 /* ^ */, 14,0, TRUE} // 7
  155. , {doDollar, 36 /* $ */, 14,0, TRUE} // 8
  156. , {doNOP, 92 /* \ */, 89,0, TRUE} // 9
  157. , {doOrOperator, 124 /* | */, 2,0, TRUE} // 10
  158. , {doCloseParen, 41 /* ) */, 255,0, TRUE} // 11
  159. , {doPatFinish, 253, 2,0, FALSE} // 12
  160. , {doRuleError, 255, 206,0, FALSE} // 13
  161. , {doNOP, 42 /* * */, 68,0, TRUE} // 14 expr-quant
  162. , {doNOP, 43 /* + */, 71,0, TRUE} // 15
  163. , {doNOP, 63 /* ? */, 74,0, TRUE} // 16
  164. , {doIntervalInit, 123 /* { */, 77,0, TRUE} // 17
  165. , {doNOP, 40 /* ( */, 23,0, TRUE} // 18
  166. , {doNOP, 255, 20,0, FALSE} // 19
  167. , {doOrOperator, 124 /* | */, 2,0, TRUE} // 20 expr-cont
  168. , {doCloseParen, 41 /* ) */, 255,0, TRUE} // 21
  169. , {doNOP, 255, 2,0, FALSE} // 22
  170. , {doSuppressComments, 63 /* ? */, 25,0, TRUE} // 23 open-paren-quant
  171. , {doNOP, 255, 27,0, FALSE} // 24
  172. , {doNOP, 35 /* # */, 50, 14, TRUE} // 25 open-paren-quant2
  173. , {doNOP, 255, 29,0, FALSE} // 26
  174. , {doSuppressComments, 63 /* ? */, 29,0, TRUE} // 27 open-paren
  175. , {doOpenCaptureParen, 255, 2, 14, FALSE} // 28
  176. , {doOpenNonCaptureParen, 58 /* : */, 2, 14, TRUE} // 29 open-paren-extended
  177. , {doOpenAtomicParen, 62 /* > */, 2, 14, TRUE} // 30
  178. , {doOpenLookAhead, 61 /* = */, 2, 20, TRUE} // 31
  179. , {doOpenLookAheadNeg, 33 /* ! */, 2, 20, TRUE} // 32
  180. , {doNOP, 60 /* < */, 46,0, TRUE} // 33
  181. , {doNOP, 35 /* # */, 50, 2, TRUE} // 34
  182. , {doBeginMatchMode, 105 /* i */, 53,0, FALSE} // 35
  183. , {doBeginMatchMode, 100 /* d */, 53,0, FALSE} // 36
  184. , {doBeginMatchMode, 109 /* m */, 53,0, FALSE} // 37
  185. , {doBeginMatchMode, 115 /* s */, 53,0, FALSE} // 38
  186. , {doBeginMatchMode, 117 /* u */, 53,0, FALSE} // 39
  187. , {doBeginMatchMode, 119 /* w */, 53,0, FALSE} // 40
  188. , {doBeginMatchMode, 120 /* x */, 53,0, FALSE} // 41
  189. , {doBeginMatchMode, 45 /* - */, 53,0, FALSE} // 42
  190. , {doConditionalExpr, 40 /* ( */, 206,0, TRUE} // 43
  191. , {doPerlInline, 123 /* { */, 206,0, TRUE} // 44
  192. , {doBadOpenParenType, 255, 206,0, FALSE} // 45
  193. , {doOpenLookBehind, 61 /* = */, 2, 20, TRUE} // 46 open-paren-lookbehind
  194. , {doOpenLookBehindNeg, 33 /* ! */, 2, 20, TRUE} // 47
  195. , {doBeginNamedCapture, 129, 64,0, FALSE} // 48
  196. , {doBadOpenParenType, 255, 206,0, FALSE} // 49
  197. , {doNOP, 41 /* ) */, 255,0, TRUE} // 50 paren-comment
  198. , {doMismatchedParenErr, 253, 206,0, FALSE} // 51
  199. , {doNOP, 255, 50,0, TRUE} // 52
  200. , {doMatchMode, 105 /* i */, 53,0, TRUE} // 53 paren-flag
  201. , {doMatchMode, 100 /* d */, 53,0, TRUE} // 54
  202. , {doMatchMode, 109 /* m */, 53,0, TRUE} // 55
  203. , {doMatchMode, 115 /* s */, 53,0, TRUE} // 56
  204. , {doMatchMode, 117 /* u */, 53,0, TRUE} // 57
  205. , {doMatchMode, 119 /* w */, 53,0, TRUE} // 58
  206. , {doMatchMode, 120 /* x */, 53,0, TRUE} // 59
  207. , {doMatchMode, 45 /* - */, 53,0, TRUE} // 60
  208. , {doSetMatchMode, 41 /* ) */, 2,0, TRUE} // 61
  209. , {doMatchModeParen, 58 /* : */, 2, 14, TRUE} // 62
  210. , {doBadModeFlag, 255, 206,0, FALSE} // 63
  211. , {doContinueNamedCapture, 129, 64,0, TRUE} // 64 named-capture
  212. , {doContinueNamedCapture, 128, 64,0, TRUE} // 65
  213. , {doOpenCaptureParen, 62 /* > */, 2, 14, TRUE} // 66
  214. , {doBadNamedCapture, 255, 206,0, FALSE} // 67
  215. , {doNGStar, 63 /* ? */, 20,0, TRUE} // 68 quant-star
  216. , {doPossessiveStar, 43 /* + */, 20,0, TRUE} // 69
  217. , {doStar, 255, 20,0, FALSE} // 70
  218. , {doNGPlus, 63 /* ? */, 20,0, TRUE} // 71 quant-plus
  219. , {doPossessivePlus, 43 /* + */, 20,0, TRUE} // 72
  220. , {doPlus, 255, 20,0, FALSE} // 73
  221. , {doNGOpt, 63 /* ? */, 20,0, TRUE} // 74 quant-opt
  222. , {doPossessiveOpt, 43 /* + */, 20,0, TRUE} // 75
  223. , {doOpt, 255, 20,0, FALSE} // 76
  224. , {doNOP, 128, 79,0, FALSE} // 77 interval-open
  225. , {doIntervalError, 255, 206,0, FALSE} // 78
  226. , {doIntevalLowerDigit, 128, 79,0, TRUE} // 79 interval-lower
  227. , {doNOP, 44 /* , */, 83,0, TRUE} // 80
  228. , {doIntervalSame, 125 /* } */, 86,0, TRUE} // 81
  229. , {doIntervalError, 255, 206,0, FALSE} // 82
  230. , {doIntervalUpperDigit, 128, 83,0, TRUE} // 83 interval-upper
  231. , {doNOP, 125 /* } */, 86,0, TRUE} // 84
  232. , {doIntervalError, 255, 206,0, FALSE} // 85
  233. , {doNGInterval, 63 /* ? */, 20,0, TRUE} // 86 interval-type
  234. , {doPossessiveInterval, 43 /* + */, 20,0, TRUE} // 87
  235. , {doInterval, 255, 20,0, FALSE} // 88
  236. , {doBackslashA, 65 /* A */, 2,0, TRUE} // 89 backslash
  237. , {doBackslashB, 66 /* B */, 2,0, TRUE} // 90
  238. , {doBackslashb, 98 /* b */, 2,0, TRUE} // 91
  239. , {doBackslashd, 100 /* d */, 14,0, TRUE} // 92
  240. , {doBackslashD, 68 /* D */, 14,0, TRUE} // 93
  241. , {doBackslashG, 71 /* G */, 2,0, TRUE} // 94
  242. , {doBackslashh, 104 /* h */, 14,0, TRUE} // 95
  243. , {doBackslashH, 72 /* H */, 14,0, TRUE} // 96
  244. , {doNOP, 107 /* k */, 115,0, TRUE} // 97
  245. , {doNamedChar, 78 /* N */, 14,0, FALSE} // 98
  246. , {doProperty, 112 /* p */, 14,0, FALSE} // 99
  247. , {doProperty, 80 /* P */, 14,0, FALSE} // 100
  248. , {doBackslashR, 82 /* R */, 14,0, TRUE} // 101
  249. , {doEnterQuoteMode, 81 /* Q */, 2,0, TRUE} // 102
  250. , {doBackslashS, 83 /* S */, 14,0, TRUE} // 103
  251. , {doBackslashs, 115 /* s */, 14,0, TRUE} // 104
  252. , {doBackslashv, 118 /* v */, 14,0, TRUE} // 105
  253. , {doBackslashV, 86 /* V */, 14,0, TRUE} // 106
  254. , {doBackslashW, 87 /* W */, 14,0, TRUE} // 107
  255. , {doBackslashw, 119 /* w */, 14,0, TRUE} // 108
  256. , {doBackslashX, 88 /* X */, 14,0, TRUE} // 109
  257. , {doBackslashZ, 90 /* Z */, 2,0, TRUE} // 110
  258. , {doBackslashz, 122 /* z */, 2,0, TRUE} // 111
  259. , {doBackRef, 128, 14,0, TRUE} // 112
  260. , {doEscapeError, 253, 206,0, FALSE} // 113
  261. , {doEscapedLiteralChar, 255, 14,0, TRUE} // 114
  262. , {doBeginNamedBackRef, 60 /* < */, 117,0, TRUE} // 115 named-backref
  263. , {doBadNamedCapture, 255, 206,0, FALSE} // 116
  264. , {doContinueNamedBackRef, 129, 119,0, TRUE} // 117 named-backref-2
  265. , {doBadNamedCapture, 255, 206,0, FALSE} // 118
  266. , {doContinueNamedBackRef, 129, 119,0, TRUE} // 119 named-backref-3
  267. , {doContinueNamedBackRef, 128, 119,0, TRUE} // 120
  268. , {doCompleteNamedBackRef, 62 /* > */, 14,0, TRUE} // 121
  269. , {doBadNamedCapture, 255, 206,0, FALSE} // 122
  270. , {doSetNegate, 94 /* ^ */, 126,0, TRUE} // 123 set-open
  271. , {doSetPosixProp, 58 /* : */, 128,0, FALSE} // 124
  272. , {doNOP, 255, 126,0, FALSE} // 125
  273. , {doSetLiteral, 93 /* ] */, 141,0, TRUE} // 126 set-open2
  274. , {doNOP, 255, 131,0, FALSE} // 127
  275. , {doSetEnd, 93 /* ] */, 255,0, TRUE} // 128 set-posix
  276. , {doNOP, 58 /* : */, 131,0, FALSE} // 129
  277. , {doRuleError, 255, 206,0, FALSE} // 130
  278. , {doSetEnd, 93 /* ] */, 255,0, TRUE} // 131 set-start
  279. , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE} // 132
  280. , {doNOP, 92 /* \ */, 191,0, TRUE} // 133
  281. , {doNOP, 45 /* - */, 137,0, TRUE} // 134
  282. , {doNOP, 38 /* & */, 139,0, TRUE} // 135
  283. , {doSetLiteral, 255, 141,0, TRUE} // 136
  284. , {doRuleError, 45 /* - */, 206,0, FALSE} // 137 set-start-dash
  285. , {doSetAddDash, 255, 141,0, FALSE} // 138
  286. , {doRuleError, 38 /* & */, 206,0, FALSE} // 139 set-start-amp
  287. , {doSetAddAmp, 255, 141,0, FALSE} // 140
  288. , {doSetEnd, 93 /* ] */, 255,0, TRUE} // 141 set-after-lit
  289. , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE} // 142
  290. , {doNOP, 45 /* - */, 178,0, TRUE} // 143
  291. , {doNOP, 38 /* & */, 169,0, TRUE} // 144
  292. , {doNOP, 92 /* \ */, 191,0, TRUE} // 145
  293. , {doSetNoCloseError, 253, 206,0, FALSE} // 146
  294. , {doSetLiteral, 255, 141,0, TRUE} // 147
  295. , {doSetEnd, 93 /* ] */, 255,0, TRUE} // 148 set-after-set
  296. , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE} // 149
  297. , {doNOP, 45 /* - */, 171,0, TRUE} // 150
  298. , {doNOP, 38 /* & */, 166,0, TRUE} // 151
  299. , {doNOP, 92 /* \ */, 191,0, TRUE} // 152
  300. , {doSetNoCloseError, 253, 206,0, FALSE} // 153
  301. , {doSetLiteral, 255, 141,0, TRUE} // 154
  302. , {doSetEnd, 93 /* ] */, 255,0, TRUE} // 155 set-after-range
  303. , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE} // 156
  304. , {doNOP, 45 /* - */, 174,0, TRUE} // 157
  305. , {doNOP, 38 /* & */, 176,0, TRUE} // 158
  306. , {doNOP, 92 /* \ */, 191,0, TRUE} // 159
  307. , {doSetNoCloseError, 253, 206,0, FALSE} // 160
  308. , {doSetLiteral, 255, 141,0, TRUE} // 161
  309. , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE} // 162 set-after-op
  310. , {doSetOpError, 93 /* ] */, 206,0, FALSE} // 163
  311. , {doNOP, 92 /* \ */, 191,0, TRUE} // 164
  312. , {doSetLiteral, 255, 141,0, TRUE} // 165
  313. , {doSetBeginIntersection1, 91 /* [ */, 123, 148, TRUE} // 166 set-set-amp
  314. , {doSetIntersection2, 38 /* & */, 162,0, TRUE} // 167
  315. , {doSetAddAmp, 255, 141,0, FALSE} // 168
  316. , {doSetIntersection2, 38 /* & */, 162,0, TRUE} // 169 set-lit-amp
  317. , {doSetAddAmp, 255, 141,0, FALSE} // 170
  318. , {doSetBeginDifference1, 91 /* [ */, 123, 148, TRUE} // 171 set-set-dash
  319. , {doSetDifference2, 45 /* - */, 162,0, TRUE} // 172
  320. , {doSetAddDash, 255, 141,0, FALSE} // 173
  321. , {doSetDifference2, 45 /* - */, 162,0, TRUE} // 174 set-range-dash
  322. , {doSetAddDash, 255, 141,0, FALSE} // 175
  323. , {doSetIntersection2, 38 /* & */, 162,0, TRUE} // 176 set-range-amp
  324. , {doSetAddAmp, 255, 141,0, FALSE} // 177
  325. , {doSetDifference2, 45 /* - */, 162,0, TRUE} // 178 set-lit-dash
  326. , {doSetAddDash, 91 /* [ */, 141,0, FALSE} // 179
  327. , {doSetAddDash, 93 /* ] */, 141,0, FALSE} // 180
  328. , {doNOP, 92 /* \ */, 183,0, TRUE} // 181
  329. , {doSetRange, 255, 155,0, TRUE} // 182
  330. , {doSetOpError, 115 /* s */, 206,0, FALSE} // 183 set-lit-dash-escape
  331. , {doSetOpError, 83 /* S */, 206,0, FALSE} // 184
  332. , {doSetOpError, 119 /* w */, 206,0, FALSE} // 185
  333. , {doSetOpError, 87 /* W */, 206,0, FALSE} // 186
  334. , {doSetOpError, 100 /* d */, 206,0, FALSE} // 187
  335. , {doSetOpError, 68 /* D */, 206,0, FALSE} // 188
  336. , {doSetNamedRange, 78 /* N */, 155,0, FALSE} // 189
  337. , {doSetRange, 255, 155,0, TRUE} // 190
  338. , {doSetProp, 112 /* p */, 148,0, FALSE} // 191 set-escape
  339. , {doSetProp, 80 /* P */, 148,0, FALSE} // 192
  340. , {doSetNamedChar, 78 /* N */, 141,0, FALSE} // 193
  341. , {doSetBackslash_s, 115 /* s */, 155,0, TRUE} // 194
  342. , {doSetBackslash_S, 83 /* S */, 155,0, TRUE} // 195
  343. , {doSetBackslash_w, 119 /* w */, 155,0, TRUE} // 196
  344. , {doSetBackslash_W, 87 /* W */, 155,0, TRUE} // 197
  345. , {doSetBackslash_d, 100 /* d */, 155,0, TRUE} // 198
  346. , {doSetBackslash_D, 68 /* D */, 155,0, TRUE} // 199
  347. , {doSetBackslash_h, 104 /* h */, 155,0, TRUE} // 200
  348. , {doSetBackslash_H, 72 /* H */, 155,0, TRUE} // 201
  349. , {doSetBackslash_v, 118 /* v */, 155,0, TRUE} // 202
  350. , {doSetBackslash_V, 86 /* V */, 155,0, TRUE} // 203
  351. , {doSetLiteralEscaped, 255, 141,0, TRUE} // 204
  352. , {doSetFinish, 255, 14,0, FALSE} // 205 set-finish
  353. , {doExit, 255, 206,0, TRUE} // 206 errorDeath
  354. };
  355. static const char * const RegexStateNames[] = { 0,
  356. "start",
  357. "term",
  358. 0,
  359. 0,
  360. 0,
  361. 0,
  362. 0,
  363. 0,
  364. 0,
  365. 0,
  366. 0,
  367. 0,
  368. 0,
  369. "expr-quant",
  370. 0,
  371. 0,
  372. 0,
  373. 0,
  374. 0,
  375. "expr-cont",
  376. 0,
  377. 0,
  378. "open-paren-quant",
  379. 0,
  380. "open-paren-quant2",
  381. 0,
  382. "open-paren",
  383. 0,
  384. "open-paren-extended",
  385. 0,
  386. 0,
  387. 0,
  388. 0,
  389. 0,
  390. 0,
  391. 0,
  392. 0,
  393. 0,
  394. 0,
  395. 0,
  396. 0,
  397. 0,
  398. 0,
  399. 0,
  400. 0,
  401. "open-paren-lookbehind",
  402. 0,
  403. 0,
  404. 0,
  405. "paren-comment",
  406. 0,
  407. 0,
  408. "paren-flag",
  409. 0,
  410. 0,
  411. 0,
  412. 0,
  413. 0,
  414. 0,
  415. 0,
  416. 0,
  417. 0,
  418. 0,
  419. "named-capture",
  420. 0,
  421. 0,
  422. 0,
  423. "quant-star",
  424. 0,
  425. 0,
  426. "quant-plus",
  427. 0,
  428. 0,
  429. "quant-opt",
  430. 0,
  431. 0,
  432. "interval-open",
  433. 0,
  434. "interval-lower",
  435. 0,
  436. 0,
  437. 0,
  438. "interval-upper",
  439. 0,
  440. 0,
  441. "interval-type",
  442. 0,
  443. 0,
  444. "backslash",
  445. 0,
  446. 0,
  447. 0,
  448. 0,
  449. 0,
  450. 0,
  451. 0,
  452. 0,
  453. 0,
  454. 0,
  455. 0,
  456. 0,
  457. 0,
  458. 0,
  459. 0,
  460. 0,
  461. 0,
  462. 0,
  463. 0,
  464. 0,
  465. 0,
  466. 0,
  467. 0,
  468. 0,
  469. 0,
  470. "named-backref",
  471. 0,
  472. "named-backref-2",
  473. 0,
  474. "named-backref-3",
  475. 0,
  476. 0,
  477. 0,
  478. "set-open",
  479. 0,
  480. 0,
  481. "set-open2",
  482. 0,
  483. "set-posix",
  484. 0,
  485. 0,
  486. "set-start",
  487. 0,
  488. 0,
  489. 0,
  490. 0,
  491. 0,
  492. "set-start-dash",
  493. 0,
  494. "set-start-amp",
  495. 0,
  496. "set-after-lit",
  497. 0,
  498. 0,
  499. 0,
  500. 0,
  501. 0,
  502. 0,
  503. "set-after-set",
  504. 0,
  505. 0,
  506. 0,
  507. 0,
  508. 0,
  509. 0,
  510. "set-after-range",
  511. 0,
  512. 0,
  513. 0,
  514. 0,
  515. 0,
  516. 0,
  517. "set-after-op",
  518. 0,
  519. 0,
  520. 0,
  521. "set-set-amp",
  522. 0,
  523. 0,
  524. "set-lit-amp",
  525. 0,
  526. "set-set-dash",
  527. 0,
  528. 0,
  529. "set-range-dash",
  530. 0,
  531. "set-range-amp",
  532. 0,
  533. "set-lit-dash",
  534. 0,
  535. 0,
  536. 0,
  537. 0,
  538. "set-lit-dash-escape",
  539. 0,
  540. 0,
  541. 0,
  542. 0,
  543. 0,
  544. 0,
  545. 0,
  546. "set-escape",
  547. 0,
  548. 0,
  549. 0,
  550. 0,
  551. 0,
  552. 0,
  553. 0,
  554. 0,
  555. 0,
  556. 0,
  557. 0,
  558. 0,
  559. 0,
  560. "set-finish",
  561. "errorDeath",
  562. 0};
  563. U_NAMESPACE_END
  564. #endif