uk.ac.man.cs.rainbow.compiler.rasm
Class CGEnv

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.compiler.CompilerThing
        |
        +--uk.ac.man.cs.rainbow.compiler.names.Environment
              |
              +--uk.ac.man.cs.rainbow.compiler.rasm.CGEnv
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
GreenEnv

public class CGEnv
extends Environment
implements Cloneable


Constructor Summary
CGEnv()
           
 
Method Summary
 RASMList access(String id)
           
 void add_intermediate()
           
 void add_local(LocalDeclaration decl)
           
 int anon_temp()
           
 CGEnv cloneCGEnv()
           
 String custom_label_and_addr(String info)
           
 void delete_intermediate()
           
 String donals_label_prefix()
           
 RASMList enter_fun(String name)
           
 void enter_proc(String name)
           
 void exit_fun()
           
 void exit_proc()
           
 RASMList exit_scope(CGEnv from_inside)
           
 String get_method_name()
           
 String get_module_name()
           
 int get_next_stack_pos()
           
 int get_number_supply()
           
 int get_unique_num()
           
 GreenEnv greenify()
           
 LocalDeclaration lookup_defn(String id)
           
 int lookup_stack_position(String id)
           
 GreenEnv make_green_env()
           
 RASMList method_start_label(String methname)
           
 void set_method_name(String meth)
           
 void set_module_name(String modl)
           
 void set_next_stack_pos(int n)
           
 void set_number_supply(int n)
           
 String toString()
           
 void update_after_inner_stuff(CGEnv from_inside)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerThing
className, crashHere, getSerial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CGEnv

public CGEnv()
Method Detail

toString

public String toString()
Overrides:
toString in class Environment

cloneCGEnv

public CGEnv cloneCGEnv()

enter_fun

public RASMList enter_fun(String name)

exit_fun

public void exit_fun()

enter_proc

public void enter_proc(String name)

method_start_label

public RASMList method_start_label(String methname)

exit_proc

public void exit_proc()

get_unique_num

public int get_unique_num()

get_number_supply

public int get_number_supply()

set_number_supply

public void set_number_supply(int n)

get_module_name

public String get_module_name()

set_module_name

public void set_module_name(String modl)

get_method_name

public String get_method_name()

set_method_name

public void set_method_name(String meth)

donals_label_prefix

public String donals_label_prefix()

custom_label_and_addr

public String custom_label_and_addr(String info)

anon_temp

public int anon_temp()

add_intermediate

public void add_intermediate()

delete_intermediate

public void delete_intermediate()

add_local

public void add_local(LocalDeclaration decl)

lookup_stack_position

public int lookup_stack_position(String id)

get_next_stack_pos

public int get_next_stack_pos()

set_next_stack_pos

public void set_next_stack_pos(int n)

lookup_defn

public LocalDeclaration lookup_defn(String id)

access

public RASMList access(String id)

update_after_inner_stuff

public void update_after_inner_stuff(CGEnv from_inside)

exit_scope

public RASMList exit_scope(CGEnv from_inside)

make_green_env

public GreenEnv make_green_env()

greenify

public GreenEnv greenify()