OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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::~TokenStream
virtual ~TokenStream()
Definition:
TokenStream.cpp:34
TokenStream::put_back_flag
bool put_back_flag
Definition:
TokenStream.h:65
TokenStream::TokenStream
TokenStream()
TokenStream::curr_line
int curr_line
Definition:
TokenStream.h:62
Token
Representation of a single input token.
Definition:
Token.h:33
TokenStream::getName
const std::string & getName() const
Return stream name.
Definition:
TokenStream.cpp:54
TokenStream::put_back
Token put_back
Definition:
TokenStream.h:66
TokenStream::stream_name
std::string stream_name
Definition:
TokenStream.h:59
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
LogicalError.h
TokenStream.h
TokenStream::getLine
int getLine() const
Return line number.
Definition:
TokenStream.cpp:49
LogicalError
Logical error exception.
Definition:
LogicalError.h:33
TokenStream::putBack
void putBack(const Token &token)
Put token back to stream.
Definition:
TokenStream.cpp:38
Generated on Tue Jul 2 2024 15:05:22 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5