Namespace the lexer module

Future proofing any name collisions.
This commit is contained in:
2024-06-01 01:52:17 +01:00
parent 83ad8b832b
commit 4b85f90a52
5 changed files with 593 additions and 579 deletions

View File

@@ -30,33 +30,34 @@ enum pp_err_type_t
struct pp_err_t
{
const Token *reference;
const Lexer::Token *reference;
pp_err_type_t type;
lerr_t lerr;
Lexer::lerr_t lerr;
pp_err_t();
pp_err_t(pp_err_type_t);
pp_err_t(pp_err_type_t, const Token *);
pp_err_t(pp_err_type_t, const Token *, lerr_t);
pp_err_t(pp_err_type_t, const Lexer::Token *);
pp_err_t(pp_err_type_t, const Lexer::Token *, Lexer::lerr_t);
};
std::ostream &operator<<(std::ostream &, pp_err_t &);
struct pp_unit_t
{
const Token *const token;
const Lexer::Token *const token;
struct
{
std::string_view name;
std::vector<pp_unit_t> elements;
} container;
pp_unit_t(const Token *const);
pp_unit_t(const Lexer::Token *const);
pp_unit_t(std::string_view, std::vector<pp_unit_t>);
};
std::vector<pp_unit_t> tokens_to_units(const std::vector<Token *> &);
std::vector<pp_unit_t> tokens_to_units(const std::vector<Lexer::Token *> &);
pp_err_t preprocess_use(std::vector<pp_unit_t> &);
pp_err_t preprocesser(const std::vector<Token *> &, std::vector<Token *> &);
pp_err_t preprocesser(const std::vector<Lexer::Token *> &,
std::vector<Lexer::Token *> &);
#endif