Newer
Older
#include <boost/algorithm/string.hpp>
namespace Corpus2{
bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>(
MWEReader::MWEReader(const Tagset &tagset, const std::string &filename)
: TokenReader(tagset), inner_filename_(filename)
{
// TODO implementataion
}
MWEReader::~MWEReader()
{
// TODO implementataion
}
Token* MWEReader::get_next_token()
{
// get whole sentence -> process it -> return token by token
return inner_reader_->get_next_token();
}
Sentence::Ptr MWEReader::get_next_sentence()
{
// TODO MWE stuff
return inner_reader_->get_next_sentence();
}
boost::shared_ptr<Chunk> MWEReader::get_next_chunk()
{
// get whole chunk -> process sentences -> return processed chunk
return inner_reader_->get_next_chunk();
}
void MWEReader::set_option(const std::string& option)
{
std::string inner = option.substr(6);
inner_reader_ = create_path_reader(inner, this->tagset(),
inner_filename_);
}
if(inner_reader_ == NULL)
throw Corpus2Error("Inner reader not initialised.");
// TODO MWE stuff
}
std::string MWEReader::get_option(const std::string& option) const
{
if(boost::algorithm::starts_with(option, "inner:")
&& inner_reader_ != NULL)
return option;
// TODO options for MWE
return inner_reader_->get_option(option);