OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
If statement. More...
#include <IfStatement.h>
Public Member Functions | |
IfStatement (const Parser &, TokenStream &) | |
Constructor. More... | |
virtual | ~IfStatement () |
virtual void | execute (const Parser &) |
Execute. More... | |
Public Member Functions inherited from Statement | |
Statement (const std::string &name, int line) | |
Constructor. More... | |
Statement (const std::string &name, TokenList &) | |
Constructor. More... | |
virtual | ~Statement () |
void | append (const Token &) |
Append a token. More... | |
bool | atEnd () const |
Test for end of command. More... | |
bool | boolean (bool &value) |
Return boolean value. More... | |
bool | delimiter (char c) |
Test for delimiter. More... | |
bool | delimiter (const char *s) |
Test for delimiter choice. More... | |
Token & | getCurrent () |
Return current token and skip it. More... | |
bool | integer (int &value) |
Return signed integer. More... | |
bool | integer (unsigned &value) |
Return unsigned integer. More... | |
bool | keyword (const char *s) |
Test for keyword. More... | |
bool | real (double &value) |
Return real value. More... | |
bool | str (std::string &value) |
Return string value. More... | |
bool | word (std::string &value) |
Return word value. More... | |
void | mark () |
Mark position in command. More... | |
void | restore () |
Return to marked position. More... | |
void | start () |
Return to start. More... | |
void | skip () |
Skip. More... | |
unsigned int | position () const |
Return current character number in line. More... | |
virtual void | print (std::ostream &os) const |
Print statement. More... | |
virtual void | printWhere (Inform &msg, bool withToken) const |
Print position. More... | |
std::string | str () const |
Private Member Functions | |
IfStatement () | |
IfStatement (const IfStatement &) | |
void | operator= (const IfStatement &) |
Private Attributes | |
Statement * | then_block |
Statement * | else_block |
Additional Inherited Members | |
Public Types inherited from Statement | |
typedef std::list< Token > | TokenList |
The type of the enclosed token list. More... | |
Protected Attributes inherited from Statement | |
int | stat_line |
std::string | buffer_name |
TokenList | tokens |
TokenList::iterator | curr |
TokenList::iterator | keep |
If statement.
Definition at line 35 of file IfStatement.h.
IfStatement::IfStatement | ( | const Parser & | parser, |
TokenStream & | is | ||
) |
Constructor.
Definition at line 35 of file IfStatement.cpp.
References Statement::append(), else_block, Token::isDel(), Token::isEOF(), Token::isKey(), TokenStream::putBack(), Parser::readStatement(), TokenStream::readToken(), and then_block.
|
virtual |
Definition at line 73 of file IfStatement.cpp.
References else_block, and then_block.
|
private |
|
private |
|
virtual |
Execute.
Implements Statement.
Definition at line 79 of file IfStatement.cpp.
References else_block, ERRORMSG, Statement::execute(), Attributes::getBool(), OpalData::getInstance(), Attributes::makeBool(), Attribute::parse(), Statement::print(), Statement::start(), then_block, and OpalData::update().
|
private |
|
private |
Definition at line 57 of file IfStatement.h.
Referenced by execute(), IfStatement(), and ~IfStatement().
|
private |
Definition at line 56 of file IfStatement.h.
Referenced by execute(), IfStatement(), and ~IfStatement().