Skip to content
Snippets Groups Projects
Commit b0f6246a authored by Paweł Kędzia's avatar Paweł Kędzia
Browse files

Wrapper for Corpus2::TokenWriter

parent 2855f14f
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,8 @@ CBIN=libcorpustag.o \
libcorpustagsetmanager.o \
libcorpuslexeme.o \
libcorpussentence.o \
libcorpuschunk.o
libcorpuschunk.o \
libcorpustokenwriter.o
CBINOUT=_boost_shared_ptr.so \
_libcorpustag.so \
......@@ -27,7 +28,8 @@ CBINOUT=_boost_shared_ptr.so \
_libcorpuslexeme.so \
_libcorpustoken.so \
_libcorpussentence.so \
_libcorpuschunk.so
_libcorpuschunk.so \
_libcorpustokenwriter.so
CWRAP=boost_shared_ptr_wrap.cxx \
libcorpustag_wrap.cxx \
......@@ -36,7 +38,8 @@ CWRAP=boost_shared_ptr_wrap.cxx \
libcorpuslexeme_wrap.cxx \
libcorpustoken_wrap.cxx \
libcorpussentence_wrap.cxx \
libcorpuschunk_wrap.cxx
libcorpuschunk_wrap.cxx \
libcorpustokenwriter_wrap.cxx
CWRAPBIN=boost_shared_ptr_wrap.o \
libcorpustag_wrap.o \
......@@ -45,7 +48,8 @@ CWRAPBIN=boost_shared_ptr_wrap.o \
libcorpuslexeme_wrap.o \
libcorpustoken_wrap.o \
libcorpussentence_wrap.o \
libcorpuschunk_wrap.o
libcorpuschunk_wrap.o \
libcorpustokenwriter_wrap.o
PYMODULES=boost_shared_ptr.py \
libcorpustag.py \
......@@ -54,7 +58,8 @@ PYMODULES=boost_shared_ptr.py \
libcorpuslexeme.py \
libcorpustoken.py \
libcorpussentence.py \
libcorpuschunk.py
libcorpuschunk.py \
libcorpustokenwriter.py
PYCBIN=boost_shared_ptr.pyc \
libcorpustag.pyc \
......@@ -63,7 +68,8 @@ PYCBIN=boost_shared_ptr.pyc \
libcorpuslexeme.pyc \
libcorpustoken.pyc \
libcorpussentence.pyc \
libcorpuschunk.pyc
libcorpuschunk.pyc \
libcorpustokenwriter.pyc
# -----------------------------------------------------------------------------
all:boost_shared_ptr.o $(CBIN)
......@@ -125,6 +131,13 @@ libcorpussentence.o:
$(CPP) -shared libcorpussentence_wrap.o \
$(PWRUTILBIN) $(CORPUS2BIN) -o _libcorpussentence.so
# TokenWriter
libcorpustokenwriter.o:
$(SWIG) $(SWIGOPTS_LANG) libcorpustokenwriter.i
$(CPP) -c libcorpustokenwriter_wrap.cxx -I$(PYTHONDIR) $(CPPFLAGS)
$(CPP) -shared libcorpustokenwriter_wrap.o \
$(PWRUTILBIN) $(CORPUS2BIN) -o _libcorpustokenwriter.so
# -----------------------------------------------------------------------------
clean:
rm -f $(CBIN) $(CBINOUT) $(CWRAP) $(CWRAPBIN) $(PYMODULES) $(PYCBIN)
#ifndef SWIG_LIBCORPUS2_TOKENWRITER_I
#define SWIG_LIBCORPUS2_TOKENWRITER_I
%module libcorpustokenwriter
%{
#include <libcorpus2/io/writer.h>
%}
%include "libcorpustag.i"
%include "libcorpustoken.i"
%include "libcorpuschunk.i"
%include "libcorpustagset.i"
%include "libcorpussentence.i"
%include "std_string.i"
%include "boost_shared_ptr.i"
%nodefaultctor Corpus2::TokenWriter;
%template(TokenWriterPtr) boost::shared_ptr<Corpus2::TokenWriter>;
namespace Corpus2 {
class TokenWriter {
public:
typedef boost::shared_ptr<TokenWriter> TokenWriterPtr;
/* --------------------------------------------------------------------- */
TokenWriter();
// TokenWriter(std::ostream& os, const Tagset& tagset, const string_range_vector& params);
~TokenWriter();
/* --------------------------------------------------------------------- */
virtual void write_token(const Token& t) = 0;
void write_token_dispose(Token* t);
virtual void write_sentence(const Sentence& s) = 0;
virtual void write_chunk(const Chunk& p) = 0;
/* --------------------------------------------------------------------- */
// std::ostream& os();
const Tagset& tagset();
void finish();
/* --------------------------------------------------------------------- */
static TokenWriterPtr create_stream_writer(
const std::string& class_id_params,
std::ostream& os, const Tagset&
tagset);
static TokenWriterPtr create_path_writer(
const std::string& class_id_params,
const std::string& path,
const Tagset& tagset);
};
}
using namespace std;
using namespace Corpus2;
#endif /* SWIG_LIBCORPUS2_TOKENWRITER_I */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment