|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object kanga.translate.MContext
public class MContext
This class represents a context of a procedure's body.
It encapsulates the three numbers relevant in generating preamble code
for a MIPS procedure. Moreover, it encapsulates a string buffer where
the procedure's code is generated via the various attach*()
methods
available.
Field Summary | |
---|---|
int |
args
The number of arguments of this procedure context. |
int |
callArgs
The maximum number of arguments in a call. |
int |
stack
The number of stack slots needed by this procedure context. |
Constructor Summary | |
---|---|
MContext(int args,
int stack,
int callArgs)
Creates a context with the given number of arguments, stack slots, and maximum number of arguments in a call. |
Method Summary | |
---|---|
void |
attachBranchNotEqual(java.lang.String reg0,
java.lang.String reg1,
java.lang.String label)
|
void |
attachCustom(java.lang.String line)
|
void |
attachJump(java.lang.String label)
|
void |
attachJumpReturn(java.lang.String addr)
|
void |
attachLabel(java.lang.String label)
|
void |
attachLoadAddress(java.lang.String dest,
java.lang.String src)
|
void |
attachLoadImmediate(java.lang.String dest,
java.lang.String value)
|
void |
attachLoadWord(java.lang.String reg,
java.lang.String src)
|
void |
attachLoadWord(java.lang.String reg,
java.lang.String offset,
java.lang.String src)
|
void |
attachMove(java.lang.String dest,
java.lang.String src)
|
void |
attachRType(java.lang.String op,
java.lang.String dest,
java.lang.String reg0,
java.lang.String reg1)
|
void |
attachStoreWord(java.lang.String reg,
java.lang.String stack)
|
void |
attachStoreWord(java.lang.String reg,
java.lang.String offset,
java.lang.String addr)
|
void |
attachSysCall(int routine)
|
java.lang.String |
getCode()
Returns the code string that has been accumulated. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public int args
public int stack
public int callArgs
Constructor Detail |
---|
public MContext(int args, int stack, int callArgs)
args
- the number of argumentsstack
- the number of stack slots neededcallArgs
- the maximum number of arguments in aMethod Detail |
---|
public java.lang.String getCode()
public void attachMove(java.lang.String dest, java.lang.String src)
public void attachLoadWord(java.lang.String reg, java.lang.String src)
public void attachLoadWord(java.lang.String reg, java.lang.String offset, java.lang.String src)
public void attachLoadAddress(java.lang.String dest, java.lang.String src)
public void attachLoadImmediate(java.lang.String dest, java.lang.String value)
public void attachStoreWord(java.lang.String reg, java.lang.String stack)
public void attachStoreWord(java.lang.String reg, java.lang.String offset, java.lang.String addr)
public void attachSysCall(int routine)
public void attachLabel(java.lang.String label)
public void attachJump(java.lang.String label)
public void attachJumpReturn(java.lang.String addr)
public void attachBranchNotEqual(java.lang.String reg0, java.lang.String reg1, java.lang.String label)
public void attachRType(java.lang.String op, java.lang.String dest, java.lang.String reg0, java.lang.String reg1)
public void attachCustom(java.lang.String line)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |