Elementa v8.0.0
Minimalistic library for any C++ application (C++11 and up)
Loading...
Searching...
No Matches
lexer.h File Reference
#include "elementa/license.inc"
#include "elementa/checks.inc"
#include <string>
#include <memory>
#include <utility>
#include <vector>
#include <list>
#include <functional>
#include "elementa/base/strings.h"
#include "elementa/base/exceptions.h"
#include "elementa/base/serial_channels.h"
#include "elementa/adts/fsms.h"
Include dependency graph for lexer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  elementa::parsing::LexerError
 Base error class. Lexer errors should derive from this. More...
 
class  elementa::parsing::UnexpSymbol
 
class  elementa::parsing::ExpSymbol
 
class  elementa::parsing::UnexpEnd
 
class  elementa::parsing::InvLexElem
 
class  elementa::parsing::Token
 Base class for any token (i.e., lexical element) produced by a lexer. More...
 
class  elementa::parsing::TextToken
 A token that only consists in its textual value. More...
 
class  elementa::parsing::TextToken::List
 A list of text tokens. More...
 
class  elementa::parsing::Lexer
 A lexer that produces terminals. More...
 
class  elementa::parsing::FSMLexer
 A lexical analyzer that uses a number of FSMs to recognize tokens. More...
 
class  elementa::parsing::FSMLexer::Recognizers
 Several recognizers. More...
 
class  elementa::parsing::FSMLexer::LexErr_Unrecog
 Unrecognizable text error. More...
 
class  elementa::parsing::LexerCollector
 A class to use a lexer for collecting all tokens sequentially. More...
 

Typedefs

using elementa::parsing::TokenId = int
 A unique identifier for a token. More...