📄 javascanner.java
字号:
"\1\10\4\0\3\10\1\342\30\10\24\0\1\10\6\0"+
"\7\10\1\0\1\10\4\0\10\10\1\343\23\10\24\0"+
"\1\10\6\0\7\10\1\0\1\10\4\0\2\10\1\344"+
"\31\10\24\0\1\10\6\0\7\10\1\0\1\10\4\0"+
"\1\10\1\345\32\10\24\0\1\10\6\0\7\10\1\0"+
"\1\10\4\0\11\10\1\346\22\10\24\0\1\10\6\0"+
"\7\10\1\0\1\10\4\0\3\10\1\347\30\10\24\0"+
"\1\10\6\0\7\10\1\0\1\10\4\0\3\10\1\350"+
"\30\10\24\0\1\10\6\0\7\10\1\0\1\10\4\0"+
"\7\10\1\351\24\10\24\0\1\10\6\0\7\10\1\0"+
"\1\10\4\0\2\10\1\352\2\10\1\353\26\10\24\0"+
"\1\10\6\0\7\10\1\0\1\10\4\0\2\10\1\354"+
"\31\10\24\0\1\10\6\0\7\10\1\0\1\10\4\0"+
"\4\10\1\355\27\10\24\0\1\10\6\0\7\10\1\0"+
"\1\10\4\0\23\10\1\356\10\10\24\0\1\10\6\0"+
"\7\10\1\0\1\10\4\0\16\10\1\357\15\10\24\0"+
"\1\10\6\0\7\10\1\0\1\10\4\0\11\10\1\360"+
"\22\10\24\0\1\10\6\0\7\10\1\0\1\10\4\0"+
"\5\10\1\361\26\10\24\0\1\10\6\0\7\10\1\0"+
"\1\10\4\0\3\10\1\362\30\10\24\0\1\10\6\0"+
"\7\10\1\0\1\10\4\0\10\10\1\363\1\364\22\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\1\10"+
"\1\365\32\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\6\10\1\366\25\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\2\10\1\247\31\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\1\10\1\367\32\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\1\10"+
"\1\370\32\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\10\10\1\371\23\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\13\10\1\372\20\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\5\10\1\373\26\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\26\10"+
"\1\374\5\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\11\10\1\375\22\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\1\10\1\376\32\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\20\10\1\377\13\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\11\10"+
"\1\u0100\22\10\24\0\1\10\67\0\1\u0101\34\0\1\314"+
"\71\0\7\10\1\0\1\10\4\0\4\10\1\u0102\27\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\4\10"+
"\1\u0103\27\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\16\10\1\u0104\15\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\7\10\1\u0105\24\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\15\10\1\u0106\16\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\5\10"+
"\1\u0107\26\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\4\10\1\u0108\27\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\7\10\1\u0109\24\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\12\10\1\u010a\21\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\4\10"+
"\1\u010b\27\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\2\10\1\u010c\31\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\27\10\1\u010d\4\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\13\10\1\u010e\20\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\3\10"+
"\1\u010f\30\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\15\10\1\u0110\16\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\5\10\1\371\26\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\16\10\1\u0111\15\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\2\10"+
"\1\u0112\31\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\26\10\1\u0113\5\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\1\10\1\u0114\32\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\4\10\1\u0115\27\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\4\10"+
"\1\u0116\27\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\3\10\1\u0117\30\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\17\10\1\u0118\14\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\11\10\1\u0119\22\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\5\10"+
"\1\u011a\26\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\11\10\1\u011b\22\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\1\10\1\u011c\32\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\3\10\1\u011d\30\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\1\10"+
"\1\u011e\32\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\16\10\1\u011f\15\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\5\10\1\u0120\26\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\3\10\1\u0121\30\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\5\10"+
"\1\u0122\26\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\1\10\1\u0123\32\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\7\10\1\u0124\24\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\5\10\1\u0125\26\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\4\10"+
"\1\u0126\27\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\15\10\1\u0127\16\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\20\10\1\u0128\13\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\12\10\1\u0129\21\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\16\10"+
"\1\u012a\15\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\2\10\1\u012b\31\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\1\10\1\u012c\32\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\12\10\1\u012d\21\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\3\10"+
"\1\u012e\30\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\12\10\1\u012f\21\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\21\10\1\u0130\12\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\5\10\1\u0131\26\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\24\10"+
"\1\u0132\7\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\11\10\1\u0133\22\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\3\10\1\u0134\30\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\11\10\1\u0135\22\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\23\10"+
"\1\u0136\10\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\7\10\1\u0137\24\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\5\10\1\u0138\26\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\7\10\1\u0139\24\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\16\10"+
"\1\u013a\15\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\7\10\1\u013b\24\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\21\10\1\u013c\12\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\10\10\1\u013d\23\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\2\10"+
"\1\u013e\31\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\3\10\1\u013f\30\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\12\10\1\u0140\21\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\17\10\1\u0141\14\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\7\10"+
"\1\u0142\24\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\1\10\1\u0143\32\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\3\10\1\u0144\30\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\5\10\1\u0145\26\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\14\10"+
"\1\u0146\17\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\3\10\1\u0147\30\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\5\10\1\u0148\26\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\3\10\1\u0149\30\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\11\10"+
"\1\u014a\22\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\5\10\1\u014b\26\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\25\10\1\u014c\6\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\12\10\1\u014d\21\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\12\10"+
"\1\u014e\21\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\3\10\1\u014f\30\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\3\10\1\u0150\30\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\7\10\1\u0151\24\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\12\10"+
"\1\u0152\21\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\3\10\1\u0153\30\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\3\10\1\u0154\30\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\16\10\1\u0155\15\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\5\10"+
"\1\u0156\26\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\10\10\1\u0157\23\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\3\10\1\u0158\30\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\5\10\1\u0159\26\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\20\10"+
"\1\u015a\13\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\30\10\1\u015b\3\10\24\0\1\10\6\0\7\10"+
"\1\0\1\10\4\0\21\10\1\u015c\12\10\24\0\1\10"+
"\6\0\7\10\1\0\1\10\4\0\2\10\1\u015d\31\10"+
"\24\0\1\10\6\0\7\10\1\0\1\10\4\0\3\10"+
"\1\u015e\30\10\24\0\1\10\6\0\7\10\1\0\1\10"+
"\4\0\20\10\1\u015f\13\10\24\0\1\10";
private static int [] zzUnpackTrans() {
int [] result = new int[16592];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
/* error messages for the codes above */
private static final String ZZ_ERROR_MSG[] = {
"Unkown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\2\0\2\11\11\1\1\11\20\1\10\11\4\1\3\11"+
"\5\1\1\11\1\1\1\11\1\1\1\11\2\1\1\0"+
"\2\11\1\1\2\0\1\1\1\0\5\11\1\0\1\11"+
"\1\1\1\0\46\1\2\11\1\1\1\11\1\1\12\11"+
"\2\1\10\11\1\0\1\11\2\1\1\0\1\11\67\1"+
"\1\11\1\1\2\11\1\0\1\11\1\0\10\11\53\1"+
"\1\11\136\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[351];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the input device */
private java.io.Reader zzReader;
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the textposition at the last state to be included in yytext */
private int zzPushbackPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/** number of newlines encountered up to the start of the matched text */
private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
/**
* the number of characters from the last newline up to the start of the
* matched text
*/
private int yycolumn;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/* user code: */
StringBuffer strbuf = new StringBuffer(128); int sub_line; int sub_column; private Symbol sym(short id) { return new Symbol(id, yyline + 1, yycolumn + 1, len(), str()); } private Symbol sym(short id, String value) { return new Symbol(id, yyline + 1, yycolumn + 1, len(), value); } private String str() { return yytext(); } private int len() { return yylength(); } private void error(String msg) throws Scanner.Exception { throw new Scanner.Exception(yyline + 1, yycolumn + 1, msg); }
/**
* Creates a new scanner
* There is also a java.io.InputStream version of this constructor.
*
* @param in the java.io.Reader to read input from.
*/
public JavaScanner(java.io.Reader in) {
this.zzReader = in;
}
/**
* Creates a new scanner.
* There is also java.io.Reader version of this constructor.
*
* @param in the java.io.Inputstream to read input from.
*/
public JavaScanner(java.io.InputStream in) {
this(new java.io.InputStreamReader(in));
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < 1784) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
/**
* Refills the input buffer.
*
* @return <code>false</code>, iff there was new input.
*
* @exception java.io.IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws java.io.IOException {
/* first: make room (if you can) */
if (zzStartRead > 0) {
System.arraycopy(zzBuffer, zzStartRead,
zzBuffer, 0,
zzEndRead-zzStartRead);
/* translate stored positions */
zzEndRead-= zzStartRead;
zzCurrentPos-= zzStartRead;
zzMarkedPos-= zzStartRead;
zzPushbackPos-= zzStartRead;
zzStartRead = 0;
}
/* is the buffer big enough? */
if (zzCurrentPos >= zzBuffer.length) {
/* if not: blow it up */
char newBuffer[] = new char[zzCurrentPos*2];
System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
zzBuffer = newBuffer;
}
/* finally: fill the buffer with new input */
int numRead = zzReader.read(zzBuffer, zzEndRead,
zzBuffer.length-zzEndRead);
if (numRead < 0) {
return true;
}
else {
zzEndRead+= numRead;
return false;
}
}
/**
* Closes the input stream.
*/
public final void yyclose() throws java.io.IOException {
zzAtEOF = true; /* indicate end of file */
zzEndRead = zzStartRead; /* invalidate buffer */
if (zzReader != null)
zzReader.close();
}
/**
* Resets the scanner to read from a new input stream.
* Does not close the old reader.
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -