Select Git revision
parsingscope.h
parsingscope.h 1003 B
#ifndef LIBWCCL_PARSER_PARSINGSCOPE_H
#define LIBWCCL_PARSER_PARSINGSCOPE_H
#include <libwccl/variables.h>
#include <libwccl/lexicon/lexicons.h>
#include <libwccl/wcclfile.h>
namespace Wccl {
class ParsingScope
{
public:
ParsingScope(const Corpus2::Tagset& tagset, const Lexicons& lexicons)
: tagset_(tagset),
variables_(new Variables()),
lexicons_(lexicons)
{
}
explicit ParsingScope(const WcclFile& file)
: tagset_(file.tagset()),
variables_(new Variables()),
lexicons_(file.get_lexicons())
{
}
const Corpus2::Tagset& tagset() const {
return tagset_;
}
Variables& variables() {
return *variables_;
}
const Variables& variables() const {
return *variables_;
}
const Lexicons& lexicons() const {
return lexicons_;
}
void reset_variables() {
variables_->reset_values();
}
private:
const Corpus2::Tagset& tagset_;
boost::shared_ptr<Variables> variables_;
const Lexicons& lexicons_;
};
} /* end ns Wccl */
#endif // LIBWCCL_PARSER_PARSINGSCOPE_H