FE 0.6.0
A header-only C++ library for writing frontends
|
▼Nfe | |
▼Nutf8 | |
CChar32 | Wrapper for char32_t which has a friend ostream operator |
▼CArena | An arena pre-allocates so-called pages of size Arena::page_size_ |
CAllocator | |
CDeleter | |
Cbasic_ostream_formatter | Make types that support ostream operators available for std::format |
CDriver | Use/derive from this class for "global" variables that you need all over the place |
Cis_bit_enum | |
CLexer | The blueprint for a lexer with a buffer of K tokens to peek into the future (Lexer::ahead) |
CLoc | Location in a File |
▼CParser | The blueprint for a recursive descent/ ascent parser using a K lookahead of Tok ens |
CTracker | |
CPos | Position in a source file; pass around as value |
CRing | A ring buffer with N elements |
CRing< T, 1 > | Specialization if N == 1 - doesn't need a ring |
CRing< T, 2 > | Specialization if N == 2 ; doesn't need a ring, we just copy |
CRuntimeCast | Inherit from this class using CRTP, for some nice dynamic_cast -style wrappers |
▼CSym | A Symbol just wraps a pointer to Sym::String, so pass Sym itself around as value |
▼CString | |
CEqual | |
CHash | |
CSymPool | Hash set where all strings - wrapped in Symbol - live in |
CTab | Keeps track of indentation level during output |