From 6a12a604e88dd54c7356426281034b93149e8ddc Mon Sep 17 00:00:00 2001 From: minda <minda@kalafior.(none)> Date: Mon, 13 Feb 2012 23:07:50 +0100 Subject: [PATCH] New possibility in mwe_reader - new constructor --- libmwereader/CMakeLists.txt | 5 +++++ libmwereader/mwereader.cpp | 14 +++++++++----- libmwereader/mwereader.h | 1 + 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libmwereader/CMakeLists.txt b/libmwereader/CMakeLists.txt index 273ed43..da835e2 100644 --- a/libmwereader/CMakeLists.txt +++ b/libmwereader/CMakeLists.txt @@ -39,6 +39,11 @@ if(UNIX) install(TARGETS corpus2_mwereader LIBRARY DESTINATION lib) #install(TARGETS c2pqtest RUNTIME DESTINATION bin) + install( + DIRECTORY ./ + DESTINATION include/libmwereader + FILES_MATCHING PATTERN "*.h" + ) endif(UNIX) add_subdirectory(tests) diff --git a/libmwereader/mwereader.cpp b/libmwereader/mwereader.cpp index c30fad4..3f4bfa0 100644 --- a/libmwereader/mwereader.cpp +++ b/libmwereader/mwereader.cpp @@ -32,6 +32,13 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( mwes_counter=0; } + MWEReader::MWEReader(const Tagset &tagset, const std::string &filename, TokenReaderPtr reader) + : TokenReader(tagset), inner_filename_(filename) + { + mwes_counter=0; + inner_reader_ = reader; + } + MWEReader::~MWEReader() { // TODO implementataion @@ -151,7 +158,6 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( void MWEReader::set_option(const std::string& option) { - if(boost::algorithm::starts_with(option, "inner:")) { std::string inner = option.substr(6); inner_reader_ = create_path_reader(inner, this->tagset(), @@ -160,11 +166,11 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( currentSentence= boost::make_shared<Sentence>(); } if(boost::algorithm::starts_with(option, "mwefile:")) { - std::string mwefile = option.substr(8); boost::algorithm::trim(mwefile); - if(boost::filesystem::exists(mwefile)) + if(boost::filesystem::exists(mwefile)){ load_mwes(mwefile); + } else throw std::runtime_error("File "+ mwefile + " does not exists"); } @@ -215,10 +221,8 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( MWEParser parser(mwe_index_); parser.parse_file(filename); mwes_counter++; - if(parser.get_tagset().name() != tagset().name()) throw std::runtime_error( "Tagset in mwe file does not match reader tagset!" ); - } diff --git a/libmwereader/mwereader.h b/libmwereader/mwereader.h index 29eb1bf..bc2f80a 100644 --- a/libmwereader/mwereader.h +++ b/libmwereader/mwereader.h @@ -32,6 +32,7 @@ public: * \param filename corpus filename (MWE file is given in options) */ MWEReader(const Tagset& tagset, const std::string& filename); + MWEReader(const Tagset &tagset, const std::string &filename, TokenReaderPtr reader); ~MWEReader(); -- GitLab