neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::lexer< Atom > Class Template Reference

#include <lexer.hpp>

Classes

struct  bad_lex_tree
 
class  context
 
struct  end_of_file_reached
 
struct  invalid_token
 
struct  style_sheet_not_utf8
 

Public Types

typedef Atom atom_type
 
typedef atom_type::token_type token_type
 
typedef atom_type::scope_type scope_type
 
typedef atom_type::scope_change_type scope_change_type
 
typedef atom_type::char_type char_type
 
typedef lexer_token< token_type, char_typelexer_token_type
 
typedef atom_type::range_type range_type
 
typedef atom_type::string_type string_type
 
typedef atom_type::function_type function_type
 
typedef lexer_rule< atom_typerule_type
 

Public Member Functions

template<typename Iter >
 lexer (Iter aFirstRule, Iter aLastRule)
 
template<typename Iter >
 lexer (scope_type aDefaultScope, Iter aFirstRule, Iter aLastRule)
 
context open (const std::string &aPath) const
 
context use (std::istream &aStream) const
 
context use (const std::string &aText) const
 

Detailed Description

template<typename Atom>
class neolib::lexer< Atom >

Definition at line 297 of file lexer.hpp.

Member Typedef Documentation

◆ atom_type

template<typename Atom >
typedef Atom neolib::lexer< Atom >::atom_type

Definition at line 300 of file lexer.hpp.

◆ char_type

template<typename Atom >
typedef atom_type::char_type neolib::lexer< Atom >::char_type

Definition at line 304 of file lexer.hpp.

◆ function_type

template<typename Atom >
typedef atom_type::function_type neolib::lexer< Atom >::function_type

Definition at line 308 of file lexer.hpp.

◆ lexer_token_type

Definition at line 305 of file lexer.hpp.

◆ range_type

template<typename Atom >
typedef atom_type::range_type neolib::lexer< Atom >::range_type

Definition at line 306 of file lexer.hpp.

◆ rule_type

Definition at line 309 of file lexer.hpp.

◆ scope_change_type

template<typename Atom >
typedef atom_type::scope_change_type neolib::lexer< Atom >::scope_change_type

Definition at line 303 of file lexer.hpp.

◆ scope_type

template<typename Atom >
typedef atom_type::scope_type neolib::lexer< Atom >::scope_type

Definition at line 302 of file lexer.hpp.

◆ string_type

template<typename Atom >
typedef atom_type::string_type neolib::lexer< Atom >::string_type

Definition at line 307 of file lexer.hpp.

◆ token_type

template<typename Atom >
typedef atom_type::token_type neolib::lexer< Atom >::token_type

Definition at line 301 of file lexer.hpp.

Constructor & Destructor Documentation

◆ lexer() [1/2]

template<typename Atom >
template<typename Iter >
neolib::lexer< Atom >::lexer ( Iter  aFirstRule,
Iter  aLastRule 
)
inline

Definition at line 569 of file lexer.hpp.

◆ lexer() [2/2]

template<typename Atom >
template<typename Iter >
neolib::lexer< Atom >::lexer ( scope_type  aDefaultScope,
Iter  aFirstRule,
Iter  aLastRule 
)
inline

Definition at line 576 of file lexer.hpp.

Member Function Documentation

◆ open()

template<typename Atom >
context neolib::lexer< Atom >::open ( const std::string &  aPath) const
inline

Definition at line 583 of file lexer.hpp.

◆ use() [1/2]

template<typename Atom >
context neolib::lexer< Atom >::use ( const std::string &  aText) const
inline

Definition at line 595 of file lexer.hpp.

◆ use() [2/2]

template<typename Atom >
context neolib::lexer< Atom >::use ( std::istream &  aStream) const
inline

Definition at line 589 of file lexer.hpp.


The documentation for this class was generated from the following file: