bool EasyAnalyzer_equals(EasyAnalyzer *self, Obj *other) { if ((EasyAnalyzer*)other == self) { return true; } if (!Obj_Is_A(other, EASYANALYZER)) { return false; } EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); EasyAnalyzerIVARS *const ovars = EasyAnalyzer_IVARS((EasyAnalyzer*)other); if (!CB_Equals(ovars->language, (Obj*)ivars->language)) { return false; } return true; }
Hash* EasyAnalyzer_dump(EasyAnalyzer *self) { EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); EasyAnalyzer_Dump_t super_dump = SUPER_METHOD_PTR(EASYANALYZER, Lucy_EasyAnalyzer_Dump); Hash *dump = super_dump(self); Hash_Store_Str(dump, "language", 8, (Obj*)CB_Clone(ivars->language)); return dump; }
void EasyAnalyzer_destroy(EasyAnalyzer *self) { EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); DECREF(ivars->language); DECREF(ivars->tokenizer); DECREF(ivars->normalizer); DECREF(ivars->stemmer); SUPER_DESTROY(self, EASYANALYZER); }
Inversion* EasyAnalyzer_transform_text(EasyAnalyzer *self, CharBuf *text) { EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); Inversion *inv1 = StandardTokenizer_Transform_Text(ivars->tokenizer, text); Inversion *inv2 = Normalizer_Transform(ivars->normalizer, inv1); DECREF(inv1); inv1 = SnowStemmer_Transform(ivars->stemmer, inv2); DECREF(inv2); return inv1; }
EasyAnalyzer* EasyAnalyzer_init(EasyAnalyzer *self, const CharBuf *language) { Analyzer_init((Analyzer*)self); EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); ivars->language = CB_Clone(language); ivars->tokenizer = StandardTokenizer_new(); ivars->normalizer = Normalizer_new(NULL, true, false); ivars->stemmer = SnowStemmer_new(language); return self; }
Inversion* EasyAnalyzer_Transform_IMP(EasyAnalyzer *self, Inversion *inversion) { EasyAnalyzerIVARS *const ivars = EasyAnalyzer_IVARS(self); Inversion *inv1 = StandardTokenizer_Transform(ivars->tokenizer, inversion); Inversion *inv2 = Normalizer_Transform(ivars->normalizer, inv1); DECREF(inv1); inv1 = SnowStemmer_Transform(ivars->stemmer, inv2); DECREF(inv2); return inv1; }