Newer
Older
#ifndef LIBWCCL_PARSER_PARSINGSCOPE_H
#define LIBWCCL_PARSER_PARSINGSCOPE_H
#include <libwccl/variables.h>
#include <libwccl/wcclfile.h>
namespace Wccl {
class ParsingScope
{
public:
ParsingScope(const Corpus2::Tagset& tagset, const Lexicons& lexicons)
lexicons_(lexicons)
explicit ParsingScope(const WcclFile& file)
: tagset_(file.tagset()),
variables_(),
lexicons_(file.get_lexicons())
{
}
ParsingScope new_scope() const {
return ParsingScope(tagset_, lexicons_);
}
const Corpus2::Tagset& tagset() const {
return tagset_;
}
Variables& variables() {
return variables_;
}
const Variables& variables() const {
return variables_;
const Lexicons& lexicons() const {
return lexicons_;
private:
const Corpus2::Tagset& tagset_;
Variables variables_;
const Lexicons& lexicons_;
};
} /* end ns Wccl */
#endif // LIBWCCL_PARSER_PARSINGSCOPE_H