帆软报表设计器源代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1689 lines
56 KiB

package com.fr.design.formula;
import com.fr.parser.FRParserTokenTypes;
import com.fr.third.antlr.ByteBuffer;
import com.fr.third.antlr.CharBuffer;
import com.fr.third.antlr.CharStreamException;
import com.fr.third.antlr.CharStreamIOException;
import com.fr.third.antlr.InputBuffer;
import com.fr.third.antlr.LexerSharedInputState;
import com.fr.third.antlr.NoViableAltForCharException;
import com.fr.third.antlr.RecognitionException;
import com.fr.third.antlr.Token;
import com.fr.third.antlr.TokenStream;
import com.fr.third.antlr.TokenStreamException;
import com.fr.third.antlr.TokenStreamIOException;
import com.fr.third.antlr.TokenStreamRecognitionException;
import com.fr.third.antlr.collections.impl.BitSet;
import java.io.InputStream;
import java.io.Reader;
import java.util.Hashtable;
/**
* @author Hoky
* @date 2021/11/22
*/
public class FRFormulaLexer extends com.fr.third.antlr.CharScanner implements FRParserTokenTypes, TokenStream {
public FRFormulaLexer(InputStream in) {
this(new ByteBuffer(in));
}
public FRFormulaLexer(Reader in) {
this(new CharBuffer(in));
}
public FRFormulaLexer(InputBuffer ib) {
this(new LexerSharedInputState(ib));
}
public FRFormulaLexer(LexerSharedInputState state) {
super(state);
caseSensitiveLiterals = true;
setCaseSensitive(true);
literals = new Hashtable();
}
public Token nextToken() throws TokenStreamException {
Token theRetToken = null;
tryAgain:
for (; ; ) {
Token _token = null;
int _ttype = Token.INVALID_TYPE;
resetText();
try { // for char stream error handling
try { // for lexical error handling
switch (LA(1)) {
case '?': {
mQUESTION(true);
theRetToken = _returnToken;
break;
}
case '(': {
mLPAREN(true);
theRetToken = _returnToken;
break;
}
case ')': {
mRPAREN(true);
theRetToken = _returnToken;
break;
}
case '[': {
mLBRACK(true);
theRetToken = _returnToken;
break;
}
case ']': {
mRBRACK(true);
theRetToken = _returnToken;
break;
}
case '{': {
mLCURLY(true);
theRetToken = _returnToken;
break;
}
case '}': {
mRCURLY(true);
theRetToken = _returnToken;
break;
}
case ',': {
mCOMMA(true);
theRetToken = _returnToken;
break;
}
case '/': {
mDIV(true);
theRetToken = _returnToken;
break;
}
case '+': {
mPLUS(true);
theRetToken = _returnToken;
break;
}
case '-': {
mMINUS(true);
theRetToken = _returnToken;
break;
}
case '*': {
mSTAR(true);
theRetToken = _returnToken;
break;
}
case '%': {
mMOD(true);
theRetToken = _returnToken;
break;
}
case '^': {
mPOWER(true);
theRetToken = _returnToken;
break;
}
case ';': {
mSEMI(true);
theRetToken = _returnToken;
break;
}
case '#': {
mSHARP(true);
theRetToken = _returnToken;
break;
}
case '@': {
mAT(true);
theRetToken = _returnToken;
break;
}
case '~': {
mWAVE(true);
theRetToken = _returnToken;
break;
}
case '`': {
mALLL2(true);
theRetToken = _returnToken;
break;
}
case '.':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
mINT_NUM(true);
theRetToken = _returnToken;
break;
}
case '"': {
mSTRING_LITERAL_DSQ(true);
theRetToken = _returnToken;
break;
}
case '\'': {
mSTRING_LITERAL_SSQ(true);
theRetToken = _returnToken;
break;
}
case '\t':
case '\n':
case '\u000c':
case '\r':
case ' ': {
mWS(true);
theRetToken = _returnToken;
break;
}
default:
if ((LA(1) == ':') && (LA(2) == ':')) {
mDCOLON(true);
theRetToken = _returnToken;
} else if ((LA(1) == '=') && (LA(2) == '=')) {
mEQUAL(true);
theRetToken = _returnToken;
} else if ((LA(1) == '!') && (LA(2) == '=')) {
mNOT_EQUAL(true);
theRetToken = _returnToken;
} else if ((LA(1) == '<') && (LA(2) == '>')) {
mNOT_EQUAL2(true);
theRetToken = _returnToken;
} else if ((LA(1) == '>') && (LA(2) == '=')) {
mGE(true);
theRetToken = _returnToken;
} else if ((LA(1) == '<') && (LA(2) == '=')) {
mLE(true);
theRetToken = _returnToken;
} else if ((LA(1) == '|') && (LA(2) == '|')) {
mLOR(true);
theRetToken = _returnToken;
} else if ((LA(1) == '&') && (LA(2) == '&')) {
mLAND(true);
theRetToken = _returnToken;
} else if ((LA(1) == '!') && (LA(2) == '0')) {
mALLL(true);
theRetToken = _returnToken;
} else if ((LA(1) == '&') && (_tokenSet_0.member(LA(2)))) {
mCR_ADRESS(true);
theRetToken = _returnToken;
} else if ((LA(1) == ':') && (true)) {
mCOLON(true);
theRetToken = _returnToken;
} else if ((LA(1) == '=') && (true)) {
mEQUAL2(true);
theRetToken = _returnToken;
} else if ((LA(1) == '!') && (true)) {
mLNOT(true);
theRetToken = _returnToken;
} else if ((LA(1) == '>') && (true)) {
mGT(true);
theRetToken = _returnToken;
} else if ((LA(1) == '<') && (true)) {
mLT(true);
theRetToken = _returnToken;
} else if ((LA(1) == '|') && (true)) {
mBOR(true);
theRetToken = _returnToken;
} else if ((LA(1) == '&') && (true)) {
mBAND(true);
theRetToken = _returnToken;
} else if ((_tokenSet_1.member(LA(1)))) {
mIDENT(true);
theRetToken = _returnToken;
} else {
if (LA(1) == EOF_CHAR) {
uponEOF();
_returnToken = makeToken(Token.EOF_TYPE);
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
if (_returnToken == null) continue tryAgain; // found SKIP token
_ttype = _returnToken.getType();
_ttype = testLiteralsTable(_ttype);
_returnToken.setType(_ttype);
return _returnToken;
} catch (RecognitionException e) {
throw new TokenStreamRecognitionException(e);
}
} catch (CharStreamException cse) {
if (cse instanceof CharStreamIOException) {
throw new TokenStreamIOException(((CharStreamIOException) cse).io);
} else {
throw new TokenStreamException(cse.getMessage());
}
}
}
}
public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = QUESTION;
int _saveIndex;
match('?');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LPAREN;
int _saveIndex;
match('(');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = RPAREN;
int _saveIndex;
match(')');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LBRACK;
int _saveIndex;
match('[');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = RBRACK;
int _saveIndex;
match(']');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LCURLY;
int _saveIndex;
match('{');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = RCURLY;
int _saveIndex;
match('}');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = COLON;
int _saveIndex;
match(':');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mDCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = DCOLON;
int _saveIndex;
match("::");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = COMMA;
int _saveIndex;
match(',');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = EQUAL;
int _saveIndex;
match("==");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mEQUAL2(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = EQUAL2;
int _saveIndex;
match('=');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LNOT;
int _saveIndex;
match('!');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = NOT_EQUAL;
int _saveIndex;
match("!=");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mNOT_EQUAL2(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = NOT_EQUAL2;
int _saveIndex;
match("<>");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = DIV;
int _saveIndex;
match('/');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = PLUS;
int _saveIndex;
match('+');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = MINUS;
int _saveIndex;
match('-');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = STAR;
int _saveIndex;
match('*');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = MOD;
int _saveIndex;
match('%');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mPOWER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = POWER;
int _saveIndex;
match('^');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = GE;
int _saveIndex;
match(">=");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mGT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = GT;
int _saveIndex;
match('>');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LE;
int _saveIndex;
match("<=");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LT;
int _saveIndex;
match('<');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mBOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = BOR;
int _saveIndex;
match('|');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mBAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = BAND;
int _saveIndex;
match('&');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LOR;
int _saveIndex;
match("||");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mLAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LAND;
int _saveIndex;
match("&&");
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = SEMI;
int _saveIndex;
match(';');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mSHARP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = SHARP;
int _saveIndex;
match('#');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mAT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = AT;
int _saveIndex;
match('@');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mWAVE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = WAVE;
int _saveIndex;
match('~');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mALLL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = ALLL;
int _saveIndex;
match('!');
match('0');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mALLL2(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = ALLL2;
int _saveIndex;
match('`');
match('0');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = IDENT;
int _saveIndex;
mChar(false);
{
_loop109:
do {
if ((_tokenSet_1.member(LA(1)))) {
mChar(false);
} else if (((LA(1) >= '0' && LA(1) <= '9'))) {
{
mDIGIT(false);
}
} else {
break _loop109;
}
} while (true);
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
/**
* 'a'..'z', '_', 'A'..'Z' and others without number
*/
protected final void mChar(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = Char;
int _saveIndex;
switch (LA(1)) {
case '$': {
match('\u0024');
break;
}
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
case 'M':
case 'N':
case 'O':
case 'P':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z': {
matchRange('\u0041', '\u005a');
break;
}
case '_': {
match('\u005f');
break;
}
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': {
matchRange('\u0061', '\u007a');
break;
}
case '\u00c0':
case '\u00c1':
case '\u00c2':
case '\u00c3':
case '\u00c4':
case '\u00c5':
case '\u00c6':
case '\u00c7':
case '\u00c8':
case '\u00c9':
case '\u00ca':
case '\u00cb':
case '\u00cc':
case '\u00cd':
case '\u00ce':
case '\u00cf':
case '\u00d0':
case '\u00d1':
case '\u00d2':
case '\u00d3':
case '\u00d4':
case '\u00d5':
case '\u00d6': {
matchRange('\u00c0', '\u00d6');
break;
}
case '\u00d8':
case '\u00d9':
case '\u00da':
case '\u00db':
case '\u00dc':
case '\u00dd':
case '\u00de':
case '\u00df':
case '\u00e0':
case '\u00e1':
case '\u00e2':
case '\u00e3':
case '\u00e4':
case '\u00e5':
case '\u00e6':
case '\u00e7':
case '\u00e8':
case '\u00e9':
case '\u00ea':
case '\u00eb':
case '\u00ec':
case '\u00ed':
case '\u00ee':
case '\u00ef':
case '\u00f0':
case '\u00f1':
case '\u00f2':
case '\u00f3':
case '\u00f4':
case '\u00f5':
case '\u00f6': {
matchRange('\u00d8', '\u00f6');
break;
}
case '\u00f8':
case '\u00f9':
case '\u00fa':
case '\u00fb':
case '\u00fc':
case '\u00fd':
case '\u00fe':
case '\u00ff': {
matchRange('\u00f8', '\u00ff');
break;
}
default:
if (((LA(1) >= '\u0100' && LA(1) <= '\u1fff'))) {
matchRange('\u0100', '\u1fff');
} else if (((LA(1) >= '\u3040' && LA(1) <= '\u318f'))) {
matchRange('\u3040', '\u318f');
} else if (((LA(1) >= '\u3300' && LA(1) <= '\u337f'))) {
matchRange('\u3300', '\u337f');
} else if (((LA(1) >= '\u3400' && LA(1) <= '\u3d2d'))) {
matchRange('\u3400', '\u3d2d');
} else if (((LA(1) >= '\u4e00' && LA(1) <= '\u9fff'))) {
matchRange('\u4e00', '\u9fff');
} else if (((LA(1) >= '\uf900' && LA(1) <= '\ufaff'))) {
matchRange('\uf900', '\ufaff');
} else if (((LA(1) >= '\uac00' && LA(1) <= '\ud7af'))) {
matchRange('\uac00', '\ud7af');
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = DIGIT;
int _saveIndex;
matchRange('0', '9');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mCR_ADRESS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = CR_ADRESS;
int _saveIndex;
mBAND(false);
{
int _cnt112 = 0;
_loop112:
do {
if ((_tokenSet_0.member(LA(1)))) {
mLETTER(false);
} else {
if (_cnt112 >= 1) {
break _loop112;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt112++;
} while (true);
}
{
int _cnt114 = 0;
_loop114:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDIGIT(false);
} else {
if (_cnt114 >= 1) {
break _loop114;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt114++;
} while (true);
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
protected final void mLETTER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LETTER;
int _saveIndex;
switch (LA(1)) {
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
case 'M':
case 'N':
case 'O':
case 'P':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z': {
matchRange('A', 'Z');
break;
}
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': {
matchRange('a', 'z');
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mINT_NUM(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = INT_NUM;
int _saveIndex;
switch (LA(1)) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
{
int _cnt117 = 0;
_loop117:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDIGIT(false);
} else {
if (_cnt117 >= 1) {
break _loop117;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt117++;
} while (true);
}
{
if ((LA(1) == '.')) {
match('.');
{
_loop120:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDIGIT(false);
} else {
break _loop120;
}
} while (true);
}
_ttype = FLOT_NUM;
} else {
}
}
{
if ((LA(1) == 'E' || LA(1) == 'e')) {
mExponent(false);
_ttype = FLOT_NUM;
} else {
}
}
//System.out.println("number like 1.2e+12");
break;
}
case '.': {
match('.');
_ttype = DOT;
{
if (((LA(1) >= '0' && LA(1) <= '9'))) {
{
int _cnt124 = 0;
_loop124:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDIGIT(false);
} else {
if (_cnt124 >= 1) {
break _loop124;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt124++;
} while (true);
}
{
if ((LA(1) == 'E' || LA(1) == 'e')) {
mExponent(false);
} else {
}
}
_ttype = FLOT_NUM;
} else {
}
}
//System.out.println("number like .3e-2");
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
protected final void mExponent(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = Exponent;
int _saveIndex;
{
switch (LA(1)) {
case 'e': {
match('e');
break;
}
case 'E': {
match('E');
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
switch (LA(1)) {
case '+': {
match('+');
break;
}
case '-': {
match('-');
break;
}
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
int _cnt144 = 0;
_loop144:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDIGIT(false);
} else {
if (_cnt144 >= 1) {
break _loop144;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt144++;
} while (true);
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mSTRING_LITERAL_DSQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = STRING_LITERAL_DSQ;
int _saveIndex;
match('"');
{
_loop128:
do {
if ((LA(1) == '\\')) {
mESC(false);
} else if ((_tokenSet_2.member(LA(1)))) {
matchNot('"');
} else {
break _loop128;
}
} while (true);
}
match('"');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = ESC;
int _saveIndex;
match('\\');
{
switch (LA(1)) {
case 'n': {
match('n');
break;
}
case 'r': {
match('r');
break;
}
case 't': {
match('t');
break;
}
case 'b': {
match('b');
break;
}
case 'f': {
match('f');
break;
}
case '"': {
match('"');
break;
}
case '\'': {
match('\'');
break;
}
case '\\': {
match('\\');
break;
}
case 'u': {
{
int _cnt136 = 0;
_loop136:
do {
if ((LA(1) == 'u')) {
match('u');
} else {
if (_cnt136 >= 1) {
break _loop136;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt136++;
} while (true);
}
mXDIGIT(false);
mXDIGIT(false);
mXDIGIT(false);
mXDIGIT(false);
break;
}
case '0':
case '1':
case '2':
case '3': {
matchRange('0', '3');
{
if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe'))) {
matchRange('0', '7');
{
if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe'))) {
matchRange('0', '7');
} else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true)) {
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
} else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true)) {
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
break;
}
case '4':
case '5':
case '6':
case '7': {
matchRange('4', '7');
{
if (((LA(1) >= '0' && LA(1) <= '7')) && ((LA(2) >= '\u0003' && LA(2) <= '\ufffe'))) {
matchRange('0', '7');
} else if (((LA(1) >= '\u0003' && LA(1) <= '\ufffe')) && (true)) {
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mSTRING_LITERAL_SSQ(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = STRING_LITERAL_SSQ;
int _saveIndex;
match('\'');
{
_loop131:
do {
if ((LA(1) == '\\')) {
mESC(false);
} else if ((_tokenSet_3.member(LA(1)))) {
matchNot('\'');
} else {
break _loop131;
}
} while (true);
}
match('\'');
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
protected final void mXDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = XDIGIT;
int _saveIndex;
switch (LA(1)) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
matchRange('0', '9');
break;
}
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f': {
matchRange('a', 'f');
break;
}
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F': {
matchRange('A', 'F');
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = WS;
int _saveIndex;
{
int _cnt151 = 0;
_loop151:
do {
switch (LA(1)) {
case ' ': {
match(' ');
break;
}
case '\t': {
match('\t');
break;
}
case '\u000c': {
match('\f');
break;
}
case '\n':
case '\r': {
{
if ((LA(1) == '\r') && (LA(2) == '\n')) {
match("\r\n");
} else if ((LA(1) == '\r') && (true)) {
match('\r');
} else if ((LA(1) == '\n')) {
match('\n');
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
//new line 不生效情况居多,此line对于公式语法的检测没有什么作用,还不如直接用column定位,表示第xx个字符
//newline();
break;
}
default: {
if (_cnt151 >= 1) {
break _loop151;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
_cnt151++;
} while (true);
}
_ttype = Token.SKIP;
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
private static final long[] mk_tokenSet_0() {
long[] data = new long[1025];
data[1] = 576460743847706622L;
return data;
}
public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
private static final long[] mk_tokenSet_1() {
long[] data = new long[3988];
data[0] = 68719476736L;
data[1] = 576460745995190270L;
data[3] = -36028797027352577L;
for (int i = 4; i <= 127; i++) {
data[i] = -1L;
}
for (int i = 193; i <= 197; i++) {
data[i] = -1L;
}
data[198] = 65535L;
for (int i = 204; i <= 205; i++) {
data[i] = -1L;
}
for (int i = 208; i <= 243; i++) {
data[i] = -1L;
}
data[244] = 70368744177663L;
for (int i = 312; i <= 639; i++) {
data[i] = -1L;
}
for (int i = 688; i <= 861; i++) {
data[i] = -1L;
}
data[862] = 281474976710655L;
for (int i = 996; i <= 1003; i++) {
data[i] = -1L;
}
return data;
}
public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
private static final long[] mk_tokenSet_2() {
long[] data = new long[2048];
data[0] = -17179869192L;
data[1] = -268435457L;
for (int i = 2; i <= 1022; i++) {
data[i] = -1L;
}
data[1023] = 9223372036854775807L;
return data;
}
public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
private static final long[] mk_tokenSet_3() {
long[] data = new long[2048];
data[0] = -549755813896L;
data[1] = -268435457L;
for (int i = 2; i <= 1022; i++) {
data[i] = -1L;
}
data[1023] = 9223372036854775807L;
return data;
}
public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
}