📄 transhash.java
字号:
import java.util.*;
/**
* Die Klasse TransHash erweitert die Klasse java.util.Hashtable um die
* Funktionalität, eine Übersetzungstabelle für Tokenobjekte
* zu verwalten.
*
* @author Michael Wels
* @since 12.06.2002
* @version 1.02
*/
public class TransHash extends Hashtable
{
// Zaehler fuer die Variablennamen (a1, a2, ...)
private int index = 0;
private String bezeichnung;
/**
* Der Konstruktor übernimmt einen String, der als Teilwort der Bezeichner
* im letztlich erzeugten Javacode auftaucht.
* @param String
*/
TransHash(String newBezeichnung) {
bezeichnung = newBezeichnung;
}
/**
* Diese Methode regelt den Zugriff auf die übersetzten Variablennamen.
* Ist dem aktuellen Namen schon eine Übersetzung zugewiesen, so wird diese
* zurückgeliefert, andernfalls wird eine neue erstellt, zugewiesen und
* dann anschlie遝nd zurückgeliefert.
*
* @param Token
* @return Token
*/
public Token get(Token schluessel) {
// erneutes Vorkommen dieses Variablennamens
if (super.get(schluessel.toString()) != null) {
return (Token)super.get(schluessel.toString());
// erstes Vorkommen dieses Variablennamens
} else {
Token zwischenspeicherToken = new Token(bezeichnung + "" + index++, schluessel.getLineNumber(), schluessel.getType());
super.put(schluessel.toString(), zwischenspeicherToken);
return zwischenspeicherToken;
}
}
/**
* Diese Methode stellt einen einfachen Accessor für die Elemente des Hashs
* dar.
*
* @param Token
* @return Token
*/
public Token getFunktion(Token schluessel) {
return (Token)super.get(schluessel.toString());
}
/**
* Diese Methode dient zum Einfügen eines Elements in den Hash.
*
* @param String, String
*/
public void set(String schluessel, String wert) {
super.put(schluessel, new Token(wert,0,0));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -