blob: f3869eaa5a427649d3485cfeaee7a90c46d55130 [file] [log] [blame]
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
/*
*******************************************************************************
* 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
};
};