Skip to content
Snippets Groups Projects
Select Git revision
  • ef241c447870fc344a2cdebabcc3066e047c43dc
  • master default protected
  • fix-words-ann
  • wccl-rules-migration
  • develop
5 results

parsingscope.h

Blame
  • 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