OpenASIP  2.0
Public Member Functions | Private Attributes | List of all members
TclConditionScript Class Reference

#include <TclConditionScript.hh>

Inheritance diagram for TclConditionScript:
Inheritance graph
Collaboration diagram for TclConditionScript:
Collaboration graph

Public Member Functions

 TclConditionScript (TclInterpreter *interpreter, std::string scriptLine)
 
virtual ~TclConditionScript ()
 
virtual std::vector< std::string > script () const
 
virtual ConditionScriptcopy () const
 
- Public Member Functions inherited from ConditionScript
 ConditionScript (ScriptInterpreter *interpreter, std::string scriptLine)
 
 ConditionScript (ScriptInterpreter *interpreter, std::vector< std::string > &script)
 
virtual ~ConditionScript ()
 
virtual bool conditionOk ()
 
- Public Member Functions inherited from Script
 Script (ScriptInterpreter *interpreter, std::string scriptLine)
 
 Script (ScriptInterpreter *interpreter, std::vector< std::string > &script)
 
virtual ~Script ()
 
virtual DataObject execute ()
 
DataObject lastResult ()
 

Private Attributes

std::string displayedCondition_
 

Additional Inherited Members

- Protected Attributes inherited from Script
ScriptInterpreterinterpreter_
 Interpreter executing the commands. More...
 

Detailed Description

Class that contains a script that defines a condition for some action.

A version tweaked to work with Tcl. Tcl does not allow condition to be an expression with a value, so I had to wrap the condition in a an if ... else .. expression to make it work.

Definition at line 50 of file TclConditionScript.hh.

Constructor & Destructor Documentation

◆ TclConditionScript()

TclConditionScript::TclConditionScript ( TclInterpreter interpreter,
std::string  scriptLine 
)

Constructor.

The script is converted to an if-statement and the original condition is saved for displaying purposes.

Parameters
interpreterInterpreter for the script.
scriptLineA line of script.

Definition at line 49 of file TclConditionScript.cc.

51  :
53  interpreter, std::string("if {") + scriptLine +
54  "} { set _last_condition_value_ 1 } else "
55  "{ set _last_condition_value_ 0 }"), displayedCondition_(scriptLine) {
56 }

Referenced by copy().

◆ ~TclConditionScript()

TclConditionScript::~TclConditionScript ( )
virtual

Destructor.

Definition at line 61 of file TclConditionScript.cc.

61  {
62 }

Member Function Documentation

◆ copy()

ConditionScript * TclConditionScript::copy ( ) const
virtual

Copies the condition script.

Allows dynamically bound copy.

Returns
a new instance which is identical to this.

Reimplemented from ConditionScript.

Definition at line 84 of file TclConditionScript.cc.

84  {
85  return new TclConditionScript(*this);
86 }

References TclConditionScript().

Here is the call graph for this function:

◆ script()

std::vector< std::string > TclConditionScript::script ( ) const
virtual

Returns the script.

Returns
The script.

Reimplemented from Script.

Definition at line 70 of file TclConditionScript.cc.

70  {
71  std::vector<std::string> container;
72  container.push_back(displayedCondition_);
73  return container;
74 }

References displayedCondition_.

Referenced by ConditionCommand::execute(), and SimControlLanguageCommand::parseBreakpoint().

Member Data Documentation

◆ displayedCondition_

std::string TclConditionScript::displayedCondition_
private

Definition at line 60 of file TclConditionScript.hh.

Referenced by script().


The documentation for this class was generated from the following files:
TclConditionScript::TclConditionScript
TclConditionScript(TclInterpreter *interpreter, std::string scriptLine)
Definition: TclConditionScript.cc:49
TclConditionScript::displayedCondition_
std::string displayedCondition_
Definition: TclConditionScript.hh:60
ConditionScript::ConditionScript
ConditionScript(ScriptInterpreter *interpreter, std::string scriptLine)
Definition: ConditionScript.cc:46