#pragma once #include #include struct Location { int line; int column; std::string fname; std::shared_ptr parent = nullptr; Location(int ln, int col, std::string file); ~Location(); std::string to_string() const; std::string to_parenthesized_string() const; void advance(); void pos_from_char(const char& character); void operator=(const Location& other); void copy(const Location& other); };