|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
| Packages that use Variable | |
|---|---|
| dspl | |
| dspl.backend | |
| dspl.backend.x86 | |
| dspl.backend.x86.operands | |
| dspl.frontend | |
| dspl.intermediate | |
| dspl.intermediate.instructions | |
| dspl.intermediate.variable | |
| Uses of Variable in dspl |
|---|
| Methods in dspl that return Variable | |
|---|---|
Variable |
SymbolTable.addStringVariable(java.lang.String identifier)
|
Variable |
SymbolTable.getVariable(java.lang.String identifier)
Returns the Variable corresponding to the identifier provided |
| Methods in dspl with parameters of type Variable | |
|---|---|
void |
SymbolTable.addVariable(Variable v)
Adds the provided Variable to the Symbol table |
| Uses of Variable in dspl.backend |
|---|
| Methods in dspl.backend with parameters of type Variable | |
|---|---|
java.lang.String |
AssemblyfileGenerator.getStringLabel(Variable stringVar)
Returns the label used to refer to a particular String that should've been added to the data section of the ASM file |
| Uses of Variable in dspl.backend.x86 |
|---|
| Fields in dspl.backend.x86 declared as Variable | |
|---|---|
private Variable[] |
X86VariableManager.registerValues
|
| Methods in dspl.backend.x86 with parameters of type Variable | |
|---|---|
static java.lang.String |
X86AsmFormatter.getAddInstruction(Variable v)
Returns the appriopriate add instruction based on the variable's size |
static java.lang.String |
X86AsmFormatter.getArrayElement(Variable v,
java.lang.String index)
Returns the string representation of an element within an array. |
static java.lang.String |
X86BranchInstructionProcessor.getConditionalJumpInstruction(int conditionType,
Variable var)
Returns the x86 ASM instruction corresponding to the appriopriate conditional jump for the specific conditionType |
static java.lang.String |
X86AsmFormatter.getDivideInstruction(Variable v)
Returns the appriopriate divide instruction based on the variable's type |
static java.lang.String |
X86AsmFormatter.getInstr(java.lang.String inst,
Variable v)
Returns a string representing the instruction for inst + (b/w/l), depending on size of v |
static java.lang.String |
X86AsmFormatter.getMoveInstruction(Variable v)
Returns the apprioprate move instruction based on the variable's size |
static java.lang.String |
X86AsmFormatter.getMultiplyInstruction(Variable v)
Returns the appriopriate multiply instruction based on the variable's type |
static java.lang.String |
X86AsmFormatter.getSizePostfix(Variable v)
Returns the appriopriate size postfix (b,w, or l) for (1,2, or 4) byte sized data type |
static java.lang.String |
X86AsmFormatter.getSubtractInstruction(Variable v)
Returns the appriopriate subtract instruction based on the variable's type |
static java.lang.String |
X86AsmFormatter.getVariableRepresentation(Variable v)
Returns the representation that should be used for the variable in assmebly |
static void |
X86VariableManager.getVarInRegister(Variable v)
|
static X86Operand |
X86VariableManager.prepareArg1Variable(Variable var,
int allowableOpTypes,
AssemblyfileGenerator afg)
Very important note: Arg1, when retrieved in memory, is stored in eax. |
static X86Operand |
X86VariableManager.prepareArg2Variable(Variable var,
int allowableOpTypes,
AssemblyfileGenerator afg)
Very important note: see note above, same holds for ecx |
static X86Register |
X86VariableManager.prepareArrayLocAsReg(Variable var,
X86Register reg,
AssemblyfileGenerator afg)
intended specifically when given an array ("iA", for example), do: mov $iA, %(specified reg) and return the specified reg |
static X86Operand |
X86VariableManager.prepareDestVariable(Variable var,
int allowableOpTypes,
AssemblyfileGenerator afg)
|
static X86Register |
X86VariableManager.prepareRegVariableWithExplicitMove(Variable var,
java.lang.String explicitMovInstruction,
AssemblyfileGenerator afg)
Used when the exact mov instruction for putting the variable into a register is known Added for type conversions Always retuns reg in %eax NOTE: here the register content's lenght IS NOT SET, this must be done after calling the function to get the desired moves for conversion (since length is based on the destination not the src which is the var we have here) |
static X86Operand |
X86VariableManager.prepareVariable(Variable var,
X86Register indexRegister,
X86Register variableRegister,
int allowableOpTypes,
AssemblyfileGenerator afg)
|
static void |
X86VariableManager.pushFloatingPointVariable(Variable var,
AssemblyfileGenerator afg)
Pushes the floating point variable onto the FPU stack (@ ST(0)); |
static void |
X86VariableManager.writeFPLoad(Variable var,
X86Operand op,
AssemblyfileGenerator afg)
Pushes op (which represents var) onto the stack |
static void |
X86VariableManager.writeTopOfFPStack(Variable var,
AssemblyfileGenerator afg)
|
| Uses of Variable in dspl.backend.x86.operands |
|---|
| Fields in dspl.backend.x86.operands declared as Variable | |
|---|---|
Variable |
X86MemoryOperand.var
|
private Variable |
X86ImmediateOperand.var
|
| Methods in dspl.backend.x86.operands with parameters of type Variable | |
|---|---|
static boolean |
X86MemoryOperand.canBeMemoryOperand(Variable var)
Checks to make sure that the variable can be a memory operand Intended to be called before calling new X86MemoryOperand, specificall in X86VariableManager, within prepareVariables, if one needs to get an Immediate into an lvalue, then prepareVariable will first try to put it into memory before trying to put it into a reg, this check will allowing skipping the memory operand if it cannot do it. |
void |
X86Register.setRegisterContentsSize(Variable v)
|
| Constructors in dspl.backend.x86.operands with parameters of type Variable | |
|---|---|
X86ImmediateOperand(Variable var)
|
|
X86ImmediateOperand(Variable var,
boolean treatArrayAsConst)
Specifically intended for doing instructions like "mov $iC, %edx" where iC is begining of an array, and is ok to treat as a 4byte pointer constant |
|
X86IndexMemoryOperand(Variable var,
X86Register baseRegister,
X86Register indexRegister,
int size)
|
|
X86MemoryOperand(Variable var)
|
|
| Uses of Variable in dspl.frontend |
|---|
| Fields in dspl.frontend declared as Variable | |
|---|---|
private Variable |
SymbolicException.var
|
| Methods in dspl.frontend that return Variable | |
|---|---|
Variable |
DSPLAstToIntermediateWalker.expr(antlr.collections.AST _t)
|
protected Variable |
DSPLAstToIntermediateWalker.getTempAtomicVar(int variableType,
java.lang.String prepend)
Helper function intended to be used by expressions which require a temporary variable to store a result variableType must correspond to one of the Variable.DATATYPE_xxx (int/uint/float/etc) |
protected Variable |
DSPLAstToIntermediateWalker.newFloatConstant(java.lang.String val)
Function that creates a new Float "Constant" (since its stored in the symbol table) |
| Methods in dspl.frontend with parameters of type Variable | |
|---|---|
protected int |
DSPLAstToIntermediateWalker.checkLogical(Variable e1,
Variable e2,
antlr.collections.AST _t)
Functions to aid in Semantic checking of logical expressions |
static java.lang.String |
SymbolicException.generateErrorMessage(Variable v,
java.lang.String message)
|
| Constructors in dspl.frontend with parameters of type Variable | |
|---|---|
SymbolicException(Variable v,
java.lang.String err)
|
|
| Uses of Variable in dspl.intermediate |
|---|
| Fields in dspl.intermediate declared as Variable | |
|---|---|
Variable |
Comparison.arg1
First argument to be compared |
Variable |
Comparison.arg2
Second arguement to compared to arg1 |
| Constructors in dspl.intermediate with parameters of type Variable | |
|---|---|
Comparison(Variable arg1,
Variable arg2,
int condition)
|
|
| Uses of Variable in dspl.intermediate.instructions |
|---|
| Fields in dspl.intermediate.instructions declared as Variable | |
|---|---|
Variable |
RelationInstruction.arg1
First argument to be compared |
Variable |
ArithmaticInstruction.arg1
First arguement |
Variable |
RelationInstruction.arg2
Second arguement to compared to arg1 |
Variable |
ArithmaticInstruction.arg2
Second argument, will be null in the case of OPERATION_ASSIGNMENT and OPERATION_CONVERSION |
Variable |
ArithmaticInstruction.dest
Destination variable: its value is determined by... |
| Methods in dspl.intermediate.instructions that return Variable | |
|---|---|
Variable[] |
CCallInstruction.getParameters()
Returns an arra of the parameters to be pased to the function. |
| Methods in dspl.intermediate.instructions with parameters of type Variable | |
|---|---|
void |
CCallInstruction.addParameter(Variable v)
Adds a parameter to be passed (by pushing on the stack) to the function to be called |
boolean |
RelationInstruction.usesVariable(Variable foo)
|
boolean |
LoopInstruction.usesVariable(Variable v)
|
abstract boolean |
Instruction.usesVariable(Variable v)
Designed to be a recursive call to see if a given variable is used anymore within a code block, after the current instruction. |
boolean |
CCallInstruction.usesVariable(Variable v)
|
boolean |
BranchInstruction.usesVariable(Variable v)
|
boolean |
ArithmaticInstruction.usesVariable(Variable v)
|
| Constructors in dspl.intermediate.instructions with parameters of type Variable | |
|---|---|
ArithmaticInstruction(int operationType,
Variable arg1,
Variable arg2,
Variable dest)
Constructor for creating ArithmaticInstruction |
|
RelationInstruction(Variable arg1,
Variable arg2,
int condition)
|
|
| Uses of Variable in dspl.intermediate.variable |
|---|
| Subclasses of Variable in dspl.intermediate.variable | |
|---|---|
class |
DSPLByte
DSPLByte is the Variable for the byte primitive type |
class |
DSPLComplex
DSPLComplex is the DSPL Variable for Complex numbers/arrays |
class |
DSPLFloat
DSPLFloat is the Variable class for the float primitive |
class |
DSPLInteger
DSPLInteger is the Variable for the signed integer type |
class |
DSPLString
The DSPL Variable type for Strings |
class |
DSPLUByte
DSPLUByte is the Variable for the unsigned byte |
class |
DSPLUInteger
DSPLUInteger is the Variable for the unsigned integer type |
| Fields in dspl.intermediate.variable declared as Variable | |
|---|---|
protected Variable |
Variable.elementIndex
If the variable is an element of a larger variable (either array or complex), element index stores either: the index into the array, in the case where elementsParentVar is an array the flag indicating either the real or imaginary component of a complex, in the case where elementsParentVar is a DSPLComplex |
protected Variable |
Variable.elementsParentVar
For Atomic Elements of Arrays/Complex, elementsParentVar contains the parent variable (either the array or complex variable) |
| Methods in dspl.intermediate.variable that return Variable | |
|---|---|
Variable |
Variable.getIndexVariable()
|
static Variable |
Variable.getNewArray(int parserTokenID,
java.lang.String identifier,
int arraySize,
int lineDecl)
Called to create a new array Variable of the appriopriate size based on the provided parserTokenID |
static Variable |
Variable.getNewAtomic(int parserTokenID,
java.lang.String identifier,
int lineDecl,
boolean isConstant)
Creates a new Atomic Variable. |
static Variable |
Variable.getNewAtomicElement(Variable parentVar,
Variable elementIndex,
int lineDecl)
Returns a new Atomic variable representing an element within an array or complex |
Variable |
Variable.getParentVariable()
|
| Methods in dspl.intermediate.variable with parameters of type Variable | |
|---|---|
static Variable |
Variable.getNewAtomicElement(Variable parentVar,
Variable elementIndex,
int lineDecl)
Returns a new Atomic variable representing an element within an array or complex |
boolean |
Variable.isSameDataType(Variable otherVar)
Note that this function returns true so long as their type is the same, it does not take into account whether the sizes are the same. |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||