/* * Copyright (C) 2023 Riyyi * * SPDX-License-Identifier: MIT */ #pragma once #include // std::shared_ptr namespace blaze { // ----------------------------------------- // Types class ASTNode; typedef std::shared_ptr ASTNodePtr; class Environment; typedef std::shared_ptr EnvironmentPtr; // ----------------------------------------- // Functions extern ASTNodePtr read(std::string_view input); ASTNodePtr eval(ASTNodePtr ast, EnvironmentPtr env); extern void installFunctions(EnvironmentPtr env); } // namespace blaze