neoGFX
Cross-platform C++ app/game engine
|
#include <lexer.hpp>
Classes | |
struct | not_scope |
struct | not_token |
Public Types | |
typedef Token | token_type |
typedef Scope | scope_type |
typedef CharT | char_type |
typedef std::pair< char_type, char_type > | range_type |
typedef std::basic_string< char_type > | string_type |
typedef std::vector< lexer_atom_function > | function_list |
typedef std::pair< token_type, function_list > | function_type |
typedef std::pair< scope_type, bool > | scope_change_type |
typedef std::variant< std::monostate, char_type, range_type, string_type, lexer_atom_match_any, token_type, function_type, scope_type, scope_change_type > | value_type |
typedef string_type | token_value_type |
Public Member Functions | |
lexer_atom () | |
template<typename T > | |
lexer_atom (const T &aValue, const token_value_type &aTokenValue=token_value_type{}) | |
template<typename T > | |
lexer_atom (lexer_atom_function aFunction, const T &aValue, const token_value_type &aTokenValue=token_value_type{}) | |
bool | operator== (const lexer_atom &aOther) const |
bool | operator!= (const lexer_atom &aOther) const |
template<typename T > | |
bool | is () const |
const value_type & | value () const |
bool | is_token () const |
token_type | token () const |
void | set_token (token_type aToken) |
bool | is_scope () const |
scope_type | scope () const |
void | set_scope (scope_type aScope) |
bool | has_functions () const |
const function_list & | functions () const |
function_list & | functions () |
const token_value_type & | token_value () const |
token_value_type & | token_value () |
typedef CharT neolib::lexer_atom< Token, Scope, CharT >::char_type |
typedef std::vector<lexer_atom_function> neolib::lexer_atom< Token, Scope, CharT >::function_list |
typedef std::pair<token_type, function_list> neolib::lexer_atom< Token, Scope, CharT >::function_type |
typedef std::pair<scope_type, bool> neolib::lexer_atom< Token, Scope, CharT >::scope_change_type |
typedef Scope neolib::lexer_atom< Token, Scope, CharT >::scope_type |
typedef std::basic_string<char_type> neolib::lexer_atom< Token, Scope, CharT >::string_type |
typedef Token neolib::lexer_atom< Token, Scope, CharT >::token_type |
typedef string_type neolib::lexer_atom< Token, Scope, CharT >::token_value_type |
typedef std::variant<std::monostate, char_type, range_type, string_type, lexer_atom_match_any, token_type, function_type, scope_type, scope_change_type> neolib::lexer_atom< Token, Scope, CharT >::value_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |