Skip to content
Snippets Groups Projects
Commit b3580e00 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Begin CMathModule definition

parent cf96ad06
No related branches found
No related tags found
1 merge request!37Feature/language
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#include <PEGGrammar.hpp> #include <PEGGrammar.hpp>
#include <CMathModule.hpp>
void void
ASTModulesImporter::_importModule(ASTNode& import_node) ASTModulesImporter::_importModule(ASTNode& import_node)
{ {
...@@ -17,6 +19,8 @@ ASTModulesImporter::_importModule(ASTNode& import_node) ...@@ -17,6 +19,8 @@ ASTModulesImporter::_importModule(ASTNode& import_node)
std::cout << " * importing '" << rang::fgB::green << module_name << rang::style::reset << "' module\n"; std::cout << " * importing '" << rang::fgB::green << module_name << rang::style::reset << "' module\n";
if (module_name == "math") { if (module_name == "math") {
CMathModule math_module;
std::string symbol_name{"sin"}; std::string symbol_name{"sin"};
auto [i_symbol, success] = m_symbol_table.add(symbol_name, import_node.begin()); auto [i_symbol, success] = m_symbol_table.add(symbol_name, import_node.begin());
......
...@@ -28,6 +28,7 @@ add_library( ...@@ -28,6 +28,7 @@ add_library(
ASTPrinter.cpp ASTPrinter.cpp
ASTSymbolTableBuilder.cpp ASTSymbolTableBuilder.cpp
ASTSymbolInitializationChecker.cpp ASTSymbolInitializationChecker.cpp
CMathModule.cpp
PugsParser.cpp) PugsParser.cpp)
# Additional dependencies # Additional dependencies
......
#include <CMathModule.hpp>
#include <iostream>
CMathModule::CMathModule()
{
std::cerr << __FILE__ << ':' << __LINE__ << ": CMathModule construction NIY\n";
std::exit(1);
}
#ifndef CMATH_MODULE_HPP
#define CMATH_MODULE_HPP
#include <PugsMacros.hpp>
#include <map>
#include <memory>
#include <string>
#include <vector>
class ICFunctionEmbedder;
class CMathModule
{
private:
std::map<std::string, uint64_t> m_name_fid_map;
std::vector<std::shared_ptr<ICFunctionEmbedder>> m_cfunction_list;
public:
PUGS_INLINE
auto
find(const std::string& name) const
{
return m_name_fid_map.find(name);
}
CMathModule();
~CMathModule() = default;
};
#endif // CMATH_MODULE_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment