]> git.localhorst.tv Git - blank.git/blob - src/io/Token.hpp
add TCP based CLI
[blank.git] / src / io / Token.hpp
1 #ifndef BLANK_IO_TOKEN_HPP_
2 #define BLANK_IO_TOKEN_HPP_
3
4 #include <iosfwd>
5 #include <string>
6
7
8 namespace blank {
9
10 struct Token {
11         enum Type {
12                 UNKNOWN = 0,
13                 ANGLE_BRACKET_OPEN = '{',
14                 ANGLE_BRACKET_CLOSE = '}',
15                 CHEVRON_OPEN = '<',
16                 CHEVRON_CLOSE = '>',
17                 BRACKET_OPEN = '[',
18                 BRACKET_CLOSE = ']',
19                 PARENTHESIS_OPEN = '(',
20                 PARENTHESIS_CLOSE = ')',
21                 COLON = ':',
22                 SEMICOLON = ';',
23                 COMMA = ',',
24                 EQUALS = '=',
25                 NUMBER = '0',
26                 STRING = '"',
27                 IDENTIFIER = 'a',
28                 COMMENT = '#',
29         } type = UNKNOWN;
30         std::string value;
31 };
32
33 std::ostream &operator <<(std::ostream &, Token::Type);
34 std::ostream &operator <<(std::ostream &, const Token &);
35
36 }
37
38 #endif