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

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
                      extended by org.problets.domain.model.control.selection.IfElseModel
All Implemented Interfaces:
java.lang.Cloneable

public class IfElseModel
extends IfModel

Class for the implementation of If-Else 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
IfElseModel(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 code for an If/Else statement
static boolean grade(java.lang.String template, java.lang.String code)
           
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
 
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

IfElseModel

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

Parameters:
parent - - the Activation Record of the parent scope
heap - - the HeapModel object used
in_template - - the template being processed
in_Type - - the variable type
Method Detail

getCode

public void getCode(java.util.Vector codeText,
                    OutputStream output)
public void getCode(Vector codeText, OutputStream output); Generate the code for an If/Else statement

Overrides:
getCode in class IfModel
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 IfModel
Parameters:
explanation - - a Vector for the explanation of the code
errors - - a Vector to hold any errors
Returns:
- none

grade

public static boolean grade(java.lang.String template,
                            java.lang.String code)

main

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