diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b8f93973b11747d34539835735dc8eeb09aa20f..3b8678df3bacb8dfafa0bd77a4c4ff9406ad3568 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,6 +63,7 @@ endif(MSVC OR BORLAND) add_subdirectory(libwccl) add_subdirectory(wccl-apps) add_subdirectory(tests) +add_subdirectory(libmwereader) if(WCCL_BUILD_SWIG) FIND_PACKAGE(SWIG) diff --git a/libmwereader/CMakeLists.txt b/libmwereader/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..80355dbcab621478dcc152527d6046f3b96d8df6 --- /dev/null +++ b/libmwereader/CMakeLists.txt @@ -0,0 +1,37 @@ +PROJECT(MWEReader) +cmake_minimum_required(VERSION 2.8.0) +set(libmwereader_major 0) +set(libmwereader_minor 1) + +add_library(corpus2_mwereader SHARED mwereader.cpp ) + +set_target_properties(corpus2_mwereader PROPERTIES + VERSION "${libmwereader_major}.${libmwereader_minor}" + SOVERSION ${libmwereader_major}) + +find_package(Corpus2 1.0.9 REQUIRED) +set(LIBS ${LIBS} ${Corpus2_LIBRARIES}) + +find_package(PwrUtils 1.0.1 REQUIRED) +set(LIBS ${LIBS} ${PwrUtils_LIBRARY}) + +link_directories(${Boost_LIBRARY_DIRS}) +set(LIBS ${LIBS} ${Boost_LIBRARIES}) + +find_package(ICU REQUIRED) +include_directories(${ICU_INCLUDE_DIR}) +set(LIBS ${LIBS} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}) + +find_package(ANTLR REQUIRED) +include_directories(${ANTLR_INCLUDE_DIR}) + +target_link_libraries(corpus2_mwereader corpus2) + +add_executable(mwertest mwertest.cpp) + +target_link_libraries(mwertest corpus2_mwereader ${LIBS}) + +if(UNIX) + install(TARGETS corpus2_mwereader LIBRARY DESTINATION lib) + #install(TARGETS c2pqtest RUNTIME DESTINATION bin) +endif(UNIX) diff --git a/libmwereader/mwereader.cpp b/libmwereader/mwereader.cpp new file mode 100644 index 0000000000000000000000000000000000000000..95d5ede61ab07f61fc289f1868291e151090c09a --- /dev/null +++ b/libmwereader/mwereader.cpp @@ -0,0 +1,56 @@ +#include "mwereader.h" + +namespace Corpus2{ + +bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( + "mwereader","token,chunk,sentence"); // TODO wiecej helpa + + MWEReader::MWEReader(const Tagset &tagset, const std::string &filename) + : TokenReader(tagset) + { + // TODO implementataion + std::cerr << "Jestem sobie MWE Readerkiem" << std::endl; + } + + MWEReader::~MWEReader() + { + // TODO implementataion + } + + Token* MWEReader::get_next_token() + { + // TODO implementation + return 0; + } + + Sentence::Ptr MWEReader::get_next_sentence() + { + // TODO implementataion + return Sentence::Ptr(); + } + + boost::shared_ptr<Chunk> MWEReader::get_next_chunk() + { + // TODO implementataion + return boost::shared_ptr<Chunk>(); + } + + void MWEReader::set_option(const std::string& option) + { + // TODO implementataion + } + + void MWEReader::validate() + { + // TODO implementataion + } + + std::string MWEReader::get_option(const std::string& option) const + { + // TODO implementataion + std::string s; + return s; + } + + +}// ns Corpus2 diff --git a/libmwereader/mwereader.h b/libmwereader/mwereader.h new file mode 100644 index 0000000000000000000000000000000000000000..71466e51d925bafe4ca640a100f32dd38e849e84 --- /dev/null +++ b/libmwereader/mwereader.h @@ -0,0 +1,41 @@ +#ifndef LIBMWEREADER_MWEREADER_H +#define LIBMWEREADER_MWEREADER_H + +#include <libcorpus2/io/reader.h> + +namespace Corpus2 { + + +class MWEReader: public TokenReader +{ +public: + MWEReader(const Tagset& tagset, const std::string& filename); + + ~MWEReader(); + + Token* get_next_token(); + + Sentence::Ptr get_next_sentence(); + + boost::shared_ptr<Chunk> get_next_chunk(); + + void set_option(const std::string& option); + + /** + * Option inspector. Should echo the option if it is set, return + * an empty string otheriwse, and "unknown" if the option is invalid. + */ + std::string get_option(const std::string& option) const; + + /** + * Check if the reader is valid, should throw if not. Called after + * all set_options during factory reader creation. + */ + virtual void validate(); + + static bool registered; +}; + +} // ns Corpus2 + +#endif // LIBMWEREADER_MWEREADER_H diff --git a/libmwereader/mwertest.cpp b/libmwereader/mwertest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e6a6badf71cc8658d4984563f705a8770704ded8 --- /dev/null +++ b/libmwereader/mwertest.cpp @@ -0,0 +1,7 @@ +#include <iostream> + + +int main(int ac, char**av) +{ + std::cout << "TEST" << std::endl; +}