tgl
クラス Memory

java.lang.Object
  上位を拡張 tgl.Memory

public class Memory
extends java.lang.Object

コード領域と静的データ領域をもつメモリ。コンパイラが生成する手続きのコードと グローバル変数の値を保存する。


フィールドの概要
(package private)  java.util.HashMap<java.lang.String,Code> codeDict
           
(package private)  java.util.Vector<java.lang.Double> data
           
(package private)  java.util.HashMap<java.lang.String,java.lang.Integer> varDict
           
 
コンストラクタの概要
Memory()
           
 
メソッドの概要
 int allocate(java.lang.String name, double v)
          静的データ領域に変数のための新たな領域を割り当て、そこに値を格納する。
 Code get(java.lang.String name)
          識別子nameをもつ手続きのコードを取得する。
 double getData(int location)
          静的データ領域の指定された位置から値を取得する。
 int getDataSize()
          静的データ領域のサイズを取得する。
 Code getMain()
          手続き main のコードを返す
 Code putCode(java.lang.String name, Code code)
          識別子nameをもつ手続きのコードを保存する。
 void setData(int loc, double val)
          静的データ領域中の位置 loc に値を格納する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

data

java.util.Vector<java.lang.Double> data

varDict

java.util.HashMap<java.lang.String,java.lang.Integer> varDict

codeDict

java.util.HashMap<java.lang.String,Code> codeDict
コンストラクタの詳細

Memory

public Memory()
メソッドの詳細

getMain

public Code getMain()
手続き main のコードを返す

戻り値:
手続き main のコード

get

public Code get(java.lang.String name)
識別子nameをもつ手続きのコードを取得する。

パラメータ:
name - 手続きを表す識別子名
戻り値:
手続きのコード
関連項目:
HashMap.get(java.lang.Object)

putCode

public Code putCode(java.lang.String name,
                    Code code)
識別子nameをもつ手続きのコードを保存する。

パラメータ:
name - 手続きを表す識別子名
code - 手続きのコード
関連項目:
HashMap<K,V>.put(K, V)

setData

public void setData(int loc,
                    double val)
静的データ領域中の位置 loc に値を格納する。

パラメータ:
loc - 静的データ領域中の位置
val - 格納する値

getDataSize

public int getDataSize()
静的データ領域のサイズを取得する。

戻り値:
静的データ領域のサイズ

getData

public double getData(int location)
静的データ領域の指定された位置から値を取得する。

パラメータ:
location - 静的データ領域中の位置
戻り値:
指定された位置に格納された値

allocate

public int allocate(java.lang.String name,
                    double v)
静的データ領域に変数のための新たな領域を割り当て、そこに値を格納する。

パラメータ:
name - 変数名
v - 変数の値
戻り値:
割り当てられた領域の位置