#include "elna/source/driver.hpp" namespace elna::source { position make_position(const yy::location& location) { return position{ static_cast(location.begin.line), static_cast(location.begin.column) }; } syntax_error::syntax_error(const std::string& message, const std::filesystem::path& input_file, const yy::location& location) : error(input_file, make_position(location)), message(message) { } std::string syntax_error::what() const { return message; } driver::driver(const std::filesystem::path& input_file) : input_file(input_file) { } void driver::error(const yy::location& loc, const std::string& message) { m_errors.emplace_back(std::make_unique(message, input_file, loc)); } const std::list>& driver::errors() const noexcept { return m_errors; } }