1/* GENERATED SOURCE. DO NOT MODIFY. */
2// © 2016 and later: Unicode, Inc. and others.
3// License & terms of use: http://www.unicode.org/copyright.html#License
4/*
5 *******************************************************************************
6 * Copyright (c) 2003-2016, International Business Machines
7 * Corporation and others. All Rights Reserved.
8 *******************************************************************************
9 */
10
11package android.icu.text;
12
13/**
14 * Generated Java File.  Do not edit by hand.
15 * This file contains the state table for the ICU Rule Based Break Iterator
16 * rule parser.
17 * It is generated by the Perl script "rbbicst.pl" from
18 * the rule parser state definitions file "rbbirpt.txt".
19 * @hide draft / provisional / internal are hidden on Android
20 *
21 */
22class RBBIRuleParseTable
23{
24     static final short doCheckVarDef = 1;
25     static final short doDotAny = 2;
26     static final short doEndAssign = 3;
27     static final short doEndOfRule = 4;
28     static final short doEndVariableName = 5;
29     static final short doExit = 6;
30     static final short doExprCatOperator = 7;
31     static final short doExprFinished = 8;
32     static final short doExprOrOperator = 9;
33     static final short doExprRParen = 10;
34     static final short doExprStart = 11;
35     static final short doLParen = 12;
36     static final short doNOP = 13;
37     static final short doNoChain = 14;
38     static final short doOptionEnd = 15;
39     static final short doOptionStart = 16;
40     static final short doReverseDir = 17;
41     static final short doRuleChar = 18;
42     static final short doRuleError = 19;
43     static final short doRuleErrorAssignExpr = 20;
44     static final short doScanUnicodeSet = 21;
45     static final short doSlash = 22;
46     static final short doStartAssign = 23;
47     static final short doStartTagValue = 24;
48     static final short doStartVariableName = 25;
49     static final short doTagDigit = 26;
50     static final short doTagExpectedError = 27;
51     static final short doTagValue = 28;
52     static final short doUnaryOpPlus = 29;
53     static final short doUnaryOpQuestion = 30;
54     static final short doUnaryOpStar = 31;
55     static final short doVariableNameExpectedErr = 32;
56
57     static final short kRuleSet_default = 255;
58     static final short kRuleSet_digit_char = 128;
59     static final short kRuleSet_eof = 252;
60     static final short kRuleSet_escaped = 254;
61     static final short kRuleSet_name_char = 129;
62     static final short kRuleSet_name_start_char = 130;
63     static final short kRuleSet_rule_char = 131;
64     static final short kRuleSet_white_space = 132;
65
66
67   static class RBBIRuleTableElement {
68      short      fAction;
69      short      fCharClass;
70      short      fNextState;
71      short      fPushState;
72      boolean    fNextChar;
73      String     fStateName;
74      RBBIRuleTableElement(short a, int cc, int ns, int ps, boolean nc, String sn) {
75      fAction = a;
76      fCharClass = (short)cc;
77      fNextState = (short)ns;
78      fPushState = (short)ps;
79      fNextChar  = nc;
80      fStateName = sn;
81   }
82   };
83
84    static RBBIRuleTableElement[] gRuleParseStateTable = {
85       new RBBIRuleTableElement(doNOP, 0, 0,0,  true,   null )     //  0
86     , new RBBIRuleTableElement(doExprStart, 254, 29, 9, false,   "start")     //  1
87     , new RBBIRuleTableElement(doNOP, 132, 1,0,  true,   null )     //  2
88     , new RBBIRuleTableElement(doNoChain,'^',  12, 9, true,   null )     //  3
89     , new RBBIRuleTableElement(doExprStart,'$',  88, 98, false,   null )     //  4
90     , new RBBIRuleTableElement(doNOP,'!',  19,0,  true,   null )     //  5
91     , new RBBIRuleTableElement(doNOP,';',  1,0,  true,   null )     //  6
92     , new RBBIRuleTableElement(doNOP, 252, 0,0,  false,   null )     //  7
93     , new RBBIRuleTableElement(doExprStart, 255, 29, 9, false,   null )     //  8
94     , new RBBIRuleTableElement(doEndOfRule,';',  1,0,  true,   "break-rule-end")     //  9
95     , new RBBIRuleTableElement(doNOP, 132, 9,0,  true,   null )     //  10
96     , new RBBIRuleTableElement(doRuleError, 255, 103,0,  false,   null )     //  11
97     , new RBBIRuleTableElement(doExprStart, 254, 29,0,  false,   "start-after-caret")     //  12
98     , new RBBIRuleTableElement(doNOP, 132, 12,0,  true,   null )     //  13
99     , new RBBIRuleTableElement(doRuleError,'^',  103,0,  false,   null )     //  14
100     , new RBBIRuleTableElement(doExprStart,'$',  88, 37, false,   null )     //  15
101     , new RBBIRuleTableElement(doRuleError,';',  103,0,  false,   null )     //  16
102     , new RBBIRuleTableElement(doRuleError, 252, 103,0,  false,   null )     //  17
103     , new RBBIRuleTableElement(doExprStart, 255, 29,0,  false,   null )     //  18
104     , new RBBIRuleTableElement(doNOP,'!',  21,0,  true,   "rev-option")     //  19
105     , new RBBIRuleTableElement(doReverseDir, 255, 28, 9, false,   null )     //  20
106     , new RBBIRuleTableElement(doOptionStart, 130, 23,0,  true,   "option-scan1")     //  21
107     , new RBBIRuleTableElement(doRuleError, 255, 103,0,  false,   null )     //  22
108     , new RBBIRuleTableElement(doNOP, 129, 23,0,  true,   "option-scan2")     //  23
109     , new RBBIRuleTableElement(doOptionEnd, 255, 25,0,  false,   null )     //  24
110     , new RBBIRuleTableElement(doNOP,';',  1,0,  true,   "option-scan3")     //  25
111     , new RBBIRuleTableElement(doNOP, 132, 25,0,  true,   null )     //  26
112     , new RBBIRuleTableElement(doRuleError, 255, 103,0,  false,   null )     //  27
113     , new RBBIRuleTableElement(doExprStart, 255, 29, 9, false,   "reverse-rule")     //  28
114     , new RBBIRuleTableElement(doRuleChar, 254, 38,0,  true,   "term")     //  29
115     , new RBBIRuleTableElement(doNOP, 132, 29,0,  true,   null )     //  30
116     , new RBBIRuleTableElement(doRuleChar, 131, 38,0,  true,   null )     //  31
117     , new RBBIRuleTableElement(doNOP,'[',  94, 38, false,   null )     //  32
118     , new RBBIRuleTableElement(doLParen,'(',  29, 38, true,   null )     //  33
119     , new RBBIRuleTableElement(doNOP,'$',  88, 37, false,   null )     //  34
120     , new RBBIRuleTableElement(doDotAny,'.',  38,0,  true,   null )     //  35
121     , new RBBIRuleTableElement(doRuleError, 255, 103,0,  false,   null )     //  36
122     , new RBBIRuleTableElement(doCheckVarDef, 255, 38,0,  false,   "term-var-ref")     //  37
123     , new RBBIRuleTableElement(doNOP, 132, 38,0,  true,   "expr-mod")     //  38
124     , new RBBIRuleTableElement(doUnaryOpStar,'*',  43,0,  true,   null )     //  39
125     , new RBBIRuleTableElement(doUnaryOpPlus,'+',  43,0,  true,   null )     //  40
126     , new RBBIRuleTableElement(doUnaryOpQuestion,'?',  43,0,  true,   null )     //  41
127     , new RBBIRuleTableElement(doNOP, 255, 43,0,  false,   null )     //  42
128     , new RBBIRuleTableElement(doExprCatOperator, 254, 29,0,  false,   "expr-cont")     //  43
129     , new RBBIRuleTableElement(doNOP, 132, 43,0,  true,   null )     //  44
130     , new RBBIRuleTableElement(doExprCatOperator, 131, 29,0,  false,   null )     //  45
131     , new RBBIRuleTableElement(doExprCatOperator,'[',  29,0,  false,   null )     //  46
132     , new RBBIRuleTableElement(doExprCatOperator,'(',  29,0,  false,   null )     //  47
133     , new RBBIRuleTableElement(doExprCatOperator,'$',  29,0,  false,   null )     //  48
134     , new RBBIRuleTableElement(doExprCatOperator,'.',  29,0,  false,   null )     //  49
135     , new RBBIRuleTableElement(doExprCatOperator,'/',  55,0,  false,   null )     //  50
136     , new RBBIRuleTableElement(doExprCatOperator,'{',  67,0,  true,   null )     //  51
137     , new RBBIRuleTableElement(doExprOrOperator,'|',  29,0,  true,   null )     //  52
138     , new RBBIRuleTableElement(doExprRParen,')',  255,0,  true,   null )     //  53
139     , new RBBIRuleTableElement(doExprFinished, 255, 255,0,  false,   null )     //  54
140     , new RBBIRuleTableElement(doSlash,'/',  57,0,  true,   "look-ahead")     //  55
141     , new RBBIRuleTableElement(doNOP, 255, 103,0,  false,   null )     //  56
142     , new RBBIRuleTableElement(doExprCatOperator, 254, 29,0,  false,   "expr-cont-no-slash")     //  57
143     , new RBBIRuleTableElement(doNOP, 132, 43,0,  true,   null )     //  58
144     , new RBBIRuleTableElement(doExprCatOperator, 131, 29,0,  false,   null )     //  59
145     , new RBBIRuleTableElement(doExprCatOperator,'[',  29,0,  false,   null )     //  60
146     , new RBBIRuleTableElement(doExprCatOperator,'(',  29,0,  false,   null )     //  61
147     , new RBBIRuleTableElement(doExprCatOperator,'$',  29,0,  false,   null )     //  62
148     , new RBBIRuleTableElement(doExprCatOperator,'.',  29,0,  false,   null )     //  63
149     , new RBBIRuleTableElement(doExprOrOperator,'|',  29,0,  true,   null )     //  64
150     , new RBBIRuleTableElement(doExprRParen,')',  255,0,  true,   null )     //  65
151     , new RBBIRuleTableElement(doExprFinished, 255, 255,0,  false,   null )     //  66
152     , new RBBIRuleTableElement(doNOP, 132, 67,0,  true,   "tag-open")     //  67
153     , new RBBIRuleTableElement(doStartTagValue, 128, 70,0,  false,   null )     //  68
154     , new RBBIRuleTableElement(doTagExpectedError, 255, 103,0,  false,   null )     //  69
155     , new RBBIRuleTableElement(doNOP, 132, 74,0,  true,   "tag-value")     //  70
156     , new RBBIRuleTableElement(doNOP,'}',  74,0,  false,   null )     //  71
157     , new RBBIRuleTableElement(doTagDigit, 128, 70,0,  true,   null )     //  72
158     , new RBBIRuleTableElement(doTagExpectedError, 255, 103,0,  false,   null )     //  73
159     , new RBBIRuleTableElement(doNOP, 132, 74,0,  true,   "tag-close")     //  74
160     , new RBBIRuleTableElement(doTagValue,'}',  77,0,  true,   null )     //  75
161     , new RBBIRuleTableElement(doTagExpectedError, 255, 103,0,  false,   null )     //  76
162     , new RBBIRuleTableElement(doExprCatOperator, 254, 29,0,  false,   "expr-cont-no-tag")     //  77
163     , new RBBIRuleTableElement(doNOP, 132, 77,0,  true,   null )     //  78
164     , new RBBIRuleTableElement(doExprCatOperator, 131, 29,0,  false,   null )     //  79
165     , new RBBIRuleTableElement(doExprCatOperator,'[',  29,0,  false,   null )     //  80
166     , new RBBIRuleTableElement(doExprCatOperator,'(',  29,0,  false,   null )     //  81
167     , new RBBIRuleTableElement(doExprCatOperator,'$',  29,0,  false,   null )     //  82
168     , new RBBIRuleTableElement(doExprCatOperator,'.',  29,0,  false,   null )     //  83
169     , new RBBIRuleTableElement(doExprCatOperator,'/',  55,0,  false,   null )     //  84
170     , new RBBIRuleTableElement(doExprOrOperator,'|',  29,0,  true,   null )     //  85
171     , new RBBIRuleTableElement(doExprRParen,')',  255,0,  true,   null )     //  86
172     , new RBBIRuleTableElement(doExprFinished, 255, 255,0,  false,   null )     //  87
173     , new RBBIRuleTableElement(doStartVariableName,'$',  90,0,  true,   "scan-var-name")     //  88
174     , new RBBIRuleTableElement(doNOP, 255, 103,0,  false,   null )     //  89
175     , new RBBIRuleTableElement(doNOP, 130, 92,0,  true,   "scan-var-start")     //  90
176     , new RBBIRuleTableElement(doVariableNameExpectedErr, 255, 103,0,  false,   null )     //  91
177     , new RBBIRuleTableElement(doNOP, 129, 92,0,  true,   "scan-var-body")     //  92
178     , new RBBIRuleTableElement(doEndVariableName, 255, 255,0,  false,   null )     //  93
179     , new RBBIRuleTableElement(doScanUnicodeSet,'[',  255,0,  true,   "scan-unicode-set")     //  94
180     , new RBBIRuleTableElement(doScanUnicodeSet,'p',  255,0,  true,   null )     //  95
181     , new RBBIRuleTableElement(doScanUnicodeSet,'P',  255,0,  true,   null )     //  96
182     , new RBBIRuleTableElement(doNOP, 255, 103,0,  false,   null )     //  97
183     , new RBBIRuleTableElement(doNOP, 132, 98,0,  true,   "assign-or-rule")     //  98
184     , new RBBIRuleTableElement(doStartAssign,'=',  29, 101, true,   null )     //  99
185     , new RBBIRuleTableElement(doNOP, 255, 37, 9, false,   null )     //  100
186     , new RBBIRuleTableElement(doEndAssign,';',  1,0,  true,   "assign-end")     //  101
187     , new RBBIRuleTableElement(doRuleErrorAssignExpr, 255, 103,0,  false,   null )     //  102
188     , new RBBIRuleTableElement(doExit, 255, 103,0,  true,   "errorDeath")     //  103
189 };
190};
191