org.problets.domain.model.control.abstraction
Class Block

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.abstraction.Scope
              extended by org.problets.domain.model.control.abstraction.StatementSequence
                  extended by org.problets.domain.model.control.abstraction.Block
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
Function

public class Block
extends StatementSequence

Processes a block of code, automatically ends scope upon exiting.

Author:
Amruth Kumar

Field Summary
static int IDENTITY
           
 
Fields inherited from class org.problets.domain.model.control.abstraction.Scope
MISPLACED_BREAK, MISPLACED_CONTINUE
 
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
Block(ActivationRecord parentActivationRecord, HeapModel heap, java.lang.String inTemplate)
           
 
Method Summary
 ExecutionStatus explainProcess(RunEnv runEnv, Behavior behavior, boolean stepFlag)
          Get super classes to explain execution of all the statements.
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.abstraction.StatementSequence
getCode
 
Methods inherited from class org.problets.domain.model.control.abstraction.Scope
getActivationRecord, getParameterCode, getPossibleErrors, newFunctionCall
 
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

Block

public Block(ActivationRecord parentActivationRecord,
             HeapModel heap,
             java.lang.String inTemplate)
Method Detail

explainProcess

public ExecutionStatus explainProcess(RunEnv runEnv,
                                      Behavior behavior,
                                      boolean stepFlag)
Get super classes to explain execution of all the statements. If BREAK, SKIP or RETURN_EXECUTION is returned, pop activation record here

Overrides:
explainProcess in class StatementSequence
Returns:
status of execution, as designated by constants in DomainModel

grade

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

main

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