NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
|
#include <flowctrl.hpp>
Public Member Functions | |
FlowCtrl () | |
Default constructor. More... | |
virtual | ~FlowCtrl () |
Destructor. Cleanes the memory, if necessary. More... | |
int | getCurrentBlockDepth () const |
Returns the current block depth while reading a flow control statement to memory. More... | |
std::string | getCurrentBlock () const |
Returnvalue | getReturnValue () const |
bool | getReturnSignal () const |
void | setCommand (std::string &__sCmd, int nCurrentLine) |
This member function is used to set a command line from the outside into the flow control statement class. The internal flow control command buffer grows as needed. More... | |
void | eval () |
This member function prepares the command array by pre-evaluating all constant stuff or function calls whereever possible. More... | |
void | reset () |
This function clears the memory of this FlowCtrl object and sets everything back to its original state. More... | |
int | getCurrentLineNumber () const |
This member function returns the current line number as enumerated during passing the commands via "setCommand()". More... | |
std::string | getCurrentCommand () const |
This member function returns the current command line, which will or has been evaluated in the current line. More... | |
Static Public Member Functions | |
static bool | isFlowCtrlStatement (const std::string &sCmd) |
This static member function returns whether the passed command is a flow control statement. More... | |
static bool | isAnyFlowCtrlStatement (const std::string &sCmd) |
This static member function returns whether the passed command is any of the known flow control statements (not only their headers). More... | |
Protected Types | |
enum | CalculationType { CALCTYPE_NONE = 0x0 , CALCTYPE_COMMAND = 0x1 , CALCTYPE_NUMERICAL = 0x2 , CALCTYPE_STRING = 0x4 , CALCTYPE_DATAACCESS = 0x8 , CALCTYPE_PROGRESS = 0x10 , CALCTYPE_COMPOSE = 0x20 , CALCTYPE_DEFINITION = 0x40 , CALCTYPE_RETURNCOMMAND = 0x80 , CALCTYPE_THROWCOMMAND = 0x100 , CALCTYPE_DEBUGBREAKPOINT = 0x200 , CALCTYPE_EXPLICIT = 0x400 , CALCTYPE_TOCOMMAND = 0x800 , CALCTYPE_PROCEDURECMDINTERFACE = 0x1000 , CALCTYPE_CONTINUECMD = 0x2000 , CALCTYPE_BREAKCMD = 0x4000 , CALCTYPE_PROMPT = 0x8000 , CALCTYPE_RECURSIVEEXPRESSION = 0x10000 , CALCTYPE_SUPPRESSANSWER = 0x20000 , CALCTYPE_ASSERT = 0x40000 } |
enum | ProcedureInterfaceRetVal { INTERFACE_EMPTY = -2 , INTERFACE_ERROR = -1 , INTERFACE_NONE = 1 , INTERFACE_VALUE = 2 } |
enum | FlowCtrlStatement { FC_FOR , FC_IF , FC_WHILE , FC_SWITCH , FC_TRY , FC_COUNT } |
typedef int(FlowCtrl::* | FlowCtrlFunction) (int, int) |
Definition of a generic FlowCtrl entry point. More... | |
Protected Member Functions | |
int | for_loop (int nth_Cmd=0, int nth_Loop=0) |
This member function realizes the FOR control flow statement. The return value is either an error value or the end of the current flow control statement. More... | |
int | range_based_for_loop (int nth_Cmd=0, int nth_Loop=0) |
This member function realizes the FOR control flow statement for range based indices. The return value is either an error value or the end of the current flow control statement. More... | |
int | while_loop (int nth_Cmd=0, int nth_Loop=0) |
This member function realizes the WHILE control flow statement. The return value is either an error value or the end of the current flow control statement. More... | |
int | if_fork (int nth_Cmd=0, int nth_Loop=-1) |
This member function realizes the IF-ELSE control flow statement. The return value is either an error value or the end of the current flow control statement. More... | |
int | switch_fork (int nth_Cmd=0, int nth_Loop=-1) |
This member function realizes the SWITCH-CASE control flow statement. The return value is either an error value or the end of the current flow control statement. More... | |
int | try_catch (int nth_Cmd=0, int nth_Loop=-1) |
Implements a try-catch block. More... | |
int | compile (std::string sLine, int nthCmd) |
This member function does the hard work and compiles the numerical and std::string results for the current command line to provide the bytecode for the usual calculation function. More... | |
int | calc (StringView sLine, int nthCmd) |
This member function does the hard work and calculates the numerical and std::string results for the current command line. It will use the previously determined bytecode whereever possible. More... | |
value_type * | evalHeader (int &nNum, std::string &sHeadExpression, bool bIsForHead, int nth_Cmd, const std::string &sHeadCommand) |
This member function abstracts the evaluation of all flow control headers. It will return an array of evaluated return values, although only the first (one/two) are used here. More... | |
NumeRe::Cluster | evalRangeBasedHeader (std::string &sHeadExpression, int nth_Cmd, const std::string &sHeadCommand) |
This member function handles the evaluation of the range-based flow control headers. It will return a cluster of the evaluated return values. More... | |
int | evalForkFlowCommands (int __j, int nth_loop) |
This member function handles the evaluation of flow control statements from the viewpoint of an if-else control flow. More... | |
void | replaceLocalVars (std::string &sLine) |
This member function is used to replace variable occurences with their (auto-determined) internal name. More... | |
void | replaceLocalVars (const std::string &sOldVar, const std::string &sNewVar, size_t from=0, size_t to=std::string::npos) |
Replaces all occurences of the selected variable in the range of the selected lines with the new name. More... | |
bool | checkFlowControlArgument (const std::string &sFlowControlArgument, bool isForLoop=false) |
This member function checks, whether the passed flow control argument is valid or not. More... | |
bool | checkCaseValue (const std::string &sCaseDefinition) |
This member function checks, whether the entered case definition is valid or not. More... | |
std::string | extractFlagsAndIndexVariables () |
Read the flow control statements only and extract the index variables and the flow control flags. More... | |
void | fillJumpTableAndExpandRecursives () |
Go again through the whole command set and fill the jump table with the corresponding block ends and pre-evaluate the recursive expressions. Furthermore, determine, whether the loop parsing mode is reasonable. More... | |
void | prepareSwitchExpression (int nSwitchStart) |
This member function will prepare the single logical switch expression. More... | |
void | checkParsingModeAndExpandDefinitions () |
If the loop parsing mode is active, ensure that only inline procedures are used in this case. Otherwise turn it off again. Additionally check for "to_cmd()" function, which will also turn the loop parsing mode off. If no function definition commands are found in the command block, replace the definitions with their expanded form. More... | |
void | prepareLocalVarsAndReplace (std::string &sVars) |
This method prepares the local variables including their names and replaces them in the command lines in the current command block. More... | |
void | updateTestStats () |
Updates the test statistics with the total test statistics. More... | |
virtual int | procedureCmdInterface (std::string &sLine) |
Dummy implementation. More... | |
virtual ProcedureInterfaceRetVal | procedureInterface (std::string &sLine, Parser &_parser, FunctionDefinitionManager &_functions, MemoryManager &_data, Output &_out, PlotData &_pData, Script &_script, Settings &_option, int nth_command) |
Dummy implementation. More... | |
virtual int | isInline (const std::string &sProc) |
Dummy implementation. More... | |
virtual int | evalDebuggerBreakPoint (Parser &_parser, Settings &_option) |
Dummy implementation. More... | |
virtual int | getErrorInformationForDebugger () |
Dummy implementation. More... | |
virtual std::vector< std::string > | expandInlineProcedures (std::string &sLine) |
Dummy implementation. More... | |
virtual int | catchExceptionForTest (std::exception_ptr e_ptr, bool bSupressAnswer_back, int nLine) |
Dummy implementation. More... | |
Protected Attributes | |
std::vector< FlowCtrlCommand > | vCmdArray |
std::vector< value_type > | vVarArray |
std::vector< std::string > | sVarArray |
varmap_type | vVars |
std::vector< std::vector< int > > | nJumpTable |
std::vector< int > | nCalcType |
std::string | sLoopNames |
int | nFlowCtrlStatements [FC_COUNT] |
int | nCurrentCommand |
Returnvalue | ReturnVal |
bool | bUseLoopParsingMode |
bool | bLockedPauseMode |
bool | bFunctionsReplaced |
std::string | sLoopPlotCompose |
std::map< std::string, std::string > | mVarMap |
std::set< std::string > | inlineClusters |
bool | bSilent |
bool | bMask |
bool | bPrintedStatus |
bool | bEvaluatingFlowControlStatements |
int | nLoopSafety |
int | nDebuggerCode |
AssertionStats | baseline |
std::string | sTestClusterName |
int | nthRecursion |
int | nReturnType |
bool | bReturnSignal |
Private Attributes | |
friend | FlowCtrlCommand |
bool | bLoopSupressAnswer |
Parser * | _parserRef |
MemoryManager * | _dataRef |
Output * | _outRef |
Settings * | _optionRef |
FunctionDefinitionManager * | _functionRef |
PlotData * | _pDataRef |
Script * | _scriptRef |
Definition at line 44 of file flowctrl.hpp.
|
protected |
Definition of a generic FlowCtrl entry point.
Definition at line 140 of file flowctrl.hpp.
|
protected |
Definition at line 60 of file flowctrl.hpp.
|
protected |
Enumerator | |
---|---|
FC_FOR | |
FC_IF | |
FC_WHILE | |
FC_SWITCH | |
FC_TRY | |
FC_COUNT |
Definition at line 92 of file flowctrl.hpp.
|
protected |
Enumerator | |
---|---|
INTERFACE_EMPTY | |
INTERFACE_ERROR | |
INTERFACE_NONE | |
INTERFACE_VALUE |
Definition at line 84 of file flowctrl.hpp.
FlowCtrl::FlowCtrl | ( | ) |
Default constructor.
Definition at line 66 of file flowctrl.cpp.
References _dataRef, _functionRef, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, bEvaluatingFlowControlStatements, bFunctionsReplaced, bLockedPauseMode, bLoopSupressAnswer, bMask, bPrintedStatus, bReturnSignal, bSilent, bUseLoopParsingMode, FC_COUNT, nCurrentCommand, nDebuggerCode, nFlowCtrlStatements, nLoopSafety, nReturnType, nthRecursion, sLoopNames, and sLoopPlotCompose.
|
virtual |
Destructor. Cleanes the memory, if necessary.
Definition at line 107 of file flowctrl.cpp.
|
protected |
This member function does the hard work and calculates the numerical and std::string results for the current command line. It will use the previously determined bytecode whereever possible.
sLine | std::string |
nthCmd | int |
Definition at line 3329 of file flowctrl.cpp.
References _assertionHandler, _dataRef, _functionRef, _lang, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, NumeRe::Cluster::assignResults(), bFunctionsReplaced, bLockedPauseMode, bLoopSupressAnswer, bPrintedStatus, bReturnSignal, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, mu::ParserBase::CacheCurrentEquation(), mu::ParserBase::CacheCurrentTarget(), CALCTYPE_ASSERT, CALCTYPE_COMMAND, CALCTYPE_COMPOSE, CALCTYPE_DATAACCESS, CALCTYPE_DEBUGBREAKPOINT, CALCTYPE_DEFINITION, CALCTYPE_EXPLICIT, CALCTYPE_NUMERICAL, CALCTYPE_PROCEDURECMDINTERFACE, CALCTYPE_PROGRESS, CALCTYPE_PROMPT, CALCTYPE_RECURSIVEEXPRESSION, CALCTYPE_RETURNCOMMAND, CALCTYPE_STRING, CALCTYPE_SUPPRESSANSWER, CALCTYPE_THROWCOMMAND, CALCTYPE_TOCOMMAND, FunctionDefinitionManager::call(), mu::ParserBase::CanCacheAccess(), Assertion::checkAssertion(), Indices::col, COMMAND_HAS_RETURNVALUE, COMMAND_PROCESSED, commandHandler(), compile(), MemoryManager::containsTablesOrClusters(), NumeReKernel::DEBUGGER_LEAVE, NumeReKernel::DEBUGGER_STEP, NumeReKernel::DEBUGGER_STEPOVER, Assertion::enable(), mu::ParserBase::Eval(), NumeRe::StringParser::evalAndFormat(), evalDebuggerBreakPoint(), evalRecursiveExpressions(), evaluateParameterValues(), StringViewBase::find(), findCommand(), findParameter(), FLOWCTRL_ERROR, FLOWCTRL_OK, FLOWCTRL_RETURN, NumeReKernel::formatResultOutput(), SyntaxError::FUNCTION_ERROR, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), NumeReKernel::getAns(), getArgAtPos(), NumeReKernel::GetAsyncCancelState(), mu::ParserBase::GetCachedEquation(), NumeRe::ClusterManager::getCluster(), getCurrentLineNumber(), getDataElements(), NumeReKernel::getDebugger(), getIndices(), NumeReKernel::getInstance(), getMatchingParenthesis(), NumeReKernel::getStringParser(), NumeRe::StringVarFactory::getStringValues(), mu::ParserBase::HasCachedAccess(), intCast(), INTERFACE_EMPTY, INTERFACE_ERROR, INTERFACE_VALUE, SyntaxError::INVALID_INDEX, SyntaxError::invalid_position, mu::ParserBase::IsAlreadyParsed(), isClusterCandidate(), mu::ParserBase::IsCompiling(), isInQuotes(), mu::ParserBase::IsNotLastStackItem(), VectorIndex::isOpenEnd(), NumeRe::StringParser::isStringExpression(), MemoryManager::isTable(), isValidIndexSet(), StringViewBase::length(), mu::ParserBase::LockPause(), SyntaxError::LOOP_THROW, make_progressBar(), mVarMap, nCalcType, nDebuggerCode, nJumpTable, NO_COMMAND, SyntaxError::NO_MATRIX, nReturnType, NUMERE_QUIT, mu::ParserBase::PauseLoopMode(), NumeReKernel::print(), NumeReKernel::printPreFmt(), PROCEDURE_INTERFACE, procedureCmdInterface(), procedureInterface(), SyntaxError::PROCESS_ABORTED_BY_USER, promptForUserInput(), NumeRe::StringVarFactory::removeTempStringVectorVars(), replaceLocalVars(), Assertion::reset(), ReturnVal, Indices::row, Indices::sCompiledAccessEquation, sErrorToken, mu::ParserBase::SetCompiling(), NumeRe::Cluster::setDoubleArray(), mu::ParserBase::SetExpr(), sLoopPlotCompose, Returnvalue::sReturnedTable, Match::sString, NumeRe::StringParser::STRING_SUCCESS, StringViewBase::strip(), StripSpaces(), StringView::subview(), sVarArray, NumeRe::Cluster::to_string(), VectorIndex::to_string(), StringViewBase::to_string(), SyntaxError::UNMATCHED_PARENTHESIS, updateTestStats(), Settings::useDebugger(), vAns, Returnvalue::vNumVal, Returnvalue::vStringVal, vVarArray, and MemoryManager::writeToTable().
Referenced by for_loop(), if_fork(), range_based_for_loop(), switch_fork(), try_catch(), and while_loop().
|
protectedvirtual |
Dummy implementation.
e_ptr | exception_ptr |
bSupressAnswer_back | bool |
nLine | int |
Reimplemented in Procedure.
Definition at line 4858 of file flowctrl.cpp.
Referenced by for_loop(), if_fork(), range_based_for_loop(), switch_fork(), try_catch(), and while_loop().
|
protected |
This member function checks, whether the entered case definition is valid or not.
sCaseDefinition | const std::string& |
Definition at line 4078 of file flowctrl.cpp.
References getNextArgument().
Referenced by setCommand().
|
protected |
This member function checks, whether the passed flow control argument is valid or not.
sFlowControlArgument | const std::string& |
isForLoop | bool |
Definition at line 4043 of file flowctrl.cpp.
References getMatchingParenthesis(), and isNotEmptyExpression().
Referenced by setCommand().
|
protected |
If the loop parsing mode is active, ensure that only inline procedures are used in this case. Otherwise turn it off again. Additionally check for "to_cmd()" function, which will also turn the loop parsing mode off. If no function definition commands are found in the command block, replace the definitions with their expanded form.
Definition at line 4511 of file flowctrl.cpp.
References _functionRef, bFunctionsReplaced, bLockedPauseMode, bUseLoopParsingMode, FunctionDefinitionManager::call(), expandInlineProcedures(), findCommand(), SyntaxError::FUNCTION_ERROR, SyntaxError::invalid_position, isInline(), StripSpaces(), and vCmdArray.
Referenced by eval().
|
protected |
This member function does the hard work and compiles the numerical and std::string results for the current command line to provide the bytecode for the usual calculation function.
sLine | std::string |
nthCmd | int |
Definition at line 2646 of file flowctrl.cpp.
References _assertionHandler, _dataRef, _functionRef, _lang, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, NumeRe::Cluster::assignResults(), bFunctionsReplaced, bLockedPauseMode, bLoopSupressAnswer, bPrintedStatus, bReturnSignal, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, mu::ParserBase::CacheCurrentEquation(), mu::ParserBase::CacheCurrentTarget(), CALCTYPE_ASSERT, CALCTYPE_COMMAND, CALCTYPE_COMPOSE, CALCTYPE_DATAACCESS, CALCTYPE_DEBUGBREAKPOINT, CALCTYPE_DEFINITION, CALCTYPE_EXPLICIT, CALCTYPE_NUMERICAL, CALCTYPE_PROCEDURECMDINTERFACE, CALCTYPE_PROGRESS, CALCTYPE_PROMPT, CALCTYPE_RECURSIVEEXPRESSION, CALCTYPE_RETURNCOMMAND, CALCTYPE_STRING, CALCTYPE_SUPPRESSANSWER, CALCTYPE_THROWCOMMAND, CALCTYPE_TOCOMMAND, FunctionDefinitionManager::call(), mu::ParserBase::CanCacheAccess(), Assertion::checkAssertion(), Indices::col, COMMAND_HAS_RETURNVALUE, COMMAND_PROCESSED, commandHandler(), MemoryManager::containsTablesOrClusters(), NumeReKernel::DEBUGGER_LEAVE, NumeReKernel::DEBUGGER_STEP, NumeReKernel::DEBUGGER_STEPOVER, Assertion::enable(), mu::ParserBase::Eval(), NumeRe::StringParser::evalAndFormat(), evalDebuggerBreakPoint(), evalRecursiveExpressions(), evaluateParameterValues(), findCommand(), findParameter(), FLOWCTRL_ERROR, FLOWCTRL_OK, FLOWCTRL_RETURN, NumeReKernel::formatResultOutput(), SyntaxError::FUNCTION_ERROR, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), NumeReKernel::getAns(), getArgAtPos(), NumeReKernel::GetAsyncCancelState(), mu::ParserBase::GetCachedEquation(), NumeRe::ClusterManager::getCluster(), getCurrentLineNumber(), getDataElements(), NumeReKernel::getDebugger(), getIndices(), NumeReKernel::getInstance(), getMatchingParenthesis(), NumeReKernel::getStringParser(), NumeRe::StringVarFactory::getStringValues(), mu::ParserBase::HasCachedAccess(), intCast(), INTERFACE_EMPTY, INTERFACE_ERROR, INTERFACE_VALUE, SyntaxError::INVALID_INDEX, SyntaxError::invalid_position, mu::ParserBase::IsAlreadyParsed(), isClusterCandidate(), mu::ParserBase::IsCompiling(), isInQuotes(), VectorIndex::isOpenEnd(), NumeRe::StringParser::isStringExpression(), MemoryManager::isTable(), mu::ParserBase::IsValidByteCode(), isValidIndexSet(), mu::ParserBase::LockPause(), SyntaxError::LOOP_THROW, make_progressBar(), mVarMap, nCalcType, nDebuggerCode, nJumpTable, NO_COMMAND, SyntaxError::NO_MATRIX, nReturnType, NUMERE_QUIT, mu::ParserBase::PauseLoopMode(), NumeReKernel::print(), NumeReKernel::printPreFmt(), PROCEDURE_INTERFACE, procedureCmdInterface(), procedureInterface(), SyntaxError::PROCESS_ABORTED_BY_USER, promptForUserInput(), NumeRe::StringVarFactory::removeTempStringVectorVars(), replaceLocalVars(), Assertion::reset(), ReturnVal, Indices::row, Indices::sCompiledAccessEquation, sErrorToken, mu::ParserBase::SetCompiling(), NumeRe::Cluster::setDoubleArray(), mu::ParserBase::SetExpr(), sLoopPlotCompose, Returnvalue::sReturnedTable, Match::sString, NumeRe::StringParser::STRING_SUCCESS, StripSpaces(), sVarArray, NumeRe::Cluster::to_string(), VectorIndex::to_string(), SyntaxError::UNMATCHED_PARENTHESIS, updateTestStats(), Settings::useDebugger(), vAns, vCmdArray, Returnvalue::vNumVal, Returnvalue::vStringVal, vVarArray, and MemoryManager::writeToTable().
Referenced by calc().
void FlowCtrl::eval | ( | ) |
This member function prepares the command array by pre-evaluating all constant stuff or function calls whereever possible.
Definition at line 2340 of file flowctrl.cpp.
References _dataRef, _functionRef, _lang, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, mu::ParserBase::ActivateLoopMode(), mu::ParserBase::ActiveLoopMode(), bEvaluatingFlowControlStatements, bFunctionsReplaced, bLockedPauseMode, bLoopSupressAnswer, bMask, bPrintedStatus, bReturnSignal, bSilent, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, CALCTYPE_NONE, SyntaxError::CANNOT_EVAL_FOR, SyntaxError::CANNOT_EVAL_IF, SyntaxError::CANNOT_EVAL_SWITCH, SyntaxError::CANNOT_EVAL_TRY, SyntaxError::CANNOT_EVAL_WHILE, checkParsingModeAndExpandDefinitions(), Returnvalue::clear(), mu::ParserBase::ClearVectorVars(), extractFlagsAndIndexVariables(), fillJumpTableAndExpandRecursives(), FLOWCTRL_ERROR, Language::get(), NumeReKernel::getDefinitions(), NumeReKernel::getInstance(), NumeReKernel::getMemoryManager(), NumeReKernel::getOutput(), NumeReKernel::getParser(), NumeReKernel::getPlottingData(), NumeReKernel::getScript(), NumeReKernel::getSettings(), if_fork(), SyntaxError::INVALID_FLOWCTRL_STATEMENT, SyntaxError::invalid_position, mu::ParserBase::IsLockedPause(), JUMP_TABLE_ELEMENTS, nCalcType, nJumpTable, NO_FLOW_COMMAND, nReturnType, prepareLocalVarsAndReplace(), NumeReKernel::printPreFmt(), reset(), ReturnVal, switch_fork(), Settings::systemPrints(), try_catch(), Settings::useMaskDefault(), vCmdArray, and while_loop().
Referenced by setCommand().
Dummy implementation.
_parser | Parser& |
_option | Settings& |
Reimplemented in Procedure.
Definition at line 4818 of file flowctrl.cpp.
Referenced by calc(), compile(), evalHeader(), and evalRangeBasedHeader().
|
protected |
This member function handles the evaluation of flow control statements from the viewpoint of an if-else control flow.
__i | int |
nth_loop | int |
Definition at line 1888 of file flowctrl.cpp.
References _lang, BLOCK_END, bMask, bPrintedStatus, bReturnSignal, bSilent, FLOWCTRL_NO_CMD, Language::get(), nJumpTable, NO_FLOW_COMMAND, NumeReKernel::printPreFmt(), and vCmdArray.
Referenced by if_fork(), switch_fork(), and try_catch().
|
protected |
This member function abstracts the evaluation of all flow control headers. It will return an array of evaluated return values, although only the first (one/two) are used here.
nNum | int& |
sHeadExpression | std::string& |
bIsForHead | bool |
nth_Cmd | int |
sHeadCommand | const std::string& |
Definition at line 1490 of file flowctrl.cpp.
References _dataRef, _functionRef, _lang, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, bFunctionsReplaced, bLockedPauseMode, bPrintedStatus, bUseLoopParsingMode, mu::ParserBase::CacheCurrentEquation(), mu::ParserBase::CacheCurrentTarget(), CALCTYPE_DATAACCESS, CALCTYPE_DEBUGBREAKPOINT, CALCTYPE_NUMERICAL, CALCTYPE_STRING, FunctionDefinitionManager::call(), mu::ParserBase::CanCacheAccess(), SyntaxError::CANNOT_EVAL_FOR, MemoryManager::containsTablesOrClusters(), NumeReKernel::DEBUGGER_LEAVE, NumeReKernel::DEBUGGER_STEP, NumeReKernel::DEBUGGER_STEPOVER, mu::ParserBase::Eval(), NumeRe::StringParser::evalAndFormat(), evalDebuggerBreakPoint(), SyntaxError::FUNCTION_ERROR, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), NumeReKernel::GetAsyncCancelState(), mu::ParserBase::GetCachedEquation(), getCurrentLineNumber(), getDataElements(), NumeReKernel::getDebugger(), NumeReKernel::getInstance(), NumeReKernel::getStringParser(), mu::ParserBase::HasCachedAccess(), INTERFACE_EMPTY, INTERFACE_ERROR, INTERFACE_VALUE, SyntaxError::invalid_position, mu::ParserBase::IsAlreadyParsed(), mu::ParserBase::IsCompiling(), mu::ParserBase::IsNotLastStackItem(), NumeRe::StringParser::isStringExpression(), mu::ParserBase::LockPause(), mVarMap, nCalcType, nCurrentCommand, nDebuggerCode, nJumpTable, mu::ParserBase::PauseLoopMode(), NumeReKernel::printPreFmt(), SyntaxError::PROCEDURE_ERROR, PROCEDURE_INTERFACE, procedureInterface(), SyntaxError::PROCESS_ABORTED_BY_USER, replaceLocalVars(), mu::ParserBase::SetCompiling(), mu::ParserBase::SetExpr(), mu::ParserBase::SetIndex(), NumeRe::StringParser::STRING_NUMERICAL, StripSpaces(), sVarArray, NumeReDebugger::throwException(), Settings::useDebugger(), and vVarArray.
Referenced by for_loop(), if_fork(), switch_fork(), and while_loop().
|
protected |
This member function handles the evaluation of the range-based flow control headers. It will return a cluster of the evaluated return values.
sHeadExpression | std::string& |
nth_Cmd | int |
sHeadCommand | const std::string& |
Definition at line 1696 of file flowctrl.cpp.
References _dataRef, _functionRef, _lang, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, bFunctionsReplaced, bLockedPauseMode, bPrintedStatus, bUseLoopParsingMode, mu::ParserBase::CacheCurrentEquation(), mu::ParserBase::CacheCurrentTarget(), CALCTYPE_DATAACCESS, CALCTYPE_DEBUGBREAKPOINT, CALCTYPE_NUMERICAL, CALCTYPE_STRING, FunctionDefinitionManager::call(), mu::ParserBase::CanCacheAccess(), MemoryManager::containsTablesOrClusters(), NumeReKernel::DEBUGGER_LEAVE, NumeReKernel::DEBUGGER_STEP, NumeReKernel::DEBUGGER_STEPOVER, mu::ParserBase::Eval(), NumeRe::StringParser::evalAndFormat(), evalDebuggerBreakPoint(), SyntaxError::FUNCTION_ERROR, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), NumeReKernel::getAns(), NumeReKernel::GetAsyncCancelState(), mu::ParserBase::GetCachedEquation(), getCurrentLineNumber(), getDataElements(), NumeReKernel::getDebugger(), NumeReKernel::getInstance(), NumeReKernel::getStringParser(), mu::ParserBase::HasCachedAccess(), INTERFACE_EMPTY, INTERFACE_ERROR, INTERFACE_VALUE, SyntaxError::invalid_position, mu::ParserBase::IsAlreadyParsed(), mu::ParserBase::IsCompiling(), mu::ParserBase::IsNotLastStackItem(), NumeRe::StringParser::isStringExpression(), mu::ParserBase::LockPause(), mVarMap, nCalcType, nCurrentCommand, nDebuggerCode, nJumpTable, mu::ParserBase::PauseLoopMode(), NumeReKernel::printPreFmt(), SyntaxError::PROCEDURE_ERROR, PROCEDURE_INTERFACE, procedureInterface(), SyntaxError::PROCESS_ABORTED_BY_USER, replaceLocalVars(), mu::ParserBase::SetCompiling(), NumeRe::Cluster::setDoubleArray(), mu::ParserBase::SetExpr(), mu::ParserBase::SetIndex(), NumeRe::StringParser::STRING_NUMERICAL, StripSpaces(), sVarArray, Settings::useDebugger(), and vVarArray.
Referenced by range_based_for_loop().
|
protectedvirtual |
Dummy implementation.
sLine | std::string& |
Reimplemented in Procedure.
Definition at line 4843 of file flowctrl.cpp.
Referenced by checkParsingModeAndExpandDefinitions().
|
protected |
Read the flow control statements only and extract the index variables and the flow control flags.
Definition at line 4117 of file flowctrl.cpp.
References _parserRef, bMask, bSilent, mu::ParserBase::Eval(), findParameter(), getArgAtPos(), intCast(), nLoopSafety, mu::ParserBase::SetExpr(), StripSpaces(), sVarArray, vCmdArray, and vVarArray.
Referenced by eval().
|
protected |
Go again through the whole command set and fill the jump table with the corresponding block ends and pre-evaluate the recursive expressions. Furthermore, determine, whether the loop parsing mode is reasonable.
Definition at line 4194 of file flowctrl.cpp.
References BLOCK_END, BLOCK_MIDDLE, evalRecursiveExpressions(), findCommand(), nJumpTable, NO_FLOW_COMMAND, prepareSwitchExpression(), StripSpaces(), and vCmdArray.
Referenced by eval().
|
protected |
This member function realizes the FOR control flow statement. The return value is either an error value or the end of the current flow control statement.
nth_Cmd | int |
nth_loop | int |
Definition at line 143 of file flowctrl.cpp.
References _lang, _optionRef, _parserRef, date::abs(), BLOCK_END, bMask, bPrintedStatus, bReturnSignal, bSilent, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), evalHeader(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), getCurrentLineNumber(), NumeReKernel::getDebugger(), getErrorInformationForDebugger(), NumeReKernel::getInstance(), intCast(), mVarMap, nCalcType, nCurrentCommand, nJumpTable, nLoopSafety, NumeReKernel::printPreFmt(), mu::ParserBase::SetIndex(), NumeReDebugger::showError(), Match::sString, StripSpaces(), sVarArray, toString(), Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by setCommand().
|
inline |
Definition at line 175 of file flowctrl.hpp.
References sLoopNames.
Referenced by NumeReKernel::handleComposeBlock(), NumeReKernel::handleFlowControls(), NumeReKernel::handleProcedureWrite(), and setCommand().
int FlowCtrl::getCurrentBlockDepth | ( | ) | const |
Returns the current block depth while reading a flow control statement to memory.
Definition at line 119 of file flowctrl.cpp.
References FC_COUNT, and nFlowCtrlStatements.
Referenced by NumeReKernel::evaluateProcedureCalls(), Procedure::execute(), NumeReKernel::executePlugins(), NumeReKernel::handleComposeBlock(), NumeReKernel::handleFlowControls(), NumeReKernel::handleProcedureWrite(), NumeReKernel::handleToCmd(), NumeReKernel::MainLoop(), Procedure::ProcCalc(), and setCommand().
string FlowCtrl::getCurrentCommand | ( | ) | const |
This member function returns the current command line, which will or has been evaluated in the current line.
Definition at line 4708 of file flowctrl.cpp.
References nCurrentCommand, and vCmdArray.
Referenced by NumeReDebugger::select().
int FlowCtrl::getCurrentLineNumber | ( | ) | const |
This member function returns the current line number as enumerated during passing the commands via "setCommand()".
Definition at line 4691 of file flowctrl.cpp.
References nCurrentCommand, and vCmdArray.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), for_loop(), Procedure::GetCurrentLine(), if_fork(), range_based_for_loop(), NumeReDebugger::select(), switch_fork(), try_catch(), and while_loop().
|
protectedvirtual |
Dummy implementation.
Reimplemented in Procedure.
Definition at line 4830 of file flowctrl.cpp.
Referenced by for_loop(), if_fork(), range_based_for_loop(), switch_fork(), try_catch(), and while_loop().
|
inline |
Definition at line 186 of file flowctrl.hpp.
References bReturnSignal.
Referenced by Procedure::execute(), and NumeReKernel::handleFlowControls().
|
inline |
Definition at line 182 of file flowctrl.hpp.
References ReturnVal.
Referenced by Procedure::execute().
|
protected |
This member function realizes the IF-ELSE control flow statement. The return value is either an error value or the end of the current flow control statement.
nth_Cmd | int |
nth_loop | int |
Definition at line 843 of file flowctrl.cpp.
References _optionRef, _parserRef, BLOCK_END, BLOCK_MIDDLE, bLockedPauseMode, bPrintedStatus, bReturnSignal, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), evalForkFlowCommands(), evalHeader(), extractHeaderExpression(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), getCurrentLineNumber(), NumeReKernel::getDebugger(), getErrorInformationForDebugger(), NumeReKernel::getInstance(), mu::isnan(), mVarMap, nCalcType, nCurrentCommand, nJumpTable, NO_FLOW_COMMAND, mu::ParserBase::SetIndex(), NumeReDebugger::showError(), Match::sString, sVarArray, Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by eval(), and setCommand().
|
static |
This static member function returns whether the passed command is any of the known flow control statements (not only their headers).
sCmd | const std::string& |
Definition at line 4742 of file flowctrl.cpp.
Referenced by setCommand().
|
static |
This static member function returns whether the passed command is a flow control statement.
sCmd | const std::string& |
Definition at line 4726 of file flowctrl.cpp.
Referenced by Procedure::execute(), NumeReKernel::handleFlowControls(), NumeReKernel::MainLoop(), and Procedure::ProcCalc().
|
protectedvirtual |
Dummy implementation.
sProc | const std::string& |
Reimplemented in Procedure.
Definition at line 4804 of file flowctrl.cpp.
Referenced by checkParsingModeAndExpandDefinitions().
|
protected |
This method prepares the local variables including their names and replaces them in the command lines in the current command block.
sVars | std::string& |
Definition at line 4615 of file flowctrl.cpp.
References _parserRef, mu::ParserBase::DefineVar(), getPointerToVariable(), mVarMap, mu::ParserBase::mVarMapPntr, nthRecursion, replaceLocalVars(), StripSpaces(), sVarArray, toString(), vVarArray, and vVars.
Referenced by eval().
|
protected |
This member function will prepare the single logical switch expression.
nSwitchStart | int |
Definition at line 4448 of file flowctrl.cpp.
References getNextArgument(), and vCmdArray.
Referenced by fillJumpTableAndExpandRecursives().
|
protectedvirtual |
Dummy implementation.
sLine | std::string& |
Reimplemented in Procedure.
Definition at line 4791 of file flowctrl.cpp.
|
protectedvirtual |
Dummy implementation.
sLine | std::string& |
_parser | Parser& |
_functions | Define& |
_data | Datafile& |
_out | Output& |
_pData | PlotData& |
_script | Script& |
_option | Settings& |
nth_command | int |
Reimplemented in Procedure.
Definition at line 4778 of file flowctrl.cpp.
References INTERFACE_NONE.
Referenced by calc(), compile(), evalHeader(), and evalRangeBasedHeader().
|
protected |
This member function realizes the FOR control flow statement for range based indices. The return value is either an error value or the end of the current flow control statement.
nth_Cmd | int |
nth_loop | int |
Definition at line 377 of file flowctrl.cpp.
References _dataRef, _lang, _optionRef, _parserRef, BLOCK_END, bMask, bPrintedStatus, bReturnSignal, bSilent, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), CLUSTERVAR, NumeRe::ClusterManager::createTemporaryCluster(), DECLARE_NEW_VAR, mu::ParserBase::DefineVar(), DETECT_VAR_TYPE, evalRangeBasedHeader(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), getAllArguments(), NumeRe::ClusterManager::getCluster(), getCurrentLineNumber(), NumeReKernel::getDebugger(), NumeRe::Cluster::getDouble(), getErrorInformationForDebugger(), NumeReKernel::getInstance(), NumeRe::Cluster::getInternalString(), NumeReKernel::getStringParser(), NumeRe::Cluster::getType(), intCast(), NumeRe::Cluster::isDouble(), NumeRe::Cluster::isString(), NumeRe::StringVarFactory::isStringVar(), NumeRe::ClusterItem::ITEMTYPE_DOUBLE, mVarMap, nCalcType, nCurrentCommand, nJumpTable, nLoopSafety, nthRecursion, NUMVAR, NumeReKernel::printPreFmt(), replaceLocalVars(), NumeRe::Cluster::setDouble(), mu::ParserBase::SetIndex(), NumeRe::Cluster::setString(), NumeRe::StringVarFactory::setStringValue(), NumeReDebugger::showError(), NumeRe::Cluster::size(), Match::sString, STRINGVAR, StripSpaces(), sVarArray, toString(), Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by setCommand().
|
protected |
Replaces all occurences of the selected variable in the range of the selected lines with the new name.
sOldVar | const std::string& |
sNewVar | const std::string& |
from | size_t |
to | size_t |
Definition at line 4003 of file flowctrl.cpp.
References checkDelimiter(), isInQuotes(), min, StripSpaces(), and vCmdArray.
|
protected |
This member function is used to replace variable occurences with their (auto-determined) internal name.
sLine | std::string& |
Definition at line 3969 of file flowctrl.cpp.
References checkDelimiter(), and mVarMap.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), prepareLocalVarsAndReplace(), Procedure::ProcCalc(), and range_based_for_loop().
void FlowCtrl::reset | ( | ) |
This function clears the memory of this FlowCtrl object and sets everything back to its original state.
Definition at line 2534 of file flowctrl.cpp.
References _dataRef, _functionRef, _optionRef, _outRef, _parserRef, _pDataRef, _scriptRef, mu::ParserBase::ActiveLoopMode(), bEvaluatingFlowControlStatements, bFunctionsReplaced, bLockedPauseMode, bMask, bSilent, bUseLoopParsingMode, mu::ParserBase::ClearVectorVars(), mu::ParserBase::DeactivateLoopMode(), NumeReKernel::DEBUGGER_STEP, NumeReKernel::DEBUGGER_STEPOVER, mu::ParserBase::DefineVar(), FC_COUNT, NumeReKernel::getInstance(), NumeReKernel::getStringParser(), inlineClusters, mu::ParserBase::IsLockedPause(), mVarMap, mu::ParserBase::mVarMapPntr, nCalcType, nCurrentCommand, nDebuggerCode, nFlowCtrlStatements, nJumpTable, nLoopSafety, NumeRe::ClusterManager::removeCluster(), NumeRe::StringVarFactory::removeStringVar(), mu::ParserBase::RemoveVar(), sLoopNames, sLoopPlotCompose, sVarArray, vCmdArray, vVarArray, and vVars.
Referenced by eval(), NumeReKernel::resetAfterError(), and setCommand().
void FlowCtrl::setCommand | ( | std::string & | __sCmd, |
int | nCurrentLine | ||
) |
This member function is used to set a command line from the outside into the flow control statement class. The internal flow control command buffer grows as needed.
__sCmd | std::string& |
nCurrentLine | int |
Definition at line 1948 of file flowctrl.cpp.
References _lang, bReturnSignal, SyntaxError::CANNOT_EVAL_FOR, SyntaxError::CANNOT_EVAL_IF, SyntaxError::CANNOT_EVAL_SWITCH, SyntaxError::CANNOT_EVAL_WHILE, checkCaseValue(), checkFlowControlArgument(), eval(), FC_FOR, FC_IF, FC_SWITCH, FC_TRY, FC_WHILE, findCommand(), FlowCtrlCommand, for_loop(), Language::get(), getCurrentBlock(), getCurrentBlockDepth(), getMatchingParenthesis(), if_fork(), SyntaxError::invalid_position, isAnyFlowCtrlStatement(), nFlowCtrlStatements, nReturnType, NumeReKernel::print(), range_based_for_loop(), replaceAll(), reset(), setCommand(), sLoopNames, Match::sString, StripSpaces(), switch_fork(), toString(), try_catch(), SyntaxError::UNMATCHED_PARENTHESIS, validateParenthesisNumber(), vCmdArray, and while_loop().
Referenced by NumeReKernel::handleFlowControls(), Procedure::ProcCalc(), and setCommand().
|
protected |
This member function realizes the SWITCH-CASE control flow statement. The return value is either an error value or the end of the current flow control statement.
nth_Cmd | int |
nth_loop | int |
Definition at line 1092 of file flowctrl.cpp.
References _optionRef, _parserRef, BLOCK_END, BLOCK_MIDDLE, bLockedPauseMode, bPrintedStatus, bReturnSignal, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), evalForkFlowCommands(), evalHeader(), extractHeaderExpression(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), getCurrentLineNumber(), NumeReKernel::getDebugger(), getErrorInformationForDebugger(), NumeReKernel::getInstance(), mVarMap, nCalcType, nCurrentCommand, nJumpTable, mu::ParserBase::SetIndex(), NumeReDebugger::showError(), Match::sString, sVarArray, Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by eval(), and setCommand().
|
protected |
Implements a try-catch block.
nth_Cmd | int |
nth_loop | int |
Definition at line 1240 of file flowctrl.cpp.
References _optionRef, _parserRef, BLOCK_END, BLOCK_MIDDLE, bLockedPauseMode, bPrintedStatus, bReturnSignal, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), errorTypeToString(), evalForkFlowCommands(), NumeReDebugger::finalizeCatched(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), getCurrentLineNumber(), NumeReKernel::getDebugger(), getErrorInformationForDebugger(), getErrorType(), NumeReKernel::getInstance(), mVarMap, nCalcType, nCurrentCommand, nJumpTable, mu::ParserBase::SetIndex(), NumeReDebugger::showError(), Match::sString, sVarArray, TYPE_ABORT, TYPE_CRITICALERROR, TYPE_INTERNALERROR, Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by eval(), and setCommand().
|
protected |
Updates the test statistics with the total test statistics.
Definition at line 4669 of file flowctrl.cpp.
References _assertionHandler, baseline, NumeRe::ClusterManager::getCluster(), NumeReKernel::getInstance(), NumeReKernel::getMemoryManager(), Assertion::getStats(), AssertionStats::nCheckedAssertions, AssertionStats::nFailedAssertions, NumeRe::Cluster::setDouble(), and sTestClusterName.
Referenced by calc(), compile(), Procedure::execute(), and Procedure::procedureInterface().
|
protected |
This member function realizes the WHILE control flow statement. The return value is either an error value or the end of the current flow control statement.
nth_Cmd | int |
nth_loop | int |
Definition at line 679 of file flowctrl.cpp.
References _dataRef, _lang, _optionRef, _parserRef, BLOCK_END, bLockedPauseMode, bMask, bPrintedStatus, bReturnSignal, bSilent, NumeReKernel::bSupressAnswer, bUseLoopParsingMode, calc(), CALCTYPE_BREAKCMD, CALCTYPE_CONTINUECMD, CALCTYPE_NONE, catchExceptionForTest(), MemoryManager::containsTablesOrClusters(), evalHeader(), extractHeaderExpression(), findCommand(), FLOWCTRL_BREAK, FLOWCTRL_CONTINUE, FLOWCTRL_ERROR, FLOWCTRL_NO_CMD, FLOWCTRL_RETURN, NumeReDebugger::gatherLoopBasedInformations(), Language::get(), getCurrentLineNumber(), NumeReKernel::getDebugger(), getErrorInformationForDebugger(), NumeReKernel::getInstance(), mu::isnan(), mVarMap, nCalcType, nCurrentCommand, nJumpTable, nLoopSafety, NumeReKernel::printPreFmt(), mu::ParserBase::SetIndex(), NumeReDebugger::showError(), Match::sString, sVarArray, Settings::useDebugger(), vCmdArray, and vVarArray.
Referenced by eval(), and setCommand().
|
private |
Definition at line 52 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), range_based_for_loop(), reset(), and while_loop().
|
private |
Definition at line 55 of file flowctrl.hpp.
Referenced by calc(), checkParsingModeAndExpandDefinitions(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), and reset().
|
private |
Definition at line 54 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), for_loop(), if_fork(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
private |
Definition at line 53 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), and reset().
|
private |
Definition at line 51 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), extractFlagsAndIndexVariables(), FlowCtrl(), for_loop(), if_fork(), prepareLocalVarsAndReplace(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
private |
Definition at line 56 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), and reset().
|
private |
Definition at line 57 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), and reset().
|
protected |
Definition at line 126 of file flowctrl.hpp.
Referenced by Procedure::execute(), and updateTestStats().
|
protected |
Definition at line 123 of file flowctrl.hpp.
Referenced by eval(), FlowCtrl(), Procedure::GetCurrentLine(), reset(), and NumeReDebugger::select().
|
protected |
Definition at line 116 of file flowctrl.hpp.
Referenced by calc(), checkParsingModeAndExpandDefinitions(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), and reset().
|
protected |
Definition at line 115 of file flowctrl.hpp.
Referenced by calc(), checkParsingModeAndExpandDefinitions(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), if_fork(), reset(), switch_fork(), try_catch(), and while_loop().
|
private |
Definition at line 49 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), and FlowCtrl().
|
protected |
Definition at line 121 of file flowctrl.hpp.
Referenced by eval(), evalForkFlowCommands(), extractFlagsAndIndexVariables(), FlowCtrl(), for_loop(), range_based_for_loop(), reset(), and while_loop().
|
protected |
Definition at line 122 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalForkFlowCommands(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), for_loop(), if_fork(), range_based_for_loop(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 131 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalForkFlowCommands(), Procedure::execute(), FlowCtrl(), for_loop(), getReturnSignal(), if_fork(), Procedure::procedureInterface(), range_based_for_loop(), Procedure::replaceReturnVal(), setCommand(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 120 of file flowctrl.hpp.
Referenced by eval(), evalForkFlowCommands(), extractFlagsAndIndexVariables(), FlowCtrl(), for_loop(), range_based_for_loop(), reset(), and while_loop().
|
protected |
Definition at line 114 of file flowctrl.hpp.
Referenced by calc(), checkParsingModeAndExpandDefinitions(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), FlowCtrl(), for_loop(), if_fork(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
private |
Definition at line 46 of file flowctrl.hpp.
Referenced by setCommand().
|
protected |
Definition at line 119 of file flowctrl.hpp.
Referenced by Procedure::getInlined(), and reset().
|
protected |
Definition at line 118 of file flowctrl.hpp.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), Procedure::execute(), for_loop(), if_fork(), prepareLocalVarsAndReplace(), Procedure::procedureInterface(), range_based_for_loop(), replaceLocalVars(), reset(), Procedure::resetProcedure(), NumeReDebugger::select(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 107 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalHeader(), evalRangeBasedHeader(), for_loop(), if_fork(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 112 of file flowctrl.hpp.
Referenced by evalHeader(), evalRangeBasedHeader(), FlowCtrl(), for_loop(), getCurrentCommand(), getCurrentLineNumber(), if_fork(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 125 of file flowctrl.hpp.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), Procedure::execute(), FlowCtrl(), Procedure::getDebuggerCode(), Procedure::Procedure(), reset(), and Procedure::resetProcedure().
|
protected |
Definition at line 110 of file flowctrl.hpp.
Referenced by FlowCtrl(), getCurrentBlockDepth(), reset(), and setCommand().
|
protected |
Definition at line 106 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), evalForkFlowCommands(), evalHeader(), evalRangeBasedHeader(), fillJumpTableAndExpandRecursives(), for_loop(), if_fork(), range_based_for_loop(), reset(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 124 of file flowctrl.hpp.
Referenced by extractFlagsAndIndexVariables(), FlowCtrl(), for_loop(), range_based_for_loop(), reset(), and while_loop().
|
protected |
Definition at line 130 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), Procedure::execute(), FlowCtrl(), Procedure::getReturnType(), Procedure::procedureInterface(), and setCommand().
|
protected |
Definition at line 128 of file flowctrl.hpp.
Referenced by Procedure::execute(), FlowCtrl(), Procedure::getInlined(), prepareLocalVarsAndReplace(), Procedure::procedureInterface(), range_based_for_loop(), and Procedure::resetProcedure().
|
protected |
Definition at line 113 of file flowctrl.hpp.
Referenced by calc(), compile(), eval(), getReturnValue(), Procedure::procedureInterface(), and Procedure::replaceReturnVal().
|
protected |
Definition at line 108 of file flowctrl.hpp.
Referenced by FlowCtrl(), getCurrentBlock(), reset(), and setCommand().
|
protected |
Definition at line 117 of file flowctrl.hpp.
Referenced by calc(), compile(), FlowCtrl(), and reset().
|
protected |
Definition at line 127 of file flowctrl.hpp.
Referenced by Procedure::execute(), Procedure::resetProcedure(), and updateTestStats().
|
protected |
Definition at line 104 of file flowctrl.hpp.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), extractFlagsAndIndexVariables(), for_loop(), if_fork(), prepareLocalVarsAndReplace(), range_based_for_loop(), reset(), NumeReDebugger::select(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 102 of file flowctrl.hpp.
Referenced by checkParsingModeAndExpandDefinitions(), compile(), eval(), evalForkFlowCommands(), extractFlagsAndIndexVariables(), fillJumpTableAndExpandRecursives(), for_loop(), getCurrentCommand(), getCurrentLineNumber(), if_fork(), prepareSwitchExpression(), range_based_for_loop(), replaceLocalVars(), reset(), setCommand(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 103 of file flowctrl.hpp.
Referenced by calc(), compile(), evalHeader(), evalRangeBasedHeader(), extractFlagsAndIndexVariables(), for_loop(), if_fork(), prepareLocalVarsAndReplace(), range_based_for_loop(), reset(), NumeReDebugger::select(), switch_fork(), try_catch(), and while_loop().
|
protected |
Definition at line 105 of file flowctrl.hpp.
Referenced by prepareLocalVarsAndReplace(), and reset().