ra4_draw
4bd0201e3d922d42bd545d4b045ed44db33454a4
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
inc
core
token.hpp
Go to the documentation of this file.
1
#ifndef H_TOKEN
2
#define H_TOKEN
3
4
#include <string>
5
#include <ostream>
6
7
#include "
core/named_func.hpp
"
8
9
struct
Token
{
10
enum class
Type
{
resolved_scalar
,
resolved_vector
,
//0-1
11
number
,
variable_name
,
//2-3
12
binary_plus
,
unary_plus
,
ambiguous_plus
,
//4-6
13
binary_minus
,
unary_minus
,
ambiguous_minus
,
//7-9
14
multiply
,
divide
,
modulus
,
//10-12
15
equal
,
not_equal
,
greater
,
less
,
greater_equal
,
less_equal
,
//13-18
16
logical_and
,
logical_or
,
logical_not
,
//19-21
17
open_paren
,
close_paren
,
//22-23
18
open_square
,
close_square
,
//24-25
19
unknown
};
//26
20
21
Token
(
const
std::string &function_string=
""
,
Type
type =
Type::unknown
);
22
Token
(
const
NamedFunc
&
function
);
23
Token
(
const
Token
&) =
default
;
24
Token
&
operator=
(
const
Token
&) =
default
;
25
Token
(
Token
&&) =
default
;
26
Token
&
operator=
(
Token
&&) =
default
;
27
~Token
() =
default
;
28
29
static
Type
GetType
(
char
x);
30
static
Type
GetType
(
const
std::string &x);
31
32
NamedFunc
function_
;
33
std::string
string_rep_
;
34
Type
type_
;
35
};
36
37
std::ostream &
operator <<
(std::ostream &stream,
const
Token
&token);
38
39
#endif
Token::Type::less_equal
Token::Type::resolved_scalar
Token::Type::logical_or
Token::Type::close_square
Token::Type::ambiguous_minus
Token::Type::modulus
Token::Type::variable_name
Token::Type::unknown
NamedFunc
Combines a callable function taking a Baby and returning a scalar or vector with its string represent...
Definition:
named_func.hpp:13
Token::Type::greater
Token::Type::multiply
Token::GetType
static Type GetType(char x)
Token::string_rep_
std::string string_rep_
Definition:
token.hpp:33
named_func.hpp
Token::type_
Type type_
Definition:
token.hpp:34
Token::Type::logical_and
Token::Type::less
Token::Type::equal
Token::Type::open_square
Token::operator=
Token & operator=(const Token &)=default
operator<<
std::ostream & operator<<(std::ostream &stream, const Token &token)
Definition:
token.cpp:59
Token::Type
Type
Definition:
token.hpp:10
Token::function_
NamedFunc function_
Definition:
token.hpp:32
Token::Type::unary_plus
Token::Type::binary_plus
Token::Type::not_equal
Token::Type::greater_equal
Token::Type::divide
Token
Definition:
token.hpp:9
Token::~Token
~Token()=default
Token::Type::close_paren
Token::Type::logical_not
Token::Type::resolved_vector
Token::Type::unary_minus
Token::Type::ambiguous_plus
Token::Type::number
Token::Type::binary_minus
Token::Type::open_paren
Token::Token
Token(const std::string &function_string="", Type type=Type::unknown)
Definition:
token.cpp:5
Generated by
1.8.11