//---------------------------------------------------------------------------------
//
// Generated Header File.  Do not edit by hand.
//    This file contains the state table for the ICU Regular Expression Pattern Parser
//    It is generated by the Perl script "regexcst.pl" from
//    the rule parser state definitions file "regexcst.txt".
//
//   Copyright (C) 2002-2016 International Business Machines Corporation 
//   and others. All rights reserved.  
//
//---------------------------------------------------------------------------------
#ifndef RBBIRPT_H
#define RBBIRPT_H

#include "unicode/utypes.h"

U_NAMESPACE_BEGIN
//
// Character classes for regex pattern scanning.
//
    static const uint8_t kRuleSet_ascii_letter = 128;
    static const uint8_t kRuleSet_digit_char = 129;
    static const uint8_t kRuleSet_rule_char = 130;


enum Regex_PatternParseAction {
    doSetBackslash_V,
    doSetBackslash_h,
    doBeginNamedBackRef,
    doSetMatchMode,
    doEnterQuoteMode,
    doOpenCaptureParen,
    doContinueNamedCapture,
    doSetBackslash_d,
    doBeginMatchMode,
    doBackslashX,
    doSetPosixProp,
    doIntervalError,
    doSetLiteralEscaped,
    doSetBackslash_s,
    doNOP,
    doBackslashv,
    doOpenLookBehind,
    doPatStart,
    doPossessiveInterval,
    doOpenAtomicParen,
    doOpenLookAheadNeg,
    doBackslashd,
    doBackslashZ,
    doIntervalUpperDigit,
    doBadNamedCapture,
    doSetDifference2,
    doSetAddAmp,
    doSetNamedChar,
    doNamedChar,
    doSetBackslash_H,
    doBackslashb,
    doBackslashz,
    doSetBeginDifference1,
    doOpenLookAhead,
    doMatchModeParen,
    doBackslashV,
    doIntevalLowerDigit,
    doCaret,
    doSetEnd,
    doSetNegate,
    doBackslashS,
    doOrOperator,
    doBackslashB,
    doBackslashw,
    doBackslashR,
    doRuleError,
    doDotAny,
    doMatchMode,
    doSetBackslash_W,
    doNGPlus,
    doSetBackslash_D,
    doPossessiveOpt,
    doSetNamedRange,
    doConditionalExpr,
    doBackslashs,
    doPossessiveStar,
    doPlus,
    doBadOpenParenType,
    doCloseParen,
    doNGInterval,
    doSetProp,
    doBackRef,
    doSetBeginUnion,
    doEscapeError,
    doOpt,
    doSetBeginIntersection1,
    doPossessivePlus,
    doBackslashD,
    doOpenLookBehindNeg,
    doSetBegin,
    doSetIntersection2,
    doCompleteNamedBackRef,
    doSetRange,
    doDollar,
    doBackslashH,
    doExit,
    doNGOpt,
    doOpenNonCaptureParen,
    doBackslashA,
    doSetBackslash_v,
    doBackslashh,
    doBadModeFlag,
    doSetNoCloseError,
    doIntervalSame,
    doSetAddDash,
    doBackslashW,
    doPerlInline,
    doSetOpError,
    doSetLiteral,
    doPatFinish,
    doBeginNamedCapture,
    doEscapedLiteralChar,
    doLiteralChar,
    doSuppressComments,
    doMismatchedParenErr,
    doNGStar,
    doSetFinish,
    doInterval,
    doBackslashG,
    doStar,
    doSetBackslash_w,
    doSetBackslash_S,
    doProperty,
    doContinueNamedBackRef,
    doIntervalInit,
    rbbiLastAction};

//-------------------------------------------------------------------------------
//
//  RegexTableEl       represents the structure of a row in the transition table
//                     for the pattern parser state machine.
//-------------------------------------------------------------------------------
struct RegexTableEl {
    Regex_PatternParseAction      fAction;
    uint8_t                       fCharClass;       // 0-127:    an individual ASCII character
                                                    // 128-255:  character class index
    uint8_t                       fNextState;       // 0-250:    normal next-state numbers
                                                    // 255:      pop next-state from stack.
    uint8_t                       fPushState;
    UBool                         fNextChar;
};

static const struct RegexTableEl gRuleParseStateTable[] = {
    {doNOP, 0, 0, 0, TRUE}
    , {doPatStart, 255, 2,0,  FALSE}     //  1      start
    , {doLiteralChar, 254, 14,0,  TRUE}     //  2      term
    , {doLiteralChar, 130, 14,0,  TRUE}     //  3 
    , {doSetBegin, 91 /* [ */, 123, 205, TRUE}     //  4 
    , {doNOP, 40 /* ( */, 27,0,  TRUE}     //  5 
    , {doDotAny, 46 /* . */, 14,0,  TRUE}     //  6 
    , {doCaret, 94 /* ^ */, 14,0,  TRUE}     //  7 
    , {doDollar, 36 /* $ */, 14,0,  TRUE}     //  8 
    , {doNOP, 92 /* \ */, 89,0,  TRUE}     //  9 
    , {doOrOperator, 124 /* | */, 2,0,  TRUE}     //  10 
    , {doCloseParen, 41 /* ) */, 255,0,  TRUE}     //  11 
    , {doPatFinish, 253, 2,0,  FALSE}     //  12 
    , {doRuleError, 255, 206,0,  FALSE}     //  13 
    , {doNOP, 42 /* * */, 68,0,  TRUE}     //  14      expr-quant
    , {doNOP, 43 /* + */, 71,0,  TRUE}     //  15 
    , {doNOP, 63 /* ? */, 74,0,  TRUE}     //  16 
    , {doIntervalInit, 123 /* { */, 77,0,  TRUE}     //  17 
    , {doNOP, 40 /* ( */, 23,0,  TRUE}     //  18 
    , {doNOP, 255, 20,0,  FALSE}     //  19 
    , {doOrOperator, 124 /* | */, 2,0,  TRUE}     //  20      expr-cont
    , {doCloseParen, 41 /* ) */, 255,0,  TRUE}     //  21 
    , {doNOP, 255, 2,0,  FALSE}     //  22 
    , {doSuppressComments, 63 /* ? */, 25,0,  TRUE}     //  23      open-paren-quant
    , {doNOP, 255, 27,0,  FALSE}     //  24 
    , {doNOP, 35 /* # */, 50, 14, TRUE}     //  25      open-paren-quant2
    , {doNOP, 255, 29,0,  FALSE}     //  26 
    , {doSuppressComments, 63 /* ? */, 29,0,  TRUE}     //  27      open-paren
    , {doOpenCaptureParen, 255, 2, 14, FALSE}     //  28 
    , {doOpenNonCaptureParen, 58 /* : */, 2, 14, TRUE}     //  29      open-paren-extended
    , {doOpenAtomicParen, 62 /* > */, 2, 14, TRUE}     //  30 
    , {doOpenLookAhead, 61 /* = */, 2, 20, TRUE}     //  31 
    , {doOpenLookAheadNeg, 33 /* ! */, 2, 20, TRUE}     //  32 
    , {doNOP, 60 /* < */, 46,0,  TRUE}     //  33 
    , {doNOP, 35 /* # */, 50, 2, TRUE}     //  34 
    , {doBeginMatchMode, 105 /* i */, 53,0,  FALSE}     //  35 
    , {doBeginMatchMode, 100 /* d */, 53,0,  FALSE}     //  36 
    , {doBeginMatchMode, 109 /* m */, 53,0,  FALSE}     //  37 
    , {doBeginMatchMode, 115 /* s */, 53,0,  FALSE}     //  38 
    , {doBeginMatchMode, 117 /* u */, 53,0,  FALSE}     //  39 
    , {doBeginMatchMode, 119 /* w */, 53,0,  FALSE}     //  40 
    , {doBeginMatchMode, 120 /* x */, 53,0,  FALSE}     //  41 
    , {doBeginMatchMode, 45 /* - */, 53,0,  FALSE}     //  42 
    , {doConditionalExpr, 40 /* ( */, 206,0,  TRUE}     //  43 
    , {doPerlInline, 123 /* { */, 206,0,  TRUE}     //  44 
    , {doBadOpenParenType, 255, 206,0,  FALSE}     //  45 
    , {doOpenLookBehind, 61 /* = */, 2, 20, TRUE}     //  46      open-paren-lookbehind
    , {doOpenLookBehindNeg, 33 /* ! */, 2, 20, TRUE}     //  47 
    , {doBeginNamedCapture, 128, 64,0,  FALSE}     //  48 
    , {doBadOpenParenType, 255, 206,0,  FALSE}     //  49 
    , {doNOP, 41 /* ) */, 255,0,  TRUE}     //  50      paren-comment
    , {doMismatchedParenErr, 253, 206,0,  FALSE}     //  51 
    , {doNOP, 255, 50,0,  TRUE}     //  52 
    , {doMatchMode, 105 /* i */, 53,0,  TRUE}     //  53      paren-flag
    , {doMatchMode, 100 /* d */, 53,0,  TRUE}     //  54 
    , {doMatchMode, 109 /* m */, 53,0,  TRUE}     //  55 
    , {doMatchMode, 115 /* s */, 53,0,  TRUE}     //  56 
    , {doMatchMode, 117 /* u */, 53,0,  TRUE}     //  57 
    , {doMatchMode, 119 /* w */, 53,0,  TRUE}     //  58 
    , {doMatchMode, 120 /* x */, 53,0,  TRUE}     //  59 
    , {doMatchMode, 45 /* - */, 53,0,  TRUE}     //  60 
    , {doSetMatchMode, 41 /* ) */, 2,0,  TRUE}     //  61 
    , {doMatchModeParen, 58 /* : */, 2, 14, TRUE}     //  62 
    , {doBadModeFlag, 255, 206,0,  FALSE}     //  63 
    , {doContinueNamedCapture, 128, 64,0,  TRUE}     //  64      named-capture
    , {doContinueNamedCapture, 129, 64,0,  TRUE}     //  65 
    , {doOpenCaptureParen, 62 /* > */, 2, 14, TRUE}     //  66 
    , {doBadNamedCapture, 255, 206,0,  FALSE}     //  67 
    , {doNGStar, 63 /* ? */, 20,0,  TRUE}     //  68      quant-star
    , {doPossessiveStar, 43 /* + */, 20,0,  TRUE}     //  69 
    , {doStar, 255, 20,0,  FALSE}     //  70 
    , {doNGPlus, 63 /* ? */, 20,0,  TRUE}     //  71      quant-plus
    , {doPossessivePlus, 43 /* + */, 20,0,  TRUE}     //  72 
    , {doPlus, 255, 20,0,  FALSE}     //  73 
    , {doNGOpt, 63 /* ? */, 20,0,  TRUE}     //  74      quant-opt
    , {doPossessiveOpt, 43 /* + */, 20,0,  TRUE}     //  75 
    , {doOpt, 255, 20,0,  FALSE}     //  76 
    , {doNOP, 129, 79,0,  FALSE}     //  77      interval-open
    , {doIntervalError, 255, 206,0,  FALSE}     //  78 
    , {doIntevalLowerDigit, 129, 79,0,  TRUE}     //  79      interval-lower
    , {doNOP, 44 /* , */, 83,0,  TRUE}     //  80 
    , {doIntervalSame, 125 /* } */, 86,0,  TRUE}     //  81 
    , {doIntervalError, 255, 206,0,  FALSE}     //  82 
    , {doIntervalUpperDigit, 129, 83,0,  TRUE}     //  83      interval-upper
    , {doNOP, 125 /* } */, 86,0,  TRUE}     //  84 
    , {doIntervalError, 255, 206,0,  FALSE}     //  85 
    , {doNGInterval, 63 /* ? */, 20,0,  TRUE}     //  86      interval-type
    , {doPossessiveInterval, 43 /* + */, 20,0,  TRUE}     //  87 
    , {doInterval, 255, 20,0,  FALSE}     //  88 
    , {doBackslashA, 65 /* A */, 2,0,  TRUE}     //  89      backslash
    , {doBackslashB, 66 /* B */, 2,0,  TRUE}     //  90 
    , {doBackslashb, 98 /* b */, 2,0,  TRUE}     //  91 
    , {doBackslashd, 100 /* d */, 14,0,  TRUE}     //  92 
    , {doBackslashD, 68 /* D */, 14,0,  TRUE}     //  93 
    , {doBackslashG, 71 /* G */, 2,0,  TRUE}     //  94 
    , {doBackslashh, 104 /* h */, 14,0,  TRUE}     //  95 
    , {doBackslashH, 72 /* H */, 14,0,  TRUE}     //  96 
    , {doNOP, 107 /* k */, 115,0,  TRUE}     //  97 
    , {doNamedChar, 78 /* N */, 14,0,  FALSE}     //  98 
    , {doProperty, 112 /* p */, 14,0,  FALSE}     //  99 
    , {doProperty, 80 /* P */, 14,0,  FALSE}     //  100 
    , {doBackslashR, 82 /* R */, 14,0,  TRUE}     //  101 
    , {doEnterQuoteMode, 81 /* Q */, 2,0,  TRUE}     //  102 
    , {doBackslashS, 83 /* S */, 14,0,  TRUE}     //  103 
    , {doBackslashs, 115 /* s */, 14,0,  TRUE}     //  104 
    , {doBackslashv, 118 /* v */, 14,0,  TRUE}     //  105 
    , {doBackslashV, 86 /* V */, 14,0,  TRUE}     //  106 
    , {doBackslashW, 87 /* W */, 14,0,  TRUE}     //  107 
    , {doBackslashw, 119 /* w */, 14,0,  TRUE}     //  108 
    , {doBackslashX, 88 /* X */, 14,0,  TRUE}     //  109 
    , {doBackslashZ, 90 /* Z */, 2,0,  TRUE}     //  110 
    , {doBackslashz, 122 /* z */, 2,0,  TRUE}     //  111 
    , {doBackRef, 129, 14,0,  TRUE}     //  112 
    , {doEscapeError, 253, 206,0,  FALSE}     //  113 
    , {doEscapedLiteralChar, 255, 14,0,  TRUE}     //  114 
    , {doBeginNamedBackRef, 60 /* < */, 117,0,  TRUE}     //  115      named-backref
    , {doBadNamedCapture, 255, 206,0,  FALSE}     //  116 
    , {doContinueNamedBackRef, 128, 119,0,  TRUE}     //  117      named-backref-2
    , {doBadNamedCapture, 255, 206,0,  FALSE}     //  118 
    , {doContinueNamedBackRef, 128, 119,0,  TRUE}     //  119      named-backref-3
    , {doContinueNamedBackRef, 129, 119,0,  TRUE}     //  120 
    , {doCompleteNamedBackRef, 62 /* > */, 14,0,  TRUE}     //  121 
    , {doBadNamedCapture, 255, 206,0,  FALSE}     //  122 
    , {doSetNegate, 94 /* ^ */, 126,0,  TRUE}     //  123      set-open
    , {doSetPosixProp, 58 /* : */, 128,0,  FALSE}     //  124 
    , {doNOP, 255, 126,0,  FALSE}     //  125 
    , {doSetLiteral, 93 /* ] */, 141,0,  TRUE}     //  126      set-open2
    , {doNOP, 255, 131,0,  FALSE}     //  127 
    , {doSetEnd, 93 /* ] */, 255,0,  TRUE}     //  128      set-posix
    , {doNOP, 58 /* : */, 131,0,  FALSE}     //  129 
    , {doRuleError, 255, 206,0,  FALSE}     //  130 
    , {doSetEnd, 93 /* ] */, 255,0,  TRUE}     //  131      set-start
    , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE}     //  132 
    , {doNOP, 92 /* \ */, 191,0,  TRUE}     //  133 
    , {doNOP, 45 /* - */, 137,0,  TRUE}     //  134 
    , {doNOP, 38 /* & */, 139,0,  TRUE}     //  135 
    , {doSetLiteral, 255, 141,0,  TRUE}     //  136 
    , {doRuleError, 45 /* - */, 206,0,  FALSE}     //  137      set-start-dash
    , {doSetAddDash, 255, 141,0,  FALSE}     //  138 
    , {doRuleError, 38 /* & */, 206,0,  FALSE}     //  139      set-start-amp
    , {doSetAddAmp, 255, 141,0,  FALSE}     //  140 
    , {doSetEnd, 93 /* ] */, 255,0,  TRUE}     //  141      set-after-lit
    , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE}     //  142 
    , {doNOP, 45 /* - */, 178,0,  TRUE}     //  143 
    , {doNOP, 38 /* & */, 169,0,  TRUE}     //  144 
    , {doNOP, 92 /* \ */, 191,0,  TRUE}     //  145 
    , {doSetNoCloseError, 253, 206,0,  FALSE}     //  146 
    , {doSetLiteral, 255, 141,0,  TRUE}     //  147 
    , {doSetEnd, 93 /* ] */, 255,0,  TRUE}     //  148      set-after-set
    , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE}     //  149 
    , {doNOP, 45 /* - */, 171,0,  TRUE}     //  150 
    , {doNOP, 38 /* & */, 166,0,  TRUE}     //  151 
    , {doNOP, 92 /* \ */, 191,0,  TRUE}     //  152 
    , {doSetNoCloseError, 253, 206,0,  FALSE}     //  153 
    , {doSetLiteral, 255, 141,0,  TRUE}     //  154 
    , {doSetEnd, 93 /* ] */, 255,0,  TRUE}     //  155      set-after-range
    , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE}     //  156 
    , {doNOP, 45 /* - */, 174,0,  TRUE}     //  157 
    , {doNOP, 38 /* & */, 176,0,  TRUE}     //  158 
    , {doNOP, 92 /* \ */, 191,0,  TRUE}     //  159 
    , {doSetNoCloseError, 253, 206,0,  FALSE}     //  160 
    , {doSetLiteral, 255, 141,0,  TRUE}     //  161 
    , {doSetBeginUnion, 91 /* [ */, 123, 148, TRUE}     //  162      set-after-op
    , {doSetOpError, 93 /* ] */, 206,0,  FALSE}     //  163 
    , {doNOP, 92 /* \ */, 191,0,  TRUE}     //  164 
    , {doSetLiteral, 255, 141,0,  TRUE}     //  165 
    , {doSetBeginIntersection1, 91 /* [ */, 123, 148, TRUE}     //  166      set-set-amp
    , {doSetIntersection2, 38 /* & */, 162,0,  TRUE}     //  167 
    , {doSetAddAmp, 255, 141,0,  FALSE}     //  168 
    , {doSetIntersection2, 38 /* & */, 162,0,  TRUE}     //  169      set-lit-amp
    , {doSetAddAmp, 255, 141,0,  FALSE}     //  170 
    , {doSetBeginDifference1, 91 /* [ */, 123, 148, TRUE}     //  171      set-set-dash
    , {doSetDifference2, 45 /* - */, 162,0,  TRUE}     //  172 
    , {doSetAddDash, 255, 141,0,  FALSE}     //  173 
    , {doSetDifference2, 45 /* - */, 162,0,  TRUE}     //  174      set-range-dash
    , {doSetAddDash, 255, 141,0,  FALSE}     //  175 
    , {doSetIntersection2, 38 /* & */, 162,0,  TRUE}     //  176      set-range-amp
    , {doSetAddAmp, 255, 141,0,  FALSE}     //  177 
    , {doSetDifference2, 45 /* - */, 162,0,  TRUE}     //  178      set-lit-dash
    , {doSetAddDash, 91 /* [ */, 141,0,  FALSE}     //  179 
    , {doSetAddDash, 93 /* ] */, 141,0,  FALSE}     //  180 
    , {doNOP, 92 /* \ */, 183,0,  TRUE}     //  181 
    , {doSetRange, 255, 155,0,  TRUE}     //  182 
    , {doSetOpError, 115 /* s */, 206,0,  FALSE}     //  183      set-lit-dash-escape
    , {doSetOpError, 83 /* S */, 206,0,  FALSE}     //  184 
    , {doSetOpError, 119 /* w */, 206,0,  FALSE}     //  185 
    , {doSetOpError, 87 /* W */, 206,0,  FALSE}     //  186 
    , {doSetOpError, 100 /* d */, 206,0,  FALSE}     //  187 
    , {doSetOpError, 68 /* D */, 206,0,  FALSE}     //  188 
    , {doSetNamedRange, 78 /* N */, 155,0,  FALSE}     //  189 
    , {doSetRange, 255, 155,0,  TRUE}     //  190 
    , {doSetProp, 112 /* p */, 148,0,  FALSE}     //  191      set-escape
    , {doSetProp, 80 /* P */, 148,0,  FALSE}     //  192 
    , {doSetNamedChar, 78 /* N */, 141,0,  FALSE}     //  193 
    , {doSetBackslash_s, 115 /* s */, 155,0,  TRUE}     //  194 
    , {doSetBackslash_S, 83 /* S */, 155,0,  TRUE}     //  195 
    , {doSetBackslash_w, 119 /* w */, 155,0,  TRUE}     //  196 
    , {doSetBackslash_W, 87 /* W */, 155,0,  TRUE}     //  197 
    , {doSetBackslash_d, 100 /* d */, 155,0,  TRUE}     //  198 
    , {doSetBackslash_D, 68 /* D */, 155,0,  TRUE}     //  199 
    , {doSetBackslash_h, 104 /* h */, 155,0,  TRUE}     //  200 
    , {doSetBackslash_H, 72 /* H */, 155,0,  TRUE}     //  201 
    , {doSetBackslash_v, 118 /* v */, 155,0,  TRUE}     //  202 
    , {doSetBackslash_V, 86 /* V */, 155,0,  TRUE}     //  203 
    , {doSetLiteralEscaped, 255, 141,0,  TRUE}     //  204 
    , {doSetFinish, 255, 14,0,  FALSE}     //  205      set-finish
    , {doExit, 255, 206,0,  TRUE}     //  206      errorDeath
 };
