PPC
Class Codegen

java.lang.Object
  extended by PPC.Codegen
All Implemented Interfaces:
Visitor<Temp,java.util.LinkedList<Instr>>

public class Codegen
extends java.lang.Object
implements Visitor<Temp,java.util.LinkedList<Instr>>


Constructor Summary
Codegen(PPCFrame f)
           
 
Method Summary
 Temp visit(BINOP.ADD b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.AND b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.DIV b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.DIVU b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.MUL b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.OR b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.SLL b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.SRA b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.SRL b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.SUB b, java.util.LinkedList<Instr> insns)
           
 Temp visit(BINOP.XOR b, java.util.LinkedList<Instr> insns)
           
 Temp visit(CALL s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BEQ s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BGE s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BGT s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BLE s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BLT s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CJUMP.BNE s, java.util.LinkedList<Instr> insns)
           
 Temp visit(CONST e, java.util.LinkedList<Instr> insns)
           
 Temp visit(ESEQ n, java.util.LinkedList<Instr> insns)
           
 Temp visit(ESTM s, java.util.LinkedList<Instr> insns)
           
 Temp visit(JUMP s, java.util.LinkedList<Instr> insns)
           
 Temp visit(LABEL l, java.util.LinkedList<Instr> insns)
           
 Temp visit(MEM mem, java.util.LinkedList<Instr> insns)
           
 Temp visit(MOVE s, java.util.LinkedList<Instr> insns)
           
 Temp visit(NAME e, java.util.LinkedList<Instr> insns)
           
 Temp visit(SEQ n, java.util.LinkedList<Instr> insns)
           
 Temp visit(TEMP e, java.util.LinkedList<Instr> insns)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Codegen

public Codegen(PPCFrame f)
Method Detail

visit

public Temp visit(MOVE s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(ESTM s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(JUMP s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BEQ s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BNE s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BLT s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BGT s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BLE s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CJUMP.BGE s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(LABEL l,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CONST e,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(NAME e,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(TEMP e,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.ADD b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.SUB b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.MUL b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.DIV b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.DIVU b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.AND b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.OR b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.SLL b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.SRL b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.SRA b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(BINOP.XOR b,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(MEM mem,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(CALL s,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(SEQ n,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>

visit

public Temp visit(ESEQ n,
                  java.util.LinkedList<Instr> insns)
Specified by:
visit in interface Visitor<Temp,java.util.LinkedList<Instr>>