RBBIRuleParseTable.java
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
* Copyright (c) 2003-2016, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
*/
package com.ibm.icu.text;
/**
* Generated Java File. Do not edit by hand. This file contains the state table for the ICU Rule
* Based Break Iterator rule parser. It is generated by the Perl script "rbbicst.pl" from the rule
* parser state definitions file "rbbirpt.txt".
*
* @internal
*/
class RBBIRuleParseTable {
static final short doCheckVarDef = 1;
static final short doDotAny = 2;
static final short doEndAssign = 3;
static final short doEndOfRule = 4;
static final short doEndVariableName = 5;
static final short doExit = 6;
static final short doExprCatOperator = 7;
static final short doExprFinished = 8;
static final short doExprOrOperator = 9;
static final short doExprRParen = 10;
static final short doExprStart = 11;
static final short doLParen = 12;
static final short doNOP = 13;
static final short doNoChain = 14;
static final short doOptionEnd = 15;
static final short doOptionStart = 16;
static final short doReverseDir = 17;
static final short doRuleChar = 18;
static final short doRuleError = 19;
static final short doRuleErrorAssignExpr = 20;
static final short doScanUnicodeSet = 21;
static final short doSlash = 22;
static final short doStartAssign = 23;
static final short doStartTagValue = 24;
static final short doStartVariableName = 25;
static final short doTagDigit = 26;
static final short doTagExpectedError = 27;
static final short doTagValue = 28;
static final short doUnaryOpPlus = 29;
static final short doUnaryOpQuestion = 30;
static final short doUnaryOpStar = 31;
static final short doVariableNameExpectedErr = 32;
static final short kRuleSet_default = 255;
static final short kRuleSet_digit_char = 128;
static final short kRuleSet_eof = 252;
static final short kRuleSet_escaped = 254;
static final short kRuleSet_name_char = 129;
static final short kRuleSet_name_start_char = 130;
static final short kRuleSet_rule_char = 131;
static final short kRuleSet_white_space = 132;
static class RBBIRuleTableElement {
short fAction;
short fCharClass;
short fNextState;
short fPushState;
boolean fNextChar;
String fStateName;
RBBIRuleTableElement(short a, int cc, int ns, int ps, boolean nc, String sn) {
fAction = a;
fCharClass = (short) cc;
fNextState = (short) ns;
fPushState = (short) ps;
fNextChar = nc;
fStateName = sn;
}
}
;
static RBBIRuleTableElement[] gRuleParseStateTable = {
new RBBIRuleTableElement(doNOP, 0, 0, 0, true, null) // 0
,
new RBBIRuleTableElement(doExprStart, 254, 29, 9, false, "start") // 1
,
new RBBIRuleTableElement(doNOP, 132, 1, 0, true, null) // 2
,
new RBBIRuleTableElement(doNoChain, '^', 12, 9, true, null) // 3
,
new RBBIRuleTableElement(doExprStart, '$', 88, 98, false, null) // 4
,
new RBBIRuleTableElement(doNOP, '!', 19, 0, true, null) // 5
,
new RBBIRuleTableElement(doNOP, ';', 1, 0, true, null) // 6
,
new RBBIRuleTableElement(doNOP, 252, 0, 0, false, null) // 7
,
new RBBIRuleTableElement(doExprStart, 255, 29, 9, false, null) // 8
,
new RBBIRuleTableElement(doEndOfRule, ';', 1, 0, true, "break-rule-end") // 9
,
new RBBIRuleTableElement(doNOP, 132, 9, 0, true, null) // 10
,
new RBBIRuleTableElement(doRuleError, 255, 103, 0, false, null) // 11
,
new RBBIRuleTableElement(doExprStart, 254, 29, 0, false, "start-after-caret") // 12
,
new RBBIRuleTableElement(doNOP, 132, 12, 0, true, null) // 13
,
new RBBIRuleTableElement(doRuleError, '^', 103, 0, false, null) // 14
,
new RBBIRuleTableElement(doExprStart, '$', 88, 37, false, null) // 15
,
new RBBIRuleTableElement(doRuleError, ';', 103, 0, false, null) // 16
,
new RBBIRuleTableElement(doRuleError, 252, 103, 0, false, null) // 17
,
new RBBIRuleTableElement(doExprStart, 255, 29, 0, false, null) // 18
,
new RBBIRuleTableElement(doNOP, '!', 21, 0, true, "rev-option") // 19
,
new RBBIRuleTableElement(doReverseDir, 255, 28, 9, false, null) // 20
,
new RBBIRuleTableElement(doOptionStart, 130, 23, 0, true, "option-scan1") // 21
,
new RBBIRuleTableElement(doRuleError, 255, 103, 0, false, null) // 22
,
new RBBIRuleTableElement(doNOP, 129, 23, 0, true, "option-scan2") // 23
,
new RBBIRuleTableElement(doOptionEnd, 255, 25, 0, false, null) // 24
,
new RBBIRuleTableElement(doNOP, ';', 1, 0, true, "option-scan3") // 25
,
new RBBIRuleTableElement(doNOP, 132, 25, 0, true, null) // 26
,
new RBBIRuleTableElement(doRuleError, 255, 103, 0, false, null) // 27
,
new RBBIRuleTableElement(doExprStart, 255, 29, 9, false, "reverse-rule") // 28
,
new RBBIRuleTableElement(doRuleChar, 254, 38, 0, true, "term") // 29
,
new RBBIRuleTableElement(doNOP, 132, 29, 0, true, null) // 30
,
new RBBIRuleTableElement(doRuleChar, 131, 38, 0, true, null) // 31
,
new RBBIRuleTableElement(doNOP, '[', 94, 38, false, null) // 32
,
new RBBIRuleTableElement(doLParen, '(', 29, 38, true, null) // 33
,
new RBBIRuleTableElement(doNOP, '$', 88, 37, false, null) // 34
,
new RBBIRuleTableElement(doDotAny, '.', 38, 0, true, null) // 35
,
new RBBIRuleTableElement(doRuleError, 255, 103, 0, false, null) // 36
,
new RBBIRuleTableElement(doCheckVarDef, 255, 38, 0, false, "term-var-ref") // 37
,
new RBBIRuleTableElement(doNOP, 132, 38, 0, true, "expr-mod") // 38
,
new RBBIRuleTableElement(doUnaryOpStar, '*', 43, 0, true, null) // 39
,
new RBBIRuleTableElement(doUnaryOpPlus, '+', 43, 0, true, null) // 40
,
new RBBIRuleTableElement(doUnaryOpQuestion, '?', 43, 0, true, null) // 41
,
new RBBIRuleTableElement(doNOP, 255, 43, 0, false, null) // 42
,
new RBBIRuleTableElement(doExprCatOperator, 254, 29, 0, false, "expr-cont") // 43
,
new RBBIRuleTableElement(doNOP, 132, 43, 0, true, null) // 44
,
new RBBIRuleTableElement(doExprCatOperator, 131, 29, 0, false, null) // 45
,
new RBBIRuleTableElement(doExprCatOperator, '[', 29, 0, false, null) // 46
,
new RBBIRuleTableElement(doExprCatOperator, '(', 29, 0, false, null) // 47
,
new RBBIRuleTableElement(doExprCatOperator, '$', 29, 0, false, null) // 48
,
new RBBIRuleTableElement(doExprCatOperator, '.', 29, 0, false, null) // 49
,
new RBBIRuleTableElement(doExprCatOperator, '/', 55, 0, false, null) // 50
,
new RBBIRuleTableElement(doExprCatOperator, '{', 67, 0, true, null) // 51
,
new RBBIRuleTableElement(doExprOrOperator, '|', 29, 0, true, null) // 52
,
new RBBIRuleTableElement(doExprRParen, ')', 255, 0, true, null) // 53
,
new RBBIRuleTableElement(doExprFinished, 255, 255, 0, false, null) // 54
,
new RBBIRuleTableElement(doSlash, '/', 57, 0, true, "look-ahead") // 55
,
new RBBIRuleTableElement(doNOP, 255, 103, 0, false, null) // 56
,
new RBBIRuleTableElement(doExprCatOperator, 254, 29, 0, false, "expr-cont-no-slash") // 57
,
new RBBIRuleTableElement(doNOP, 132, 43, 0, true, null) // 58
,
new RBBIRuleTableElement(doExprCatOperator, 131, 29, 0, false, null) // 59
,
new RBBIRuleTableElement(doExprCatOperator, '[', 29, 0, false, null) // 60
,
new RBBIRuleTableElement(doExprCatOperator, '(', 29, 0, false, null) // 61
,
new RBBIRuleTableElement(doExprCatOperator, '$', 29, 0, false, null) // 62
,
new RBBIRuleTableElement(doExprCatOperator, '.', 29, 0, false, null) // 63
,
new RBBIRuleTableElement(doExprOrOperator, '|', 29, 0, true, null) // 64
,
new RBBIRuleTableElement(doExprRParen, ')', 255, 0, true, null) // 65
,
new RBBIRuleTableElement(doExprFinished, 255, 255, 0, false, null) // 66
,
new RBBIRuleTableElement(doNOP, 132, 67, 0, true, "tag-open") // 67
,
new RBBIRuleTableElement(doStartTagValue, 128, 70, 0, false, null) // 68
,
new RBBIRuleTableElement(doTagExpectedError, 255, 103, 0, false, null) // 69
,
new RBBIRuleTableElement(doNOP, 132, 74, 0, true, "tag-value") // 70
,
new RBBIRuleTableElement(doNOP, '}', 74, 0, false, null) // 71
,
new RBBIRuleTableElement(doTagDigit, 128, 70, 0, true, null) // 72
,
new RBBIRuleTableElement(doTagExpectedError, 255, 103, 0, false, null) // 73
,
new RBBIRuleTableElement(doNOP, 132, 74, 0, true, "tag-close") // 74
,
new RBBIRuleTableElement(doTagValue, '}', 77, 0, true, null) // 75
,
new RBBIRuleTableElement(doTagExpectedError, 255, 103, 0, false, null) // 76
,
new RBBIRuleTableElement(doExprCatOperator, 254, 29, 0, false, "expr-cont-no-tag") // 77
,
new RBBIRuleTableElement(doNOP, 132, 77, 0, true, null) // 78
,
new RBBIRuleTableElement(doExprCatOperator, 131, 29, 0, false, null) // 79
,
new RBBIRuleTableElement(doExprCatOperator, '[', 29, 0, false, null) // 80
,
new RBBIRuleTableElement(doExprCatOperator, '(', 29, 0, false, null) // 81
,
new RBBIRuleTableElement(doExprCatOperator, '$', 29, 0, false, null) // 82
,
new RBBIRuleTableElement(doExprCatOperator, '.', 29, 0, false, null) // 83
,
new RBBIRuleTableElement(doExprCatOperator, '/', 55, 0, false, null) // 84
,
new RBBIRuleTableElement(doExprOrOperator, '|', 29, 0, true, null) // 85
,
new RBBIRuleTableElement(doExprRParen, ')', 255, 0, true, null) // 86
,
new RBBIRuleTableElement(doExprFinished, 255, 255, 0, false, null) // 87
,
new RBBIRuleTableElement(doStartVariableName, '$', 90, 0, true, "scan-var-name") // 88
,
new RBBIRuleTableElement(doNOP, 255, 103, 0, false, null) // 89
,
new RBBIRuleTableElement(doNOP, 130, 92, 0, true, "scan-var-start") // 90
,
new RBBIRuleTableElement(doVariableNameExpectedErr, 255, 103, 0, false, null) // 91
,
new RBBIRuleTableElement(doNOP, 129, 92, 0, true, "scan-var-body") // 92
,
new RBBIRuleTableElement(doEndVariableName, 255, 255, 0, false, null) // 93
,
new RBBIRuleTableElement(doScanUnicodeSet, '[', 255, 0, true, "scan-unicode-set") // 94
,
new RBBIRuleTableElement(doScanUnicodeSet, 'p', 255, 0, true, null) // 95
,
new RBBIRuleTableElement(doScanUnicodeSet, 'P', 255, 0, true, null) // 96
,
new RBBIRuleTableElement(doNOP, 255, 103, 0, false, null) // 97
,
new RBBIRuleTableElement(doNOP, 132, 98, 0, true, "assign-or-rule") // 98
,
new RBBIRuleTableElement(doStartAssign, '=', 29, 101, true, null) // 99
,
new RBBIRuleTableElement(doNOP, 255, 37, 9, false, null) // 100
,
new RBBIRuleTableElement(doEndAssign, ';', 1, 0, true, "assign-end") // 101
,
new RBBIRuleTableElement(doRuleErrorAssignExpr, 255, 103, 0, false, null) // 102
,
new RBBIRuleTableElement(doExit, 255, 103, 0, true, "errorDeath") // 103
};
}
;