📄 yylex.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: Yylex.java
package jxl.biff.formula;
import java.io.*;
import jxl.biff.WorkbookMethods;
// Referenced classes of package jxl.biff.formula:
// Plus, Minus, Multiply, Divide,
// GreaterThan, Equal, LessThan, ArgumentSeparator,
// IntegerValue, RangeSeparator, OpenParentheses, CloseParentheses,
// GreaterEqual, NotEqual, LessEqual, CellReference,
// NameRange, StringFunction, DoubleValue, ColumnRange,
// CellReference3d, BooleanValue, Area, ColumnRange3d,
// Area3d, StringValue, FormulaException, ExternalSheet,
// ParseItem
class Yylex
{
private final int YY_BUFFER_SIZE = 512;
private final int YY_F = -1;
private final int YY_NO_STATE = -1;
private final int YY_NOT_ACCEPT = 0;
private final int YY_START = 1;
private final int YY_END = 2;
private final int YY_NO_ANCHOR = 4;
private final int YY_BOL = 0x10000;
private final int YY_EOF = 0x10001;
private boolean emptyString;
private ExternalSheet externalSheet;
private WorkbookMethods nameTable;
private BufferedReader yy_reader;
private int yy_buffer_index;
private int yy_buffer_read;
private int yy_buffer_start;
private int yy_buffer_end;
private char yy_buffer[];
private int yychar;
private int yyline;
private boolean yy_at_bol;
private int yy_lexical_state;
private boolean yy_eof_done;
private final int YYSTRING = 1;
private final int YYINITIAL = 0;
private final int yy_state_dtrans[] = {
0, 31
};
private boolean yy_last_was_cr;
private final int YY_E_INTERNAL = 0;
private final int YY_E_MATCH = 1;
private String yy_error_string[] = {
"Error: Internal error.\n", "Error: Unmatched input.\n"
};
private int yy_acpt[] = {
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 0, 4, 4, 4, 4, 4, 0,
4, 0, 4, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
4, 0, 0, 0, 0, 0, 4, 0
};
private int yy_cmap[];
private int yy_rmap[];
private int yy_nxt[][];
int getPos()
{
return yychar;
}
void setExternalSheet(ExternalSheet es)
{
externalSheet = es;
}
void setNameTable(WorkbookMethods nt)
{
nameTable = nt;
}
Yylex(Reader reader)
{
this();
if(null == reader)
{
throw new Error("Error: Bad input stream initializer.");
} else
{
yy_reader = new BufferedReader(reader);
return;
}
}
Yylex(InputStream instream)
{
this();
if(null == instream)
{
throw new Error("Error: Bad input stream initializer.");
} else
{
yy_reader = new BufferedReader(new InputStreamReader(instream));
return;
}
}
private Yylex()
{
yy_eof_done = false;
yy_last_was_cr = false;
yy_cmap = unpackFromString(1, 0x10002, "14:8,25:3,14:21,25,15,28,14,11,14:2,13,26,27,3,1,8,2,10,4,9:10,16,14,7,6,5,14:2,22,12:3,20,21,12:5,23,12:5,18,24,17,19,12:5,14:6,12:26,14:65413,0:2")[0];
yy_rmap = unpackFromString(1, 78, "0,1:5,2,1,3,1,4,1:8,5,6,1,7,8,9,10,11,12,10,13,14,15,1,16,17,10,1:2,18,19,20,21,22,7,23,24,25,26,27,28,29,30,31,32,33,34,9,35,36,11,37,38,39,40,41,42,43,14,44,45,46,47,48,49,50,51,52,53")[0];
yy_nxt = unpackFromString(54, 29, "1,2,3,4,5,6,7,8,9,10,33,39,33,41,-1:2,11,69,33:3,77,33:3,12,13,14,15,-1:35,16,-1:27,17,18,-1:31,10,43,-1:27,19,-1:6,72,-1:21,34,35,45,35,-1:2,46,47,35:8,-1,21,-1:11,22,-1:29,36,-1,36,-1:4,36:8,-1:13,24,-1:28,42,35,-1,35,-1:2,46,-1,35:8,-1,21,-1:11,26,-1:28,27,-1:6,63,-1:22,37,-1,37,-1:4,37:8,-1:13,30,-1:19,1,38:27,32,-1:9,19,20,45,20,-1:2,46,47,20:8,-1,21,-1:11,34,42,-1,42,-1:3,72,42:8,-1:5,38:27,-1:11,48,-1,48,-1:4,48:8,-1:13,42,35,-1,35,-1:2,46,-1,35:3,25,35:4,-1,21,-1:3,41:12,49,41:15,-1:9,42:2,-1,42,-1:4,42:8,-1:13,42,35,-1,35,-1:2,46,-1,35:3,28,35:4,-1,21,-1:11,19,-1:29,50,71,50,-1:4,50:8,-1:14,23,51,23,-1:4,23:8,-1:13,19,52,45,52,-1:3,47,52:8,-1:19,53,-1:22,24,55,56,55,-1:4,55:8,-1:14,23,-1,23,-1:4,23:8,-1:13,19,-1,45,-1:4,47,-1:22,57,74,57,-1:4,57:8,-1:13,26,58,59,58,-1:4,58:8,-1:13,24,-1,56,-1:26,27,60,61,60,-1:3,62,60:8,-1:13,26,-1,59,-1:26,27,-1,61,-1:4,62,-1:21,27,-1:29,29,64,29,-1:4,29:8,-1:14,65,75,65,-1:4,65:8,-1:14,29,-1,29,-1:4,29:8,-1:13,30,66,67,66,-1:4,66:8,-1:13,30,-1,67,-1:26,34,35,45,35,-1:2,46,47,35:2,40,35:5,-1,21,-1:11,19,20,45,20,-1:2,46,47,20,68,20:6,-1,21,-1:11,42,35,-1,35,-1:2,46,-1,35:7,44,-1,21,-1:12,50,-1,50,-1:4,50:8,-1:14,54,73,54,-1:4,54:8,-1:14,54,-1,54,-1:4,54:8,-1:14,57,-1,57,-1:4,57:8,-1:14,65,-1,65,-1:4,65:8,-1:13,34,35,45,35,-1:2,46,47,35:6,70,35,-1,21,-1:11,19,20,45,20,-1:2,46,47,20:5,76,20:2,-1,21,-1:2");
yy_buffer = new char[512];
yy_buffer_read = 0;
yy_buffer_index = 0;
yy_buffer_start = 0;
yy_buffer_end = 0;
yychar = 0;
yyline = 0;
yy_at_bol = true;
yy_lexical_state = 0;
}
private void yybegin(int state)
{
yy_lexical_state = state;
}
private int yy_advance()
throws IOException
{
if(yy_buffer_index < yy_buffer_read)
return yy_buffer[yy_buffer_index++];
if(0 != yy_buffer_start)
{
int i = yy_buffer_start;
int j;
for(j = 0; i < yy_buffer_read; j++)
{
yy_buffer[j] = yy_buffer[i];
i++;
}
yy_buffer_end = yy_buffer_end - yy_buffer_start;
yy_buffer_start = 0;
yy_buffer_read = j;
yy_buffer_index = j;
int next_read = yy_reader.read(yy_buffer, yy_buffer_read, yy_buffer.length - yy_buffer_read);
if(-1 == next_read)
return 0x10001;
yy_buffer_read = yy_buffer_read + next_read;
}
int next_read;
for(; yy_buffer_index >= yy_buffer_read; yy_buffer_read = yy_buffer_read + next_read)
{
if(yy_buffer_index >= yy_buffer.length)
yy_buffer = yy_double(yy_buffer);
next_read = yy_reader.read(yy_buffer, yy_buffer_read, yy_buffer.length - yy_buffer_read);
if(-1 == next_read)
return 0x10001;
}
return yy_buffer[yy_buffer_index++];
}
private void yy_move_end()
{
if(yy_buffer_end > yy_buffer_start && '\n' == yy_buffer[yy_buffer_end - 1])
yy_buffer_end--;
if(yy_buffer_end > yy_buffer_start && '\r' == yy_buffer[yy_buffer_end - 1])
yy_buffer_end--;
}
private void yy_mark_start()
{
for(int i = yy_buffer_start; i < yy_buffer_index; i++)
{
if('\n' == yy_buffer[i] && !yy_last_was_cr)
yyline++;
if('\r' == yy_buffer[i])
{
yyline++;
yy_last_was_cr = true;
} else
{
yy_last_was_cr = false;
}
}
yychar = (yychar + yy_buffer_index) - yy_buffer_start;
yy_buffer_start = yy_buffer_index;
}
private void yy_mark_end()
{
yy_buffer_end = yy_buffer_index;
}
private void yy_to_mark()
{
yy_buffer_index = yy_buffer_end;
yy_at_bol = yy_buffer_end > yy_buffer_start && ('\r' == yy_buffer[yy_buffer_end - 1] || '\n' == yy_buffer[yy_buffer_end - 1] || '\u07EC' == yy_buffer[yy_buffer_end - 1] || '\u07ED' == yy_buffer[yy_buffer_end - 1]);
}
private String yytext()
{
return new String(yy_buffer, yy_buffer_start, yy_buffer_end - yy_buffer_start);
}
private int yylength()
{
return yy_buffer_end - yy_buffer_start;
}
private char[] yy_double(char buf[])
{
char newbuf[] = new char[2 * buf.length];
for(int i = 0; i < buf.length; i++)
newbuf[i] = buf[i];
return newbuf;
}
private void yy_error(int code, boolean fatal)
{
System.out.print(yy_error_string[code]);
System.out.flush();
if(fatal)
throw new Error("Fatal Error.\n");
else
return;
}
private int[][] unpackFromString(int size1, int size2, String st)
{
int colonIndex = -1;
int sequenceLength = 0;
int sequenceInteger = 0;
int res[][] = new int[size1][size2];
for(int i = 0; i < size1; i++)
{
for(int j = 0; j < size2; j++)
{
if(sequenceLength != 0)
{
res[i][j] = sequenceInteger;
sequenceLength--;
continue;
}
int commaIndex = st.indexOf(44);
String workString = commaIndex != -1 ? st.substring(0, commaIndex) : st;
st = st.substring(commaIndex + 1);
colonIndex = workString.indexOf(58);
if(colonIndex == -1)
{
res[i][j] = Integer.parseInt(workString);
} else
{
String lengthString = workString.substring(colonIndex + 1);
sequenceLength = Integer.parseInt(lengthString);
workString = workString.substring(0, colonIndex);
sequenceInteger = Integer.parseInt(workString);
res[i][j] = sequenceInteger;
sequenceLength--;
}
}
}
return res;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -