-
Notifications
You must be signed in to change notification settings - Fork 0
/
Token.hpp
49 lines (42 loc) · 1.66 KB
/
Token.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
#include<string>
#ifndef Token_hpp
#define Token_hpp
class Token {
public:
Token( std::string name ) {
initialize();
_name = name;
}
Token() { initialize(); }
void print();
bool isName() { return _isName; }
std::string getName() { return _name; }
void setName(std::string s) { _name = s; _isName = true; }
bool isColon() { return _isAColon; }
void isColon(bool colon) { _isAColon = colon; }
bool isEOL() { return _eol; }
void isEOL(bool eol) { _eol = eol; }
bool isEOF() { return _eof; }
void isEOF(bool eof) { _eof = eof; }
void isUnknow(bool v) { _unknown = v; }
bool isUnknow() { return _unknown; }
void setUnknownChar(char c) { _unknownChar = c; }
char getUnknownChar() { return _unknownChar; }
std::string getCommand() { return _command; }
void setCommand(std::string command) { _command = command; _isCommand = true; }
bool isCommand() { return _isCommand; }
private:
void initialize();
std::string _name, _text, _command;
bool _isAColon, _eol, _eof, _unknown, _isCommand, _isName;
char _unknownChar;
};
inline void Token::initialize()
{
_isCommand = _unknown = _eol = _eof = _isAColon = _isName = false;
_name = _text = "";
_unknownChar = ' ';
_command = "";
}
#endif