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