⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transhash.java

📁 Pasc+Java 这是一个国外的随机自动机*(RAM)一个学习用的程序
💻 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 + -