[libvoikko] Using the Hfst analyser outside of AnalyzerFactory

Francis Tyers ftyers at prompsit.com
Thu Sep 26 12:25:19 EEST 2013


El dc 25 de 09 de 2013 a les 22:06 +0000, en/na Francis Tyers va
escriure:
> El dc 25 de 09 de 2013 a les 20:43 +0300, en/na Harri Pitkänen va
> escriure:
> > On Wednesday 25 September 2013 14:51:03 Francis Tyers wrote:
> > > In grammar/GrammarChecker.hpp, I have defined:
> > > 
> > > 		RuleEngine * ruleEngine;
> > > 		GcCache gc_cache;
> > > 		morphology::Analyzer * analyser ;
> > > 
> > > The class grammar/CgGrammarChecker.hpp extends this and loads:
> > > 
> > >   * An instance of CgRuleEngine into ruleEngine
> > > 
> > > I would like to load an instance of HfstAnalyzer into analyser, but I
> > > don't see how I can create an instance without using the
> > > AnalyzerFactory, which only allows creation using a setup::Dictionary
> > > object.
> > > 
> > > Would it be better to edit AnalyzerFactory and add a method to create
> > > analysers only from a path, or is there some other way to get around
> > > this ?
> > 
> > I think you can just call
> > 
> >   new morphology::HfstAnalyzer(path);
> > 
> > The constructor is missing an implementation right now but the parameter there 
> > is supposed to contain the path to the directory. So no need to use 
> > AnalyzerFactory at all. In fact AnalyzerFactory is meant to be used only when 
> > you don't know (and don't care) about the concrete implementation that will be 
> > created. There is no need to use it when you know you want HfstAnalyzer.
> 
> If I try:
> 
>         analyser = new morphology::HfstAnalyzer(analyser);
> 
> I get:
> 
> grammar/CgGrammarChecker.cpp: In constructor
> 'libvoikko::grammar::CgGrammarChecker::CgGrammarChecker(const string&,
> const string&)':
> grammar/CgGrammarChecker.cpp:50:50: error: no match for 'operator=' in
> 'analyser = (operator new(8ul), (<statement>,
> ((libvoikko::morphology::HfstAnalyzer*)<anonymous>)))'

Fixed it, parameter had the same name as a class member :)

Fran




More information about the Libvoikko mailing list