OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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::getLine
int getLine() const
Return line number.
Definition:
TokenStream.cpp:49
LogicalError.h
TokenStream::put_back_flag
bool put_back_flag
Definition:
TokenStream.h:65
TokenStream::put_back
Token put_back
Definition:
TokenStream.h:66
TokenStream::~TokenStream
virtual ~TokenStream()
Definition:
TokenStream.cpp:34
TokenStream::curr_line
int curr_line
Definition:
TokenStream.h:62
TokenStream::stream_name
std::string stream_name
Definition:
TokenStream.h:59
TokenStream::TokenStream
TokenStream()
Token
Representation of a single input token.
Definition:
Token.h:33
TokenStream::putBack
void putBack(const Token &token)
Put token back to stream.
Definition:
TokenStream.cpp:38
TokenStream::getName
const std::string & getName() const
Return stream name.
Definition:
TokenStream.cpp:54
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:3
LogicalError
Logical error exception.
Definition:
LogicalError.h:33
TokenStream.h
Generated on Sat Jan 4 2020 14:47:58 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5