#pragma once #include #include #include "error.hpp" #include "ast.hpp" #include "function.hpp" #include "type.hpp" #include "data.hpp" namespace lily { struct program { int next_free_type_id; std::map types; std::map constructors; std::map functions; program(); }; typedef std::unique_ptr program_ptr; program_ptr parse(std::string s); }