OPALX (Object Oriented Parallel Accelerator Library for Exascal)
master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
TokenStream.cpp
Go to the documentation of this file.
1
// ------------------------------------------------------------------------
2
// $RCSfile: TokenStream.cpp,v $
3
// ------------------------------------------------------------------------
4
// $Revision: 1.1.1.1 $
5
// ------------------------------------------------------------------------
6
// Copyright: see Copyright.readme
7
// ------------------------------------------------------------------------
8
//
9
// Class: TokenStream
10
// Abstract base class for input token streams.
11
//
12
// ------------------------------------------------------------------------
13
// Class category: Parser
14
// ------------------------------------------------------------------------
15
//
16
// $Date: 2000/03/27 09:32:37 $
17
// $Author: fci $
18
//
19
// ------------------------------------------------------------------------
20
21
#include "
OpalParser/TokenStream.h
"
22
#include <cctype>
23
#include "
Utilities/LogicalError.h
"
24
25
// Class TokenStream
26
// ------------------------------------------------------------------------
27
28
TokenStream::TokenStream
(
const
std::string& name)
29
: stream_name(name), curr_line(0), put_back_flag(false), put_back() {}
30
31
TokenStream::~TokenStream
() {}
32
33
void
TokenStream::putBack
(
const
Token
& token) {
34
if
(
put_back_flag
) {
35
throw
LogicalError
(
"TokenStream::pushBack()"
,
"Cannot push back two tokens."
);
36
}
37
38
put_back
= token;
39
put_back_flag
=
true
;
40
}
41
42
int
TokenStream::getLine
()
const
{
return
curr_line
; }
43
44
const
std::string&
TokenStream::getName
()
const
{
return
stream_name
; }
LogicalError.h
TokenStream.h
LogicalError
Logical error exception.
Definition
LogicalError.h:33
TokenStream::put_back_flag
bool put_back_flag
Definition
TokenStream.h:59
TokenStream::~TokenStream
virtual ~TokenStream()
Definition
TokenStream.cpp:31
TokenStream::stream_name
std::string stream_name
Definition
TokenStream.h:53
TokenStream::put_back
Token put_back
Definition
TokenStream.h:60
TokenStream::curr_line
int curr_line
Definition
TokenStream.h:56
TokenStream::getLine
int getLine() const
Return line number.
Definition
TokenStream.cpp:42
TokenStream::getName
const std::string & getName() const
Return stream name.
Definition
TokenStream.cpp:44
TokenStream::putBack
void putBack(const Token &token)
Put token back to stream.
Definition
TokenStream.cpp:33
TokenStream::TokenStream
TokenStream()
Token
Representation of a single input token.
Definition
Token.h:32
src
OpalParser
TokenStream.cpp
Generated on Mon Jun 1 2026 10:40:52 for OPALX (Object Oriented Parallel Accelerator Library for Exascal) by
1.9.8