org.problets.domain.model.control.iteration
Class IForLoopModel

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.iteration.AbstractLoopModel
                  extended by org.problets.domain.model.control.iteration.ForLoopModel
                      extended by org.problets.domain.model.control.iteration.IForLoopModel
All Implemented Interfaces:
java.lang.Cloneable

public class IForLoopModel
extends ForLoopModel

Class: IForLoopModel Purpose: Class for infinite for loops

Author:
Greg Tomalesky

Field Summary
 
Fields inherited from class org.problets.domain.model.control.iteration.ForLoopModel
IDENTITY
 
Fields inherited from class org.problets.domain.model.control.iteration.AbstractLoopModel
ASSIGNMENT_IN_CONDITION, CONST_CONDITION, DECLARATION_IN_CONDITION, INCORRECT_UPDATE, NO_UPDATE, NULL_CONDITION, TERMINAL_MODIFIED
 
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
IForLoopModel(ActivationRecord parent, HeapModel heap, java.lang.String in_template, int in_scopeType)
          public IForLoopModel(ActivationRecord parent, HeapModel heap, String in_template, int in_scopeType); The constructor for the IForLoopModel class
 
Method Summary
 ExecutionStatus explainProcess(RunEnv runEnv, Behavior behavior, boolean stepFlag)
          public void explainProcess(Vector explanation, Vector errors, String occasion, int lineNumber); This function generates the explanation of the code for the student.
 void getCode(java.util.Vector codeText, OutputStream output)
          public void getCode(Vector codeText, String codeType, String template, int lineNumber); This function generates the code seen by the student
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.problets.domain.model.control.iteration.ForLoopModel
explainInitial, explainUpdate, getName, grade, parseHeader
 
Methods inherited from class org.problets.domain.model.control.iteration.AbstractLoopModel
getLoopValues, getPossibleErrors
 
Methods inherited from class org.problets.domain.model.control.ControlModel
getCodeLength, 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
 

Constructor Detail

IForLoopModel

public IForLoopModel(ActivationRecord parent,
                     HeapModel heap,
                     java.lang.String in_template,
                     int in_scopeType)
public IForLoopModel(ActivationRecord parent, HeapModel heap, String in_template, int in_scopeType); The constructor for the IForLoopModel class

Parameters:
parent - - an Activation record passed from the parent
heap - - the heap object used
in_template - - holds the infinite for loop template
in_scopeType - - the scope type for this scope object
Method Detail

getCode

public void getCode(java.util.Vector codeText,
                    OutputStream output)
public void getCode(Vector codeText, String codeType, String template, int lineNumber); This function generates the code seen by the student

Overrides:
getCode in class ForLoopModel
Parameters:
codeText - - a vector that holds the code
codeType - - the type of code this is. NOT USED
template - - the template being used
lineNumber - - the starting line number for generation

explainProcess

public ExecutionStatus explainProcess(RunEnv runEnv,
                                      Behavior behavior,
                                      boolean stepFlag)
public void explainProcess(Vector explanation, Vector errors, String occasion, int lineNumber); This function generates the explanation of the code for the student.

Overrides:
explainProcess in class ForLoopModel
Parameters:
explanation - - a vector holding the explanation lines
errors - - a vector holding the error lines
occasion - - determines what part of explanation occurs
lineNumber - - the line number to start explanation from
Returns:
status of execution

main

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