|
java词法分析器(27) import Java.io.*; public class ClassIdentity { private Hashtable ClassHash; private File ClassFile; private FileReader classFileReader; //读文件对象 private int TMP_BUFFER_SIZE = 30; /** * @roseuid 3D9BB9390108 */ public ClassIdentity(Java.io.File ClassFile) { System.out.println("[INFOR]类型种别码表已创建!"); this.ClassFile = ClassFile; } /** * @roseuid 3D9BB0B40383 */ //查找类型种别码 public int findKey(String classWord) { int KEY; for (Enumeration e = this.ClassHash.keys(); e.hasMoreElements(); ) { KEY = Integer.parseInt( (String) e.nextElement()); if ( ( (String)this.ClassHash.get(Integer.toString(KEY))). equalsIgnoreCase(classWord)) { return KEY; } } return -1; } /** * @roseuid 3D9BAE7303D3 */ public void initClassIdentityTable() { ClassHash = new Hashtable(); //创建hash表 int intLength; char[] chrBuffer = new char[TMP_BUFFER_SIZE]; String classWord; int classCounter = 0;
|