Newer
Older
#ifndef LIBMWEREADER_MWE_H
#define LIBMWEREADER_MWE_H
#include <libcorpus2/io/reader.h>
public:
LexicalUnit(const std::string &base,
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > condition,
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > head_cond,
std::map<std::string, std::string> variables
);
virtual bool IsHere(const Wccl::SentenceContext& sc,
std::set<size_t> &out_position) = 0;
protected:
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > condition_;
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > head_cond_;
std::map<std::string, std::string> variables_;
std::string base_;
const Wccl::Position nowhere_;
};
class FixedLU : public LexicalUnit
{
public:
FixedLU(const std::string &base,
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > condition,
boost::shared_ptr<Wccl::Operator<Wccl::Bool> > head_cond,
std::map<std::string, std::string> variables
);
virtual bool IsHere(const Wccl::SentenceContext& sc,
std::set<size_t> &out_position);