📄 reservedtable.java
字号:
//:LexicalAnalyser:ReservedTable.java
//the class provide the service of the string being a keyWord or not
package LexicalAnalyser;
import java.util.*;
import java.io.*;
public class ReservedTable{
private Hashtable KWHash;
private File ReserveFile;
private int TMP_BUFFER_SIZE = 30;
private FileReader resFileReader; // reader of the ReserveFile
public ReservedTable(File ReserveFile) {
System.out.println("ReservdeTable is setting up");
this.ReserveFile=ReserveFile;
}
public boolean isKeyWord(String inw) {
String resWord;
/*use interface Enumeration to locate the Hashtable*/
for(Enumeration e=this.KWHash.elements();e.hasMoreElements();){
resWord=(String)e.nextElement();
if (resWord.equalsIgnoreCase(inw)) {
return true;
}
}
return false;
}
public void initKeyWordTable() {
KWHash = new Hashtable(); //use the Hashtable to save the information
int intLength;//
char[] chrBuffer = new char[TMP_BUFFER_SIZE];
String resWord;
int resCounter = 0;
try {
if (ReserveFile.exists()) { //if the file exists
//create the file component
resFileReader = new java.io.FileReader(ReserveFile);
//write into the Hashtable
while ( (intLength = resFileReader.read(chrBuffer)) != -1) {
resCounter++;
resWord = String.valueOf(chrBuffer).trim();
this.KWHash.put(Integer.toString(resCounter), resWord);
}
resFileReader.close();
}
else {
System.err.println("[ERROR]保留字文件不存在!");
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -