OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
SimpleStatement.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: SimpleStatement.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: SimpleStatement
10// Concrete representation for a standard input language statement.
11//
12// ------------------------------------------------------------------------
13// Class category: Parser
14// ------------------------------------------------------------------------
15//
16// $Date: 2000/03/27 09:32:37 $
17// $Author: fci $
18//
19// ------------------------------------------------------------------------
20
22#include "Parser/Parser.h"
23#include "Parser/Token.h"
24#include "Parser/TokenStream.h"
25
26
27// class SimpleStatement
28// ------------------------------------------------------------------------
29
30SimpleStatement::SimpleStatement(const std::string &name, int line):
31 Statement(name, line)
32{}
33
34
36 Statement(name, list)
37{}
38
39
41{}
42
43
44void SimpleStatement::execute(const Parser &parser) {
45 curr = keep = tokens.begin();
46 if(curr != tokens.end()) parser.parse(*this);
47}
const std::string name
Interface for abstract language parser.
Definition: Parser.h:31
virtual void parse(Statement &stat) const =0
Parse and execute the statement.
SimpleStatement(const std::string &streamName, int streamLine)
Constructor.
virtual ~SimpleStatement()
Destructor.
virtual void execute(const Parser &)
Execute statement.
Interface for statements.
Definition: Statement.h:38
TokenList::iterator keep
Definition: Statement.h:181
std::list< Token > TokenList
The type of the enclosed token list.
Definition: Statement.h:43
TokenList tokens
Definition: Statement.h:179
TokenList::iterator curr
Definition: Statement.h:180