Uses of Class
dspl.intermediate.variable.Variable

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.