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

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
                      extended by org.problets.domain.model.control.abstraction.Function
                          extended by org.problets.domain.model.control.abstraction.Program
                              extended by org.problets.domain.model.control.abstraction.CSProgram
All Implemented Interfaces:
java.lang.Cloneable

public class CSProgram
extends Program

To model a C# program that handles ONLY imperative constructs (i.e., template does not contain a class declaration). For templates that contain class declarations, CSPPProgram should be used.

Author:
Amruth Kumar

Field Summary
 
Fields inherited from class org.problets.domain.model.control.abstraction.Program
IDENTITY, MAIN_NOT_DEFINED, PROGRAM_NAME
 
Fields inherited from class org.problets.domain.model.control.abstraction.Function
CALL_BEFORE_DEFINED, INCORRECT_PARAMETERS, MISMATCHED_PARAMETERS
 
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
CSProgram(ActivationRecord parentActivationRecord, HeapModel heap, java.lang.String inTemplate)
           
 
Method Summary
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.problets.domain.model.control.abstraction.Program
commitPartialRefEnvironment, explainProcess, getFunctions, getPossibleErrors
 
Methods inherited from class org.problets.domain.model.control.abstraction.Function
getFormalParameters, getName, setPartialRefEnvironment
 
Methods inherited from class org.problets.domain.model.control.abstraction.Block
grade
 
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, newFunctionCall
 
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

CSProgram

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

main

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