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

A stream of input tokens. More...

#include <AbsFileStream.h>

Inheritance diagram for AbsFileStream:
Inheritance graph
Collaboration diagram for AbsFileStream:
Collaboration graph

Public Member Functions

 AbsFileStream (const std::string &name)
 Constructor.
 
virtual ~AbsFileStream ()
 
virtual bool fillLine ()=0
 Read next input line.
 
virtual Token readToken ()
 Read single token from file.
 
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 Member Functions

Token readNumber ()
 
Token readString ()
 
Token readWord ()
 
bool skipComments ()
 

Protected Attributes

std::string line
 
int curr_char
 
std::string stream_name
 
int curr_line
 
bool put_back_flag
 
Token put_back
 

Private Member Functions

 AbsFileStream ()
 
 AbsFileStream (const AbsFileStream &)
 
void operator= (const AbsFileStream &)
 

Detailed Description

A stream of input tokens.

Definition at line 30 of file AbsFileStream.h.

Constructor & Destructor Documentation

◆ AbsFileStream() [1/3]

AbsFileStream::AbsFileStream ( const std::string &  name)
explicit

Constructor.

Definition at line 31 of file AbsFileStream.cpp.

◆ ~AbsFileStream()

AbsFileStream::~AbsFileStream ( )
virtual

Definition at line 34 of file AbsFileStream.cpp.

◆ AbsFileStream() [2/3]

AbsFileStream::AbsFileStream ( )
private

◆ AbsFileStream() [3/3]

AbsFileStream::AbsFileStream ( const AbsFileStream )
private

Member Function Documentation

◆ fillLine()

virtual bool AbsFileStream::fillLine ( )
pure virtual

Read next input line.

Implemented in FileStream.

Referenced by readToken(), and skipComments().

◆ 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 AbsFileStream::operator= ( const AbsFileStream )
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().

◆ readNumber()

Token AbsFileStream::readNumber ( )
protected

Definition at line 134 of file AbsFileStream.cpp.

References curr_char, TokenStream::curr_line, Token::IS_ERROR, line, and TokenStream::stream_name.

Referenced by readToken().

◆ readString()

Token AbsFileStream::readString ( )
protected

◆ readToken()

Token AbsFileStream::readToken ( )
virtual

Read single token from file.

Implements TokenStream.

Definition at line 36 of file AbsFileStream.cpp.

References curr_char, TokenStream::curr_line, fillLine(), Token::IS_DELIMITER, Token::IS_EOF, Token::IS_ERROR, line, TokenStream::put_back, TokenStream::put_back_flag, readNumber(), readString(), readToken(), readWord(), skipComments(), and TokenStream::stream_name.

Referenced by readToken().

Here is the call graph for this function:

◆ readWord()

Token AbsFileStream::readWord ( )
protected

Definition at line 249 of file AbsFileStream.cpp.

References curr_char, TokenStream::curr_line, Token::IS_WORD, line, and TokenStream::stream_name.

Referenced by readToken().

◆ skipComments()

bool AbsFileStream::skipComments ( )
protected

Definition at line 266 of file AbsFileStream.cpp.

References curr_char, fillLine(), line, and skipComments().

Referenced by readToken(), and skipComments().

Here is the call graph for this function:

Member Data Documentation

◆ curr_char

int AbsFileStream::curr_char
protected

◆ curr_line

int TokenStream::curr_line
protectedinherited

◆ line

std::string AbsFileStream::line
protected

◆ put_back

Token TokenStream::put_back
protectedinherited

◆ put_back_flag

bool TokenStream::put_back_flag
protectedinherited

◆ stream_name

std::string TokenStream::stream_name
protectedinherited

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