#include #include "ff.h" #include "ff_lm.h" #include "ff_csplit.h" #include "ff_wordalign.h" #include "ff_tagger.h" #include "ff_factory.h" #include "ff_ruleshape.h" #include "ff_bleu.h" #include "ff_lm_fsa.h" #include "ff_sample_fsa.h" boost::shared_ptr global_ff_registry; void register_feature_functions() { global_ff_registry->Register(new FFFactory); global_ff_registry->Register(new FFFactory >); // same as LM but using fsa wrapper global_ff_registry->Register(new FFFactory); // same as WordPenalty, but implemented using ff_fsa global_ff_registry->Register(new FFFactory >); global_ff_registry->Register(new FFFactory >); //TODO: use for all features the new Register which requires usage(...) #ifdef HAVE_RANDLM global_ff_registry->Register("RandLM", new FFFactory); #endif global_ff_registry->Register(new FFFactory); global_ff_registry->Register(new FFFactory); global_ff_registry->Register(new FFFactory); global_ff_registry->Register(new FFFactory); global_ff_registry->Register("RuleShape", new FFFactory); global_ff_registry->Register("RelativeSentencePosition", new FFFactory); global_ff_registry->Register("Model2BinaryFeatures", new FFFactory); global_ff_registry->Register("MarkovJump", new FFFactory); global_ff_registry->Register("MarkovJumpFClass", new FFFactory); global_ff_registry->Register("SourcePOSBigram", new FFFactory); global_ff_registry->Register("BlunsomSynchronousParseHack", new FFFactory); global_ff_registry->Register("AlignerResults", new FFFactory); global_ff_registry->Register("CSplit_BasicFeatures", new FFFactory); global_ff_registry->Register("CSplit_ReverseCharLM", new FFFactory); global_ff_registry->Register("Tagger_BigramIdentity", new FFFactory); global_ff_registry->Register("LexicalPairIdentity", new FFFactory); }