11#include <ext/iostream>
87 return static_cast < unsigned > ( first ) <
static_cast < unsigned > (
second );
104 return "less_than_or_equal";
108 return "more_or_equal_operator";
117 return "right_paren";
121 return "right_brace";
123 return "left_bracket";
125 return "right_bracket";
132 return "ampersand_sign";
140 return "semicolon_sign";
148 return "asterisk_sign";
152 return "exclemation_sign";
154 return "percentage_sign";
214 return out <<
": " << token.
m_value;
216 return out <<
": \"" << token.
m_value <<
"\"";
232 Token
nextToken (
bool readNextLine =
false );
235 m_source.
putback ( std::move ( token.m_raw ), token.m_raw_line, token.m_raw_position );
Definition: CharSequence.h:16
void putback(std::string string, size_t line, size_t position)
Definition: CharSequence.h:54
void advance(bool readNextLine)
Definition: CharSequence.cpp:54
Hint
Definition: Lexer.h:23
void setHint(Hint hint)
Definition: Lexer.h:238
static TokenType is_kw(const std::string &)
Definition: Lexer.h:189
static std::string tokenTypeToString(TokenType type)
Definition: Lexer.h:90
void putback(Token &&token)
Definition: Lexer.h:234
Lexer(CharSequence source)
Definition: Lexer.h:228
Token nextToken(bool readNextLine=false)
Definition: Lexer.cpp:12
TokenType
Definition: Lexer.h:34
friend bool operator<(TokenType first, TokenType second)
Definition: Lexer.h:86
Basic exception from which all other exceptions are derived.
Definition: CommonException.h:21
p second
Definition: ToRegExpAlgebraic.h:126
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
void hint(Hint hint)
Definition: measurements.cpp:37
Definition: FordFulkerson.hpp:16
size_t m_raw_line
Definition: Lexer.h:201
TokenType m_type
Definition: Lexer.h:196
size_t m_raw_position
Definition: Lexer.h:202
size_t m_line
Definition: Lexer.h:198
size_t m_position
Definition: Lexer.h:199
std::string m_raw
Definition: Lexer.h:195
bool operator<(const Token &token) const
Definition: Lexer.h:222
friend std::ostream & operator<<(std::ostream &out, const Token &token)
Definition: Lexer.h:204
std::string m_value
Definition: Lexer.h:194