org.problets.domain.model.expression.node.operator.pointer
Class Dereference

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.expression.node.NodeModel
          extended by org.problets.domain.model.expression.node.operator.Operator
              extended by org.problets.domain.model.expression.node.operator.pointer.Pointer
                  extended by org.problets.domain.model.expression.node.operator.pointer.Dereference
All Implemented Interfaces:
java.lang.Cloneable

public class Dereference
extends Pointer

To represent the dereferencing operator for pointers

Author:
Amruth Kumar

Field Summary
static java.lang.String SYMBOL
           
 
Fields inherited from class org.problets.domain.model.expression.node.operator.pointer.Pointer
TOTAL_OPERATORS
 
Fields inherited from class org.problets.domain.model.expression.node.operator.Operator
INCORRECT_OPERAND_COUNT
 
Fields inherited from class org.problets.domain.model.DomainModel
BOOLEAN, BREAKPOINT, CHARACTER, DOUBLE_PRECISION_REAL, ERROR_TYPE, EVAL_STATUS, expACTION, expASSIGNMENT, expAUTO_DEALLOCATION, expCALL, expCONDITION, expDECLARATION, expDEREFERENCING, expDYNAMIC_ALLOCATION, expDYNAMIC_ALLOCATION_INITIALIZATION, expDYNAMIC_DEALLOCATION, expELSE_CLAUSE, expERROR, expEXECUTION, expIF_CLAUSE, expINITIALIZATION, expINPUT, expPARAMETER_PASSING, expPRINT, expQUESTIONABLE, expREFERENCING, expRETURN, expRUNTIME_ERROR, expSEMANTIC_ERROR, expSYNTAX_ERROR, expUPDATE, IDENTITY, MAX_OBJECT_IDENTITY, MIN_OBJECT_IDENTITY, QUADRUPLE_PRECISION_REAL, RUNTIME_ERROR, SEMANTIC_ERROR, SIGNED_INTEGER, SIGNED_LONG, SIGNED_SHORT, SINGLE_PRECISION_REAL, SYNTAX_ERROR, UNDEFINED_TYPE, UNSIGNED_INTEGER, UNSIGNED_LONG, UNSIGNED_SHORT, WARNING
 
Constructor Summary
Dereference()
           
 
Method Summary
 Value evaluate()
          Return the value of the right operand, which is a variable.
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.problets.domain.model.expression.node.operator.pointer.Pointer
getQualifiedLearningObject
 
Methods inherited from class org.problets.domain.model.expression.node.operator.Operator
clone, coerceToReal, contentEquals, contentEquals, explain, getArity, getAssociativity, getLocalLearningObjectives, getOperatorType, getPrecedence, getStudentCopy, getSymbol, grade, locateOperator, recursiveContentEquals, recursiveSetValue
 
Methods inherited from class org.problets.domain.model.expression.node.NodeModel
classifyNodes, getContent, getLeftChild, getNonRecursiveContent, getOrder, getPosition, getRecursiveContent, getRightChild, getSideEffects, getValue, insertInOrder, setLeftChild, setOrder, setPosition, setRightChild, setValue, shortCircuit, skip, subExpToString, toString, valueEquals
 
Methods inherited from class org.problets.domain.model.DomainModel
getId, getIdName, grade
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SYMBOL

public static final java.lang.String SYMBOL
See Also:
Constant Field Values
Constructor Detail

Dereference

public Dereference()
Method Detail

evaluate

public Value evaluate()
Return the value of the right operand, which is a variable. Since parser does not classify * as a dereference operator unless it is followed by a pointer variable, not checking that the RHS is a pointer.

Overrides:
evaluate in class Operator

main

public static void main(java.lang.String[] args)