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