OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
MacroStream Class Reference

An input buffer for macro commands. More...

#include <MacroStream.h>

Inheritance diagram for MacroStream:
Inheritance graph
Collaboration diagram for MacroStream:
Collaboration graph

Public Member Functions

 MacroStream (const std::string &)
 Constructor.
 
virtual ~MacroStream ()
 
void append (Token &)
 Append a token to the stream.
 
virtual Token readToken ()
 Read a token from the stream.
 
void start ()
 Reset stream to start.
 
void putBack (const Token &token)
 Put token back to stream.
 
const std::string & getName () const
 Return stream name.
 
int getLine () const
 Return line number.
 

Protected Attributes

std::string stream_name
 
int curr_line
 
bool put_back_flag
 
Token put_back
 

Private Types

typedef std::list< TokenTokenList
 

Private Member Functions

 MacroStream ()
 
 MacroStream (const MacroStream &)
 
void operator= (const MacroStream &)
 

Private Attributes

TokenList body
 
TokenList::iterator curr
 

Detailed Description

An input buffer for macro commands.

Definition at line 30 of file MacroStream.h.

Member Typedef Documentation

◆ TokenList

typedef std::list<Token> MacroStream::TokenList
private

Definition at line 54 of file MacroStream.h.

Constructor & Destructor Documentation

◆ MacroStream() [1/3]

MacroStream::MacroStream ( const std::string &  macName)

Constructor.

Definition at line 26 of file MacroStream.cpp.

◆ ~MacroStream()

MacroStream::~MacroStream ( )
virtual

Definition at line 29 of file MacroStream.cpp.

◆ MacroStream() [2/3]

MacroStream::MacroStream ( )
private

◆ MacroStream() [3/3]

MacroStream::MacroStream ( const MacroStream )
private

Member Function Documentation

◆ append()

void MacroStream::append ( Token token)

Append a token to the stream.

Definition at line 31 of file MacroStream.cpp.

References body.

Referenced by SequenceTemplate::makeInstance(), SequenceTemplate::parseTemplate(), and LineTemplate::parseTemplate().

◆ getLine()

int TokenStream::getLine ( ) const
inherited

Return line number.

Definition at line 42 of file TokenStream.cpp.

References TokenStream::curr_line.

◆ getName()

const std::string & TokenStream::getName ( ) const
inherited

Return stream name.

Definition at line 44 of file TokenStream.cpp.

References TokenStream::stream_name.

◆ operator=()

void MacroStream::operator= ( const MacroStream )
private

◆ putBack()

void TokenStream::putBack ( const Token token)
inherited

Put token back to stream.

Definition at line 33 of file TokenStream.cpp.

References TokenStream::put_back, and TokenStream::put_back_flag.

Referenced by IfStatement::IfStatement().

◆ readToken()

Token MacroStream::readToken ( )
virtual

Read a token from the stream.

Implements TokenStream.

Definition at line 33 of file MacroStream.cpp.

References body, curr, Token::IS_EOF, TokenStream::put_back, TokenStream::put_back_flag, and TokenStream::stream_name.

Referenced by SequenceTemplate::makeInstance(), and LineTemplate::makeInstance().

◆ start()

void MacroStream::start ( )

Reset stream to start.

Definition at line 44 of file MacroStream.cpp.

References body, curr, and TokenStream::put_back_flag.

Referenced by SequenceTemplate::makeInstance(), and LineTemplate::makeInstance().

Member Data Documentation

◆ body

TokenList MacroStream::body
private

Definition at line 55 of file MacroStream.h.

Referenced by append(), readToken(), and start().

◆ curr

TokenList::iterator MacroStream::curr
private

Definition at line 56 of file MacroStream.h.

Referenced by readToken(), and start().

◆ curr_line

◆ put_back

Token TokenStream::put_back
protectedinherited

◆ put_back_flag

bool TokenStream::put_back_flag
protectedinherited

◆ stream_name


The documentation for this class was generated from the following files: