// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #pragma once #include #include namespace magma { class parser_interface { private: friend class magma_mxs_parser_impl; static void parse_node( const base_node& node, magma_mxs_parser& parser, std::vector& outExpr ); public: /** * Interface methods */ virtual ~parser_interface() {} virtual void apply( const base_node& node, magma_mxs_parser& parser, std::vector& outExpr ) = 0; }; } // namespace magma