0

C++ の Chaiscript モジュールが python で動作するようにしようとしています。私の問題は、使用する必要があるメイン クラスがチュートリアルで使用されているものよりも高度であるため、目標を達成するのが難しいことです。

cython で実装したいクラスは次のとおりです。

// chaiscript.hpp
#include "chaiscript_basic.hpp"
#include "language/chaiscript_parser.hpp"
#include "chaiscript_stdlib.hpp"


namespace chaiscript 
{
  class ChaiScript : public ChaiScript_Basic
  {
    public:
      ChaiScript(std::vector<std::string> t_modulepaths = {},
          std::vector<std::string> t_usepaths = {},
          const std::vector<Options> &t_opts = chaiscript::default_options())
        : ChaiScript_Basic(
            chaiscript::Std_Lib::library(),
            std::make_unique<parser::ChaiScript_Parser<eval::Noop_Tracer, optimizer::Optimizer_Default>>(),
            t_modulepaths, t_usepaths, t_opts)
        {
        }
  };
}

これまでに作成したcythonは次のとおりです。

from libcpp.vector cimport vector
from libcpp.string cimport string
from libcpp.utility cimport *


cdef extern from "./chaiscript.hpp" namespace "chaiscript":
    cdef cppclass ChaiScript:
        ChaiScript(vector[string] t_modulepaths = {},
          vector[string] t_usepaths = {},
          const vector[Options] &t_opts = default_options())
        

cdef class PyChaiscript:
    cdef ChaiScript * ptr
4

0 に答える 0