| /* |
| ******************************************************************************* |
| * Copyright (C) 2003-2010, 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". |
| */ |
| 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 doOptionEnd = 14; |
| static final short doOptionStart = 15; |
| static final short doReverseDir = 16; |
| static final short doRuleChar = 17; |
| static final short doRuleError = 18; |
| static final short doRuleErrorAssignExpr = 19; |
| static final short doScanUnicodeSet = 20; |
| static final short doSlash = 21; |
| static final short doStartAssign = 22; |
| static final short doStartTagValue = 23; |
| static final short doStartVariableName = 24; |
| static final short doTagDigit = 25; |
| static final short doTagExpectedError = 26; |
| static final short doTagValue = 27; |
| static final short doUnaryOpPlus = 28; |
| static final short doUnaryOpQuestion = 29; |
| static final short doUnaryOpStar = 30; |
| static final short doVariableNameExpectedErr = 31; |
| |
| 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, 21, 8, false, "start") // 1 |
| , new RBBIRuleTableElement(doNOP, 132, 1,0, true, null ) // 2 |
| , new RBBIRuleTableElement(doExprStart,'$', 80, 90, false, null ) // 3 |
| , new RBBIRuleTableElement(doNOP,'!', 11,0, true, null ) // 4 |
| , new RBBIRuleTableElement(doNOP,';', 1,0, true, null ) // 5 |
| , new RBBIRuleTableElement(doNOP, 252, 0,0, false, null ) // 6 |
| , new RBBIRuleTableElement(doExprStart, 255, 21, 8, false, null ) // 7 |
| , new RBBIRuleTableElement(doEndOfRule,';', 1,0, true, "break-rule-end") // 8 |
| , new RBBIRuleTableElement(doNOP, 132, 8,0, true, null ) // 9 |
| , new RBBIRuleTableElement(doRuleError, 255, 95,0, false, null ) // 10 |
| , new RBBIRuleTableElement(doNOP,'!', 13,0, true, "rev-option") // 11 |
| , new RBBIRuleTableElement(doReverseDir, 255, 20, 8, false, null ) // 12 |
| , new RBBIRuleTableElement(doOptionStart, 130, 15,0, true, "option-scan1") // 13 |
| , new RBBIRuleTableElement(doRuleError, 255, 95,0, false, null ) // 14 |
| , new RBBIRuleTableElement(doNOP, 129, 15,0, true, "option-scan2") // 15 |
| , new RBBIRuleTableElement(doOptionEnd, 255, 17,0, false, null ) // 16 |
| , new RBBIRuleTableElement(doNOP,';', 1,0, true, "option-scan3") // 17 |
| , new RBBIRuleTableElement(doNOP, 132, 17,0, true, null ) // 18 |
| , new RBBIRuleTableElement(doRuleError, 255, 95,0, false, null ) // 19 |
| , new RBBIRuleTableElement(doExprStart, 255, 21, 8, false, "reverse-rule") // 20 |
| , new RBBIRuleTableElement(doRuleChar, 254, 30,0, true, "term") // 21 |
| , new RBBIRuleTableElement(doNOP, 132, 21,0, true, null ) // 22 |
| , new RBBIRuleTableElement(doRuleChar, 131, 30,0, true, null ) // 23 |
| , new RBBIRuleTableElement(doNOP,'[', 86, 30, false, null ) // 24 |
| , new RBBIRuleTableElement(doLParen,'(', 21, 30, true, null ) // 25 |
| , new RBBIRuleTableElement(doNOP,'$', 80, 29, false, null ) // 26 |
| , new RBBIRuleTableElement(doDotAny,'.', 30,0, true, null ) // 27 |
| , new RBBIRuleTableElement(doRuleError, 255, 95,0, false, null ) // 28 |
| , new RBBIRuleTableElement(doCheckVarDef, 255, 30,0, false, "term-var-ref") // 29 |
| , new RBBIRuleTableElement(doNOP, 132, 30,0, true, "expr-mod") // 30 |
| , new RBBIRuleTableElement(doUnaryOpStar,'*', 35,0, true, null ) // 31 |
| , new RBBIRuleTableElement(doUnaryOpPlus,'+', 35,0, true, null ) // 32 |
| , new RBBIRuleTableElement(doUnaryOpQuestion,'?', 35,0, true, null ) // 33 |
| , new RBBIRuleTableElement(doNOP, 255, 35,0, false, null ) // 34 |
| , new RBBIRuleTableElement(doExprCatOperator, 254, 21,0, false, "expr-cont") // 35 |
| , new RBBIRuleTableElement(doNOP, 132, 35,0, true, null ) // 36 |
| , new RBBIRuleTableElement(doExprCatOperator, 131, 21,0, false, null ) // 37 |
| , new RBBIRuleTableElement(doExprCatOperator,'[', 21,0, false, null ) // 38 |
| , new RBBIRuleTableElement(doExprCatOperator,'(', 21,0, false, null ) // 39 |
| , new RBBIRuleTableElement(doExprCatOperator,'$', 21,0, false, null ) // 40 |
| , new RBBIRuleTableElement(doExprCatOperator,'.', 21,0, false, null ) // 41 |
| , new RBBIRuleTableElement(doExprCatOperator,'/', 47,0, false, null ) // 42 |
| , new RBBIRuleTableElement(doExprCatOperator,'{', 59,0, true, null ) // 43 |
| , new RBBIRuleTableElement(doExprOrOperator,'|', 21,0, true, null ) // 44 |
| , new RBBIRuleTableElement(doExprRParen,')', 255,0, true, null ) // 45 |
| , new RBBIRuleTableElement(doExprFinished, 255, 255,0, false, null ) // 46 |
| , new RBBIRuleTableElement(doSlash,'/', 49,0, true, "look-ahead") // 47 |
| , new RBBIRuleTableElement(doNOP, 255, 95,0, false, null ) // 48 |
| , new RBBIRuleTableElement(doExprCatOperator, 254, 21,0, false, "expr-cont-no-slash") // 49 |
| , new RBBIRuleTableElement(doNOP, 132, 35,0, true, null ) // 50 |
| , new RBBIRuleTableElement(doExprCatOperator, 131, 21,0, false, null ) // 51 |
| , new RBBIRuleTableElement(doExprCatOperator,'[', 21,0, false, null ) // 52 |
| , new RBBIRuleTableElement(doExprCatOperator,'(', 21,0, false, null ) // 53 |
| , new RBBIRuleTableElement(doExprCatOperator,'$', 21,0, false, null ) // 54 |
| , new RBBIRuleTableElement(doExprCatOperator,'.', 21,0, false, null ) // 55 |
| , new RBBIRuleTableElement(doExprOrOperator,'|', 21,0, true, null ) // 56 |
| , new RBBIRuleTableElement(doExprRParen,')', 255,0, true, null ) // 57 |
| , new RBBIRuleTableElement(doExprFinished, 255, 255,0, false, null ) // 58 |
| , new RBBIRuleTableElement(doNOP, 132, 59,0, true, "tag-open") // 59 |
| , new RBBIRuleTableElement(doStartTagValue, 128, 62,0, false, null ) // 60 |
| , new RBBIRuleTableElement(doTagExpectedError, 255, 95,0, false, null ) // 61 |
| , new RBBIRuleTableElement(doNOP, 132, 66,0, true, "tag-value") // 62 |
| , new RBBIRuleTableElement(doNOP,'}', 66,0, false, null ) // 63 |
| , new RBBIRuleTableElement(doTagDigit, 128, 62,0, true, null ) // 64 |
| , new RBBIRuleTableElement(doTagExpectedError, 255, 95,0, false, null ) // 65 |
| , new RBBIRuleTableElement(doNOP, 132, 66,0, true, "tag-close") // 66 |
| , new RBBIRuleTableElement(doTagValue,'}', 69,0, true, null ) // 67 |
| , new RBBIRuleTableElement(doTagExpectedError, 255, 95,0, false, null ) // 68 |
| , new RBBIRuleTableElement(doExprCatOperator, 254, 21,0, false, "expr-cont-no-tag") // 69 |
| , new RBBIRuleTableElement(doNOP, 132, 69,0, true, null ) // 70 |
| , new RBBIRuleTableElement(doExprCatOperator, 131, 21,0, false, null ) // 71 |
| , new RBBIRuleTableElement(doExprCatOperator,'[', 21,0, false, null ) // 72 |
| , new RBBIRuleTableElement(doExprCatOperator,'(', 21,0, false, null ) // 73 |
| , new RBBIRuleTableElement(doExprCatOperator,'$', 21,0, false, null ) // 74 |
| , new RBBIRuleTableElement(doExprCatOperator,'.', 21,0, false, null ) // 75 |
| , new RBBIRuleTableElement(doExprCatOperator,'/', 47,0, false, null ) // 76 |
| , new RBBIRuleTableElement(doExprOrOperator,'|', 21,0, true, null ) // 77 |
| , new RBBIRuleTableElement(doExprRParen,')', 255,0, true, null ) // 78 |
| , new RBBIRuleTableElement(doExprFinished, 255, 255,0, false, null ) // 79 |
| , new RBBIRuleTableElement(doStartVariableName,'$', 82,0, true, "scan-var-name") // 80 |
| , new RBBIRuleTableElement(doNOP, 255, 95,0, false, null ) // 81 |
| , new RBBIRuleTableElement(doNOP, 130, 84,0, true, "scan-var-start") // 82 |
| , new RBBIRuleTableElement(doVariableNameExpectedErr, 255, 95,0, false, null ) // 83 |
| , new RBBIRuleTableElement(doNOP, 129, 84,0, true, "scan-var-body") // 84 |
| , new RBBIRuleTableElement(doEndVariableName, 255, 255,0, false, null ) // 85 |
| , new RBBIRuleTableElement(doScanUnicodeSet,'[', 255,0, true, "scan-unicode-set") // 86 |
| , new RBBIRuleTableElement(doScanUnicodeSet,'p', 255,0, true, null ) // 87 |
| , new RBBIRuleTableElement(doScanUnicodeSet,'P', 255,0, true, null ) // 88 |
| , new RBBIRuleTableElement(doNOP, 255, 95,0, false, null ) // 89 |
| , new RBBIRuleTableElement(doNOP, 132, 90,0, true, "assign-or-rule") // 90 |
| , new RBBIRuleTableElement(doStartAssign,'=', 21, 93, true, null ) // 91 |
| , new RBBIRuleTableElement(doNOP, 255, 29, 8, false, null ) // 92 |
| , new RBBIRuleTableElement(doEndAssign,';', 1,0, true, "assign-end") // 93 |
| , new RBBIRuleTableElement(doRuleErrorAssignExpr, 255, 95,0, false, null ) // 94 |
| , new RBBIRuleTableElement(doExit, 255, 95,0, true, "errorDeath") // 95 |
| }; |
| } |