OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
src
Classic
Parser
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 "
Parser/TokenStream.h
"
22
#include "
Utilities/LogicalError.h
"
23
#include <cctype>
24
25
26
// Class TokenStream
27
// ------------------------------------------------------------------------
28
29
TokenStream::TokenStream
(
const
std::string &
name
):
30
stream_name(
name
), curr_line(0), put_back_flag(false), put_back()
31
{}
32
33
34
TokenStream::~TokenStream
()
35
{}
36
37
38
void
TokenStream::putBack
(
const
Token
&token) {
39
if
(
put_back_flag
) {
40
throw
LogicalError
(
"TokenStream::pushBack()"
,
41
"Cannot push back two tokens."
);
42
}
43
44
put_back
= token;
45
put_back_flag
=
true
;
46
}
47
48
49
int
TokenStream::getLine
()
const
{
50
return
curr_line
;
51
}
52
53
54
const
std::string &
TokenStream::getName
()
const
{
55
return
stream_name
;
56
}
TokenStream.h
LogicalError.h
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
Token
Representation of a single input token.
Definition:
Token.h:33
TokenStream::put_back_flag
bool put_back_flag
Definition:
TokenStream.h:65
TokenStream::~TokenStream
virtual ~TokenStream()
Definition:
TokenStream.cpp:34
TokenStream::stream_name
std::string stream_name
Definition:
TokenStream.h:59
TokenStream::put_back
Token put_back
Definition:
TokenStream.h:66
TokenStream::curr_line
int curr_line
Definition:
TokenStream.h:62
TokenStream::getLine
int getLine() const
Return line number.
Definition:
TokenStream.cpp:49
TokenStream::getName
const std::string & getName() const
Return stream name.
Definition:
TokenStream.cpp:54
TokenStream::putBack
void putBack(const Token &token)
Put token back to stream.
Definition:
TokenStream.cpp:38
TokenStream::TokenStream
TokenStream()
LogicalError
Logical error exception.
Definition:
LogicalError.h:33
Generated on Thu Oct 20 2022 17:40:10 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3