Releases: leissa/fe
Releases · leissa/fe
FE 0.5.0
FE 0.4.1
FE 0.4.0
std::format
can now be substituted withfmtlib
.
This is useful if your C++ compiler does not yet have support forstd::format
. See #2.Parser::accept
does now just return aTok
instead of astd::optional<Tok>
.
Parser::accept
andParser::expect
indicate failure by constructing aTok
en with its default constructor. Provide a conversion operator tobool
to check for an error:This is slightly more verbose as you have to add sth like aclass Tok { public: enum class Tag { Nil, // ... }; // ... explicit bool operator() const { return tag_ != Tag::Nil; } // ... }; // Your Parser: if (auto tok = accept(Tok::Tag:My_Tag)) { do_sth(tok); }
Nil
tag, add a default constructor that initializes thetag
withNil
(what you probably need anyway), and add the the one-liner for the conversion tobool
but is also more lightweight and slightly easier to use.
FE 0.3.0
FE 0.2.1
FE 0.2.0
FE 0.1.1
FE 0.1
Initial Release.
Features
- Arena allocator for efficient memory management.
- Efficient symbol pool with optional Abseil support.
String comparisons are now only pointer comparisons! - Keep track of source code locations.
- Blueprint for a lexer with UTF-8.
- Blueprint for a parser.
- You need at least C++-20.