org.problets.domain.model.control.selection
Class IfModel

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.control.ControlModel
          extended by org.problets.domain.model.control.ConditionControl
              extended by org.problets.domain.model.control.selection.Selection
                  extended by org.problets.domain.model.control.selection.IfModel
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
IfElseModel

public class IfModel
extends Selection

Class for the implementation of If Statements

Author:
Greg Tomalesky, Amruth Kumar

Field Summary
static int IDENTITY
           
 
Fields inherited from class org.problets.domain.model.control.ConditionControl
INCORRECT_TYPE
 
Fields inherited from class org.problets.domain.model.control.ControlModel
ABORT_EXECUTION, BREAK_EXECUTION, CONTINUE_EXECUTION, END_EXECUTION, INFINITE_EXECUTION, RETURN_EXECUTION, RUN_TIME_ERROR_EXECUTION, SKIP_EXECUTION
 
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, 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
IfModel(ActivationRecord parent, HeapModel heap, java.lang.String in_template)
          Constructor
 
Method Summary
 ExecutionStatus explainProcess(RunEnv runEnv, Behavior behavior, boolean stepFlag)
          public void explainProcess(Vector explanation, OutputStream output, Vector errors)
 void getCode(java.util.Vector codeText, OutputStream output)
          public void getCode(Vector codeText, OutputStream output) Generate the If Statement Header
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.problets.domain.model.control.ConditionControl
getPossibleErrors
 
Methods inherited from class org.problets.domain.model.control.ControlModel
getCodeLength, getName, getStartLineNumber
 
Methods inherited from class org.problets.domain.model.DomainModel
clone, getId, getIdName, grade
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IDENTITY

public static final int IDENTITY
See Also:
Constant Field Values
Constructor Detail

IfModel

public IfModel(ActivationRecord parent,
               HeapModel heap,
               java.lang.String in_template)
Constructor

Parameters:
parent - - the nested scope's parent activation record
heap - - the heap to be used
in_template - - the template to be parsed
in_Type - - the type of variable to be created
Method Detail

getCode

public void getCode(java.util.Vector codeText,
                    OutputStream output)
public void getCode(Vector codeText, OutputStream output) Generate the If Statement Header

Overrides:
getCode in class ControlModel
Parameters:
codeText - - a Vector that holds the code

explainProcess

public ExecutionStatus explainProcess(RunEnv runEnv,
                                      Behavior behavior,
                                      boolean stepFlag)
public void explainProcess(Vector explanation, OutputStream output, Vector errors)

Overrides:
explainProcess in class ControlModel
Parameters:
explanation - - a Vector for the explanation of the code
errors - - a Vector to hold any errors
Returns:
- none

main

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