/// AUTOGENERATED COPYRIGHT HEADER START // Copyright (C) 2017-2025 Michael Fabian 'Xaymar' Dirks // AUTOGENERATED COPYRIGHT HEADER END #pragma once #include #include #include "ast/ast.hpp" #include "lexer.hpp" namespace blitz { class parser { std::filesystem::path _file; std::shared_ptr _lexer; std::shared_ptr _expr; public: ~parser(); parser(std::filesystem::path file); std::shared_ptr current(); std::shared_ptr next(); private: std::shared_ptr try_parse(blitz::token token); std::shared_ptr try_parse_variable(); }; } // namespace blitz