static const char * const RegexStateNames[] = {    0,
     "start",
     "term",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "expr-quant",
    0,
    0,
    0,
    0,
    0,
     "expr-cont",
    0,
    0,
     "open-paren-quant",
    0,
     "open-paren-quant2",
    0,
     "open-paren",
    0,
     "open-paren-extended",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "open-paren-lookbehind",
    0,
    0,
    0,
     "paren-comment",
    0,
    0,
     "paren-flag",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "named-capture",
    0,
    0,
    0,
     "quant-star",
    0,
    0,
     "quant-plus",
    0,
    0,
     "quant-opt",
    0,
    0,
     "interval-open",
    0,
     "interval-lower",
    0,
    0,
    0,
     "interval-upper",
    0,
    0,
     "interval-type",
    0,
    0,
     "backslash",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "named-backref",
    0,
     "named-backref-2",
    0,
     "named-backref-3",
    0,
    0,
    0,
     "set-open",
    0,
    0,
     "set-open2",
    0,
     "set-posix",
    0,
    0,
     "set-start",
    0,
    0,
    0,
    0,
    0,
     "set-start-dash",
    0,
     "set-start-amp",
    0,
     "set-after-lit",
    0,
    0,
    0,
    0,
    0,
    0,
     "set-after-set",
    0,
    0,
    0,
    0,
    0,
    0,
     "set-after-range",
    0,
    0,
    0,
    0,
    0,
    0,
     "set-after-op",
    0,
    0,
    0,
     "set-set-amp",
    0,
    0,
     "set-lit-amp",
    0,
     "set-set-dash",
    0,
    0,
     "set-range-dash",
    0,
     "set-range-amp",
    0,
     "set-lit-dash",
    0,
    0,
    0,
    0,
     "set-lit-dash-escape",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "set-escape",
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
     "set-finish",
     "errorDeath",
    0};

U_NAMESPACE_END
#endif